| 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 271ff8da1f47b25e9845f9f29f518e3dbfed3d47..84f412cd1531b45d7f19dd3f0c175d47042e5b1a 100644
|
| --- a/pkg/compiler/lib/src/compile_time_constants.dart
|
| +++ b/pkg/compiler/lib/src/compile_time_constants.dart
|
| @@ -1043,19 +1043,17 @@ class ConstructorEvaluator extends CompileTimeConstantEvaluator {
|
| assert(superClass != null);
|
| assert(superClass.resolutionState == STATE_DONE);
|
|
|
| - Selector selector =
|
| - new Selector.callDefaultConstructor(enclosingClass.library);
|
| -
|
| FunctionElement targetConstructor =
|
| - superClass.lookupConstructor(selector);
|
| - if (targetConstructor == null) {
|
| - compiler.internalError(functionNode,
|
| - "No default constructor available.");
|
| + superClass.lookupDefaultConstructor();
|
| + // If we do not find a default constructor, an error was reported
|
| + // already and compilation will fail anyway. So just ignore that case.
|
| + if (targetConstructor != null) {
|
| + Selector selector =
|
| + new Selector.callDefaultConstructor(enclosingClass.library);
|
| + List<AstConstant> compiledArguments = evaluateArgumentsToConstructor(
|
| + functionNode, selector, const Link<Node>(), targetConstructor);
|
| + evaluateSuperOrRedirectSend(compiledArguments, targetConstructor);
|
| }
|
| - List<AstConstant> compiledArguments =
|
| - evaluateArgumentsToConstructor(
|
| - functionNode, selector, const Link<Node>(), targetConstructor);
|
| - evaluateSuperOrRedirectSend(compiledArguments, targetConstructor);
|
| }
|
| }
|
| }
|
|
|