Chromium Code Reviews| Index: compiler/java/com/google/dart/compiler/resolver/TopLevelElementBuilder.java |
| diff --git a/compiler/java/com/google/dart/compiler/resolver/TopLevelElementBuilder.java b/compiler/java/com/google/dart/compiler/resolver/TopLevelElementBuilder.java |
| index 116f0a84ed6e8dd83421cf197303ff9c8335c966..d9e3dee109b3aeb22868ef8d395b132cdde3fa98 100644 |
| --- a/compiler/java/com/google/dart/compiler/resolver/TopLevelElementBuilder.java |
| +++ b/compiler/java/com/google/dart/compiler/resolver/TopLevelElementBuilder.java |
| @@ -20,6 +20,7 @@ import com.google.dart.compiler.ast.DartNodeTraverser; |
| import com.google.dart.compiler.ast.DartTypeParameter; |
| import com.google.dart.compiler.ast.DartUnit; |
| import com.google.dart.compiler.ast.LibraryUnit; |
| +import com.google.dart.compiler.ast.Modifiers; |
| import com.google.dart.compiler.common.SourceInfo; |
| import com.google.dart.compiler.type.Types; |
| @@ -150,7 +151,12 @@ public class TopLevelElementBuilder { |
| @Override |
| public Void visitField(DartField node) { |
| - node.setSymbol(Elements.fieldFromNode(node, library, node.getModifiers())); |
| + Modifiers modifiers = node.getModifiers(); |
| + if (modifiers.isFinal()) { |
| + // final toplevel fields are implicitly compile-time constants. |
|
ngeoffray
2011/10/17 10:59:38
Again, since they must all be compile-time constan
|
| + modifiers = modifiers.makeConstant(); |
| + } |
| + node.setSymbol(Elements.fieldFromNode(node, library, modifiers)); |
| return null; |
| } |
| } |