| Index: pkg/compiler/lib/src/resolution/constructors.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/constructors.dart b/pkg/compiler/lib/src/resolution/constructors.dart
|
| index 7b6808fcf4e62ec0c2cbc8d9857b1a76be2ba3a8..76aa6fcad3fac71f63845a7dd689813f743f9a14 100644
|
| --- a/pkg/compiler/lib/src/resolution/constructors.dart
|
| +++ b/pkg/compiler/lib/src/resolution/constructors.dart
|
| @@ -123,9 +123,11 @@ class InitializerResolver {
|
| reporter.reportErrorMessage(
|
| init, MessageKind.INVALID_RECEIVER_IN_INITIALIZER);
|
| }
|
| - registry.useElement(init, target);
|
| - registry.registerStaticUse(target);
|
| - checkForDuplicateInitializers(target, init);
|
| + if (target != null) {
|
| + registry.useElement(init, target);
|
| + registry.registerStaticUse(target);
|
| + checkForDuplicateInitializers(target, init);
|
| + }
|
| // Resolve initializing value.
|
| ResolutionResult result = visitor.visitInStaticContext(
|
| init.arguments.head,
|
| @@ -179,9 +181,10 @@ class InitializerResolver {
|
| call,
|
| className,
|
| constructorSelector);
|
| -
|
| - registry.useElement(call, calledConstructor);
|
| - registry.registerStaticUse(calledConstructor);
|
| + if (calledConstructor != null) {
|
| + registry.useElement(call, calledConstructor);
|
| + registry.registerStaticUse(calledConstructor);
|
| + }
|
| if (isConst) {
|
| if (isValidAsConstant &&
|
| calledConstructor.isConst &&
|
| @@ -228,8 +231,10 @@ class InitializerResolver {
|
| functionNode,
|
| className,
|
| constructorSelector);
|
| - registry.registerImplicitSuperCall(calledConstructor);
|
| - registry.registerStaticUse(calledConstructor);
|
| + if (calledConstructor != null) {
|
| + registry.registerImplicitSuperCall(calledConstructor);
|
| + registry.registerStaticUse(calledConstructor);
|
| + }
|
|
|
| if (isConst && isValidAsConstant) {
|
| return new ConstructedConstantExpression(
|
|
|