Bug 577535 - NPE during hierarchy resolving on behalf of callin marker
creator
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
index b5616d4..7121cdf 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
@@ -358,10 +358,12 @@
for (int i = 0; i < this.memberTypes.length; i++) {
TypeDeclaration memberType = this.memberTypes[i];
memberType.modifiers |= ExtraCompilerModifiers.AccRole;
- if (CharOperation.equals(memberType.name, IOTConstants.OTCONFINED))
+ if (CharOperation.equals(memberType.name, IOTConstants.OTCONFINED)) {
otconfined = memberType;
- else if (CharOperation.equals(memberType.name, IOTConstants.CONFINED))
+ } else if (CharOperation.equals(memberType.name, IOTConstants.CONFINED)) {
confined = memberType;
+ confined.modifiers |= IOTConstants.AccSynthIfc; // synthetically mark as synthetic :)
+ }
}
if (confined != null && otconfined != null) {
// link roles that are split manually (without using RoleSplitter).