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.
 		}