Index: compiler/java/com/google/dart/compiler/resolver/Resolver.java |
diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java |
index 6f660f115b1ca579675624f982bc4668edbb4008..4721b98aed25209a03404dbcf4996217f548951d 100644 |
--- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java |
+++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java |
@@ -40,7 +40,6 @@ import com.google.dart.compiler.ast.DartMethodInvocation; |
import com.google.dart.compiler.ast.DartNamedExpression; |
import com.google.dart.compiler.ast.DartNewExpression; |
import com.google.dart.compiler.ast.DartNode; |
-import com.google.dart.compiler.ast.DartNodeTraverser; |
import com.google.dart.compiler.ast.DartParameter; |
import com.google.dart.compiler.ast.DartPropertyAccess; |
import com.google.dart.compiler.ast.DartRedirectConstructorInvocation; |
@@ -318,7 +317,7 @@ public class Resolver { |
} |
for (DartParameter parameter : parameters) { |
// Then resolve the default values. |
- resolveConstantExpression(parameter.getDefaultExpr()); |
+ resolve(parameter.getDefaultExpr()); |
} |
if ((functionNode.getBody() == null) |
@@ -338,18 +337,6 @@ public class Resolver { |
return member; |
} |
- private void resolveConstantExpression(DartExpression expr) { |
- resolve(expr); |
- checkConstantExpression(expr); |
- } |
- |
- private void checkConstantExpression(DartExpression expr) { |
- if (expr != null) { |
- DartNodeTraverser<Void> v = CompileTimeConstVisitor.create(typeProvider, context); |
- expr.accept(v); |
- } |
- } |
- |
@Override |
public Element visitField(DartField node) { |
DartExpression expression = node.getValue(); |
@@ -364,7 +351,6 @@ public class Resolver { |
if (expression != null) { |
resolve(expression); |
- checkConstantExpression(expression); |
// Now, this constant has a type. Save it for future reference. |
Element element = node.getSymbol(); |
if (expression.getType() != null) { |
@@ -399,7 +385,7 @@ public class Resolver { |
@Override |
public Element visitParameter(DartParameter x) { |
Element element = super.visitParameter(x); |
- resolveConstantExpression(x.getDefaultExpr()); |
+ resolve(x.getDefaultExpr()); |
getContext().declare(element); |
return element; |
} |
@@ -875,15 +861,8 @@ public class Resolver { |
@Override |
public Element visitNewExpression(DartNewExpression x) { |
- |
this.visit(x.getArgs()); |
- if (x.isConst()) { |
- for (DartExpression arg : x.getArgs()) { |
- checkConstantExpression(arg); |
- } |
- } |
- |
Element element = x.getConstructor().accept(getContext().new Selector() { |
// Only 'new' expressions can have a type in a property access. |
@Override public Element visitTypeNode(DartTypeNode type) { |
@@ -1064,7 +1043,7 @@ public class Resolver { |
if (field.isStatic()) { |
onError(x, ResolverErrorCode.CANNOT_INIT_STATIC_FIELD_IN_INITIALIZER); |
} else if (field.getModifiers().isAbstractField()) { |
- /* |
+ /* |
* If we get here then we know that this is a property accessor and not a true field. |
* If there was a field and property accessor with the same name a name collision error |
* would keep us from reaching this point. |
@@ -1294,7 +1273,7 @@ public class Resolver { |
} else if (isImplicitlyInitialized && (variable.getValue() != null)) { |
onError(variable.getName(), ResolverErrorCode.CANNOT_BE_INITIALIZED); |
} else if (modifiers.isStatic() && modifiers.isFinal() && variable.getValue() != null) { |
- resolveConstantExpression(variable.getValue()); |
+ resolve(variable.getValue()); |
node.setType(variable.getValue().getType()); |
} |
} |