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

Unified Diff: pkg/compiler/lib/src/serialization/modelz.dart

Issue 1881013002: Expand ResolvedAst to handle synthetic constructors. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments + fix test, cps and compilation units for injected members. Created 4 years, 8 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/serialization/modelz.dart
diff --git a/pkg/compiler/lib/src/serialization/modelz.dart b/pkg/compiler/lib/src/serialization/modelz.dart
index e06cb037efeeba8d0d085cf3b2192ddff6c754dd..b34f787af495ddf812127d047571bba43e0a6172 100644
--- a/pkg/compiler/lib/src/serialization/modelz.dart
+++ b/pkg/compiler/lib/src/serialization/modelz.dart
@@ -588,6 +588,7 @@ abstract class LibraryMemberMixin implements DeserializedElementZ {
abstract class ClassMemberMixin implements DeserializedElementZ {
ClassElement _class;
+ CompilationUnitElement _compilationUnit;
@override
Element get enclosingElement => enclosingClass;
@@ -607,7 +608,16 @@ abstract class ClassMemberMixin implements DeserializedElementZ {
LibraryElement get library => enclosingClass.library;
@override
- CompilationUnitElement get compilationUnit => enclosingClass.compilationUnit;
+ CompilationUnitElement get compilationUnit {
+ if (_compilationUnit == null) {
+ _compilationUnit =
+ _decoder.getElement(Key.COMPILATION_UNIT, isOptional: true);
+ if (_compilationUnit == null) {
+ _compilationUnit = enclosingClass.compilationUnit;
+ }
+ }
+ return _compilationUnit;
+ }
}
abstract class InstanceMemberMixin implements DeserializedElementZ {

Powered by Google App Engine
This is Rietveld 408576698