Index: pkg/compiler/lib/src/compile_time_constants.dart |
diff --git a/pkg/compiler/lib/src/compile_time_constants.dart b/pkg/compiler/lib/src/compile_time_constants.dart |
index 724e6f669eca41b3b3742ed62d178f622b6ba15a..82cc6de475a33f0a2bab749c9271307236783804 100644 |
--- a/pkg/compiler/lib/src/compile_time_constants.dart |
+++ b/pkg/compiler/lib/src/compile_time_constants.dart |
@@ -1187,7 +1187,8 @@ class ConstructorEvaluator extends CompileTimeConstantEvaluator { |
* the [fieldValues] map. |
*/ |
void evaluateConstructorInitializers() { |
- if (constructor.isSynthesized) { |
+ ResolvedAst resolvedAst = constructor.resolvedAst; |
+ if (resolvedAst.kind != ResolvedAstKind.PARSED) { |
List<AstConstant> compiledArguments = <AstConstant>[]; |
Function compileArgument = (element) => definitions[element]; |
@@ -1198,7 +1199,7 @@ class ConstructorEvaluator extends CompileTimeConstantEvaluator { |
evaluateSuperOrRedirectSend(compiledArguments, target); |
return; |
} |
- FunctionExpression functionNode = constructor.node; |
+ FunctionExpression functionNode = resolvedAst.node; |
NodeList initializerList = functionNode.initializers; |
bool foundSuperOrRedirect = false; |