Summary: | [1.5] NPE when saving File with forEach loop | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Karsten Becker <java> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 3.0 | ||
Target Milestone: | 3.1 M1 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Karsten Becker
2004-07-11 14:03:13 EDT
This code does Cause the error if you put them into the according Compilation Units. Seems to be fixed with latest nightly. 200407110010 I think this is very closly related: And caused by Set<FrameWithEvents> channel = channels.get(0); for (Iterator<FrameWithEvents> iter = channel.iterator(); iter.hasNext();) { Set<FrameWithEvents> element; element = (Set<FrameWithEvents>) iter.next(); } !ENTRY org.eclipse.jdt.core 4 4 Jul 13, 2004 02:29:50.12 !MESSAGE Exception occurred during problem detection: !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.ast.CastExpression.checkCastTypesCompatibility(CastExpression.java:188) at org.eclipse.jdt.internal.compiler.ast.CastExpression.resolveType(CastExpression.java:522) at org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:157) at org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:449) at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101) at org.eclipse.jdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:297) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:395) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:134) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:373) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:920) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:969) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:280) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:564) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:175) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:148) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:183) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:543) at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:974) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:58) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:739) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1100) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:88) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:129) at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86) at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:96) at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:75) at org.eclipse.jdt.internal.ui.text.JavaReconciler.process(JavaReconciler.java:315) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:204) Reproduced with latest scenario. Was missing a null check when cast from class to interface. Added regression test GenericTypeTest#test252. Fixed. |