| 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.
|
| + modifiers = modifiers.makeConstant();
|
| + }
|
| + node.setSymbol(Elements.fieldFromNode(node, library, modifiers));
|
| return null;
|
| }
|
| }
|
|
|