Index: compiler/java/com/google/dart/compiler/resolver/CompileTimeConstantAnalyzer.java |
diff --git a/compiler/java/com/google/dart/compiler/resolver/CompileTimeConstantAnalyzer.java b/compiler/java/com/google/dart/compiler/resolver/CompileTimeConstantAnalyzer.java |
index 6a6e2953a5273d92ff9368623963c95fbd1ab9df..352be8eebd1639e05a1a81cb3632e39062b79c3c 100644 |
--- a/compiler/java/com/google/dart/compiler/resolver/CompileTimeConstantAnalyzer.java |
+++ b/compiler/java/com/google/dart/compiler/resolver/CompileTimeConstantAnalyzer.java |
@@ -129,16 +129,18 @@ public class CompileTimeConstantAnalyzer { |
* determined. |
*/ |
private Type getMostSpecificType(DartNode node) { |
- Element element = (Element) node.getSymbol(); |
- Type type = inferredTypes.get(node); |
- if (type != null) { |
- return type; |
- } |
- if (element != null) { |
- type = element.getType(); |
+ if (node != null) { |
+ Element element = (Element) node.getSymbol(); |
+ Type type = inferredTypes.get(node); |
if (type != null) { |
return type; |
} |
+ if (element != null) { |
+ type = element.getType(); |
+ if (type != null) { |
+ return type; |
+ } |
+ } |
} |
return dynamicType; |
} |