Bug 416781 - reconcile compiler changes from BETA_JAVA8 with OT/J
- integrate role type handling with new (Un)AnnotatedTypeSystem
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/UnannotatedTypeSystem.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/UnannotatedTypeSystem.java
index 0a855c0..8050a9f 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/UnannotatedTypeSystem.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/UnannotatedTypeSystem.java
@@ -64,7 +64,16 @@
if (type.hasTypeAnnotations() && nakedType == null)
throw new IllegalStateException();
if (nakedType != null)
+//{ObjectTeams: keep role information
+ // FIXME(SH): mix role info into naked of annotated type
+ {
+ if (!type.hasTypeAnnotations() && DependentTypeBinding.isDependentType(type))
+ return type;
+// orig:
return nakedType;
+// :giro
+ }
+// SH}
this.types[type.id] = new TypeBinding[4]; // well known type, assigned id elsewhere.
}