Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2014-11-23 22:19:50 +0000
committerStephan Herrmann2014-11-23 22:19:50 +0000
commit3cfd5d1146a695649beb63d6f1e6996e9f067d0e (patch)
tree740cfd481db5fb7e361a39dda5f62f128fa60882
parent8e7340d32fcde9638ba2eab7350e0c5d13a3fb32 (diff)
downloadorg.eclipse.objectteams-3cfd5d1146a695649beb63d6f1e6996e9f067d0e.tar.gz
org.eclipse.objectteams-3cfd5d1146a695649beb63d6f1e6996e9f067d0e.tar.xz
org.eclipse.objectteams-3cfd5d1146a695649beb63d6f1e6996e9f067d0e.zip
Bug 448378 - [ot] NPE in TeamAnchor.getBestNameFromStat
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lookup/TeamAnchor.java2
-rw-r--r--testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/regression/ReportedBugs.java23
2 files changed, 24 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lookup/TeamAnchor.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lookup/TeamAnchor.java
index 04b31e6a7..143659451 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lookup/TeamAnchor.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lookup/TeamAnchor.java
@@ -243,7 +243,7 @@ public abstract class TeamAnchor extends Binding implements ITeamAnchor {
} else if (expr instanceof FieldReference) {
// a field reference => append one element to the receiver's bestNamePath:
FieldReference fieldRef = (FieldReference)expr;
- if (fieldRef.binding.isFinal())
+ if (fieldRef.binding != null && fieldRef.binding.isFinal())
{
ITeamAnchor[] prefix = getBestNameFromStat(fieldRef.receiver);
if (prefix == null)
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/regression/ReportedBugs.java b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/regression/ReportedBugs.java
index c57ce4502..8b47b30cc 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/regression/ReportedBugs.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/regression/ReportedBugs.java
@@ -5398,4 +5398,27 @@ public class ReportedBugs extends AbstractOTJLDTest {
"}\n"
});
}
+
+ public void testBug448378() {
+ runNegativeTest(
+ new String[] {
+ "C.java",
+ "public class C {\n" +
+ " \n" +
+ " void test() {\n" +
+ " try {\n" +
+ " final C c = missing().v;\n" +
+ " } finally {\n" +
+ " System.out.println(0); \n" +
+ " }\n" +
+ " }\n" +
+ "}\n"
+ },
+ "----------\n" +
+ "1. ERROR in C.java (at line 5)\n" +
+ " final C c = missing().v;\n" +
+ " ^^^^^^^\n" +
+ "The method missing() is undefined for the type C\n" +
+ "----------\n");
+ }
}

Back to the top