Community
Participate
Working Groups
Starting with the example from bug 316148, if the precedence declaration within MyRoleB is (illegally) changed to precedence MyRoleB.bl1, MyRoleB.bl2; the following exception is thrown: java.lang.NullPointerException at org.eclipse.objectteams.otdt.internal.core.compiler.lookup.PrecedenceBinding.hasCommonBaseMethod(PrecedenceBinding.java:112) at org.eclipse.objectteams.otdt.internal.core.compiler.ast.PrecedenceDeclaration.mergePrecedences(PrecedenceDeclaration.java:255) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.mergePrecedences(TypeDeclaration.java:1286) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyseCode(TypeDeclaration.java:1257) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode(TypeDeclaration.java:599) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.analyseCode(CompilationUnitDeclaration.java:146) at org.eclipse.objectteams.otdt.internal.core.compiler.control.Dependencies.establishUnitState(Dependencies.java:356) at org.eclipse.objectteams.otdt.internal.core.compiler.control.Dependencies.ensureState(Dependencies.java:260) at org.eclipse.objectteams.otdt.internal.core.compiler.control.Dependencies.ensureState(Dependencies.java:252) at org.eclipse.objectteams.otdt.internal.core.compiler.control.Dependencies.ensureState(Dependencies.java:252) at org.eclipse.objectteams.otdt.internal.core.compiler.control.Dependencies.ensureState(Dependencies.java:215) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:979) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1036) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder._OT$process$orig(CompilationUnitProblemFinder.java:221) ... 23 more
Created attachment 171801 [details] Fix This patch ensures we can cope with elements of a PrecedenceBinding being null due to failed resolving. Corresponding test is test4127_precedenceDeclaration17()
Patch has been committed as r481,
Verified using build 201007011455.