Bug 384991 - [java8] adopt and merge implementation of Java 8 from JDT's
BETA_JAVA8 branch
- more reconciling of role wrapping and type annotations
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java
index 5575ba7..811e33c 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java
@@ -183,6 +183,13 @@
// SH}
}
+//{ObjectTeams:
+ public ParameterizedTypeBinding getParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments,
+ ITeamAnchor teamAnchor, int valueParamPosition, ReferenceBinding enclosingType) {
+ return getParameterizedType(genericType, typeArguments, teamAnchor, valueParamPosition, enclosingType, Binding.NO_ANNOTATIONS);
+ }
+// SH}
+
public RawTypeBinding getRawType(ReferenceBinding genericType, ReferenceBinding enclosingType, AnnotationBinding [] annotations) {
if (genericType.hasTypeAnnotations())
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/RoleTypeCreator.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/RoleTypeCreator.java
index 8dfc733..a929333 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/RoleTypeCreator.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/RoleTypeCreator.java
@@ -550,6 +550,9 @@
ReferenceBinding type = rawUnresolved.resolve(environment, convertGenericToRawType);
return (ReferenceBinding) maybeWrapUnqualifiedRoleType(scope, site, type, typedNode, originalReporter);
}
+ @Override public boolean hasTypeAnnotations() { return rawUnresolved.hasTypeAnnotations(); }
+ @Override public boolean hasNullTypeAnnotations() { return rawUnresolved.hasNullTypeAnnotations(); }
+ @Override public AnnotationBinding[] getAnnotations() { return rawUnresolved.getAnnotations(); }
};
}
if (typeToWrap instanceof IntersectionCastTypeBinding) { // FIXME (recurse?)