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

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

Issue 1927963002: Support compilation of Hello World (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes 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
« no previous file with comments | « pkg/compiler/lib/src/resolution/members.dart ('k') | pkg/compiler/lib/src/ssa/builder.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2bfb6e13987cb7c3029e9e077c9940ef56bbdeb6..c7a347a1635086928df517c249a0cdcb560f1f66 100644
--- a/pkg/compiler/lib/src/serialization/modelz.dart
+++ b/pkg/compiler/lib/src/serialization/modelz.dart
@@ -64,17 +64,12 @@ abstract class ElementZ extends Element with ElementCommon {
FunctionElement asFunctionElement() => null;
@override
- Scope buildScope() => _unsupported('analyzableElement');
+ Scope buildScope() => _unsupported('buildScope');
@override
ClassElement get enclosingClass => null;
@override
- Element get enclosingClassOrCompilationUnit {
- return _unsupported('enclosingClassOrCompilationUnit');
- }
-
- @override
LibraryElement get implementationLibrary => library;
@override
@@ -110,9 +105,8 @@ abstract class ElementZ extends Element with ElementCommon {
@override
bool get isStatic => false;
- // TODO(johnniwinther): Find a more precise semantics for this.
@override
- bool get isSynthesized => true;
+ bool get isSynthesized => false;
@override
bool get isTopLevel => false;
@@ -133,10 +127,14 @@ abstract class DeserializedElementZ extends ElementZ {
@override
String get name => _decoder.getString(Key.NAME);
+ // TODO(johnniwinther): Should this be cached?
+ @override
+ int get sourceOffset => _decoder.getInt(Key.OFFSET, isOptional: true);
+
@override
SourceSpan get sourcePosition {
// TODO(johnniwinther): Should this be cached?
- int offset = _decoder.getInt(Key.OFFSET, isOptional: true);
+ int offset = sourceOffset;
if (offset == null) return null;
Uri uri = _decoder.getUri(Key.URI, isOptional: true);
if (uri == null) {
@@ -328,6 +326,9 @@ class AbstractFieldElementZ extends ElementZ implements AbstractFieldElement {
Element get enclosingElement => _canonicalElement.enclosingElement;
@override
+ int get sourceOffset => _canonicalElement.sourceOffset;
+
+ @override
SourceSpan get sourcePosition => _canonicalElement.sourcePosition;
@override
@@ -768,23 +769,9 @@ abstract class ClassElementMixin implements ElementZ, ClassElement {
ElementKind get kind => ElementKind.CLASS;
@override
- void addBackendMember(Element element) => _unsupported('addBackendMember');
-
- @override
- void forEachBackendMember(void f(Element member)) {
- _unsupported('forEachBackendMember');
- }
-
- @override
- bool get hasBackendMembers => _unsupported('hasBackendMembers');
-
- @override
bool get hasConstructor => _unsupported('hasConstructor');
@override
- bool hasFieldShadowedBy(Element fieldMember) => _unsupported('');
-
- @override
bool get hasIncompleteHierarchy => _unsupported('hasIncompleteHierarchy');
@override
@@ -794,11 +781,6 @@ abstract class ClassElementMixin implements ElementZ, ClassElement {
bool get isEnumClass => false;
@override
- Element lookupBackendMember(String memberName) {
- return _unsupported('lookupBackendMember');
- }
-
- @override
ConstructorElement lookupDefaultConstructor() {
ConstructorElement constructor = lookupConstructor("");
if (constructor != null && constructor.parameters.isEmpty) {
@@ -808,9 +790,6 @@ abstract class ClassElementMixin implements ElementZ, ClassElement {
}
@override
- void reverseBackendMembers() => _unsupported('reverseBackendMembers');
-
- @override
ClassElement get superclass => supertype != null ? supertype.element : null;
@override
@@ -1035,6 +1014,9 @@ class UnnamedMixinApplicationElementZ extends ElementZ
InterfaceType get mixinType => interfaces.head;
@override
+ int get sourceOffset => _subclass.sourceOffset;
+
+ @override
SourceSpan get sourcePosition => _subclass.sourcePosition;
}
@@ -1064,7 +1046,10 @@ abstract class ConstructorElementZ extends DeserializedElementZ
ParametersMixin,
TypedElementMixin,
MemberElementMixin
- implements ConstructorElement {
+ implements
+ ConstructorElement,
+ // TODO(johnniwinther): Sort out whether a constructor is a method.
+ MethodElement {
ConstantConstructor _constantConstructor;
ConstructorElement _effectiveTarget;
@@ -1129,13 +1114,13 @@ abstract class ConstructorElementZ extends DeserializedElementZ
@override
ConstructorElement get immediateRedirectionTarget => null;
+ // TODO(johnniwinther): Should serialization support erroneous element
+ // relations?
@override
- bool get isEffectiveTargetMalformed {
- return _unsupported('isEffectiveTargetMalformed');
- }
+ bool get isEffectiveTargetMalformed => false;
@override
- bool get isCyclicRedirection => _unsupported('isCyclicRedirection');
+ bool get isCyclicRedirection => false;
@override
bool get isRedirectingFactory => false;
@@ -1158,6 +1143,9 @@ class GenerativeConstructorElementZ extends ConstructorElementZ {
@override
bool get isRedirectingGenerative => _decoder.getBool(Key.IS_REDIRECTING);
+
+ @override
+ bool get isSynthesized => definingConstructor != null;
}
class FactoryConstructorElementZ extends ConstructorElementZ {
@@ -1298,6 +1286,9 @@ class ForwardingConstructorElementZ extends ElementZ
bool get isRedirectingGenerative => false;
@override
+ bool get isSynthesized => true;
+
+ @override
ElementKind get kind => ElementKind.GENERATIVE_CONSTRUCTOR;
@override
@@ -1327,6 +1318,9 @@ class ForwardingConstructorElementZ extends ElementZ
PrefixElement get redirectionDeferredPrefix => null;
@override
+ int get sourceOffset => enclosingClass.sourceOffset;
+
+ @override
SourceSpan get sourcePosition => enclosingClass.sourcePosition;
@override
@@ -1806,6 +1800,9 @@ class SyntheticTypeVariableElementZ extends ElementZ
LibraryElement get library => typeDeclaration.library;
@override
+ int get sourceOffset => typeDeclaration.sourceOffset;
+
+ @override
SourceSpan get sourcePosition => typeDeclaration.sourcePosition;
}
« no previous file with comments | « pkg/compiler/lib/src/resolution/members.dart ('k') | pkg/compiler/lib/src/ssa/builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698