Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Unified Diff: pkg/compiler/lib/src/resolution/constructors.dart

Issue 1394923003: Use WorldImpact for element dependencies in deferred_load (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698