| 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 11d56c963208cbab4ea692f841cc3e200f90de45..ea9d6654a952a323b50ba36e38e02561aeedfb3b 100644
|
| --- a/pkg/compiler/lib/src/compile_time_constants.dart
|
| +++ b/pkg/compiler/lib/src/compile_time_constants.dart
|
| @@ -1021,19 +1021,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);
|
| }
|
| }
|
| }
|
|
|