Bug 483955: [compiler] NPE in Scope.connectTypeVariables after jdt.core
update to 20151208-0800
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 b2b87ff..98f4f35 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
@@ -1047,11 +1047,16 @@
boolean declaresNullTypeAnnotation = false;
for (int i = 0; i < paramLength; i++) {
resolveTypeParameter(typeParameters[i]);
- if (typeParameters[i].binding != null) // FIXME {ObjectTeams why null? see https://bugs.eclipse.org/483955
- declaresNullTypeAnnotation |= typeParameters[i].binding.hasNullTypeAnnotations();
+//{ObjectTeams: TypeValueParameter has no 'binding':
+ if (!(typeParameters[i] instanceof TypeValueParameter))
+// SH}
+ declaresNullTypeAnnotation |= typeParameters[i].binding.hasNullTypeAnnotations();
}
if (declaresNullTypeAnnotation)
for (int i = 0; i < paramLength; i++)
+//{ObjectTeams: TypeValueParameter has no 'binding':
+ if (!(typeParameters[i] instanceof TypeValueParameter))
+// SH}
typeParameters[i].binding.updateTagBits(); // <T extends List<U>, @NonNull U> --> tag T as having null type annotations
return noProblems;
}