Fix regression in ExtracTempTest18 (change in PSTR) and add missing type
annotations in more locations
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java
index 93fac3c..ce143f7 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java
@@ -457,7 +457,7 @@
return this.resolvedType;
// feed more parameters into createParameterizedType:
- AnnotationBinding[] currentAnnotations = currentType.getAnnotations();
+ AnnotationBinding[] currentAnnotations = currentType.getTypeAnnotations();
ITeamAnchor anchor = null;
int valParPos = -1;
if (currentType instanceof DependentTypeBinding) {
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java
index 2e82bf9..f9881e0 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java
@@ -569,7 +569,7 @@
if (originalParameterizedType.isRoleType()) {
DependentTypeBinding originalRole = (DependentTypeBinding) originalParameterizedType;
return originalParameterizedType.environment.createParameterizedType(
- originalParameterizedType.genericType(), substitutedArguments, originalRole._teamAnchor, originalRole._valueParamPosition, substitutedEnclosing, Binding.NO_ANNOTATIONS);
+ originalParameterizedType.genericType(), substitutedArguments, originalRole._teamAnchor, originalRole._valueParamPosition, substitutedEnclosing, originalRole.getTypeAnnotations());
}
// SH}
return originalParameterizedType.environment.createParameterizedType(
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/model/TeamModel.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/model/TeamModel.java
index 645f29a..73c5d8a 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/model/TeamModel.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/model/TeamModel.java
@@ -611,9 +611,9 @@
}
VariableBinding anchor = enclosingTeam.getTeamModel().getTThis();
if (roleType.isParameterizedType()) {
- // consult original role type for type arguments:
+ // consult original role type for type arguments & type annotations:
ParameterizedTypeBinding ptb = (ParameterizedTypeBinding)roleType;
- TypeBinding parameterized = ptb.environment.createParameterizedType(roleRefType, ptb.arguments, anchor, -1, roleRefType.enclosingType(), Binding.NO_ANNOTATIONS);
+ TypeBinding parameterized = ptb.environment.createParameterizedType(roleRefType, ptb.arguments, anchor, -1, roleRefType.enclosingType(), ptb.getTypeAnnotations());
if (dimensions > 0)
return ptb.environment.createArrayType(parameterized, dimensions);
return parameterized;