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

Side by Side Diff: pkg/compiler/lib/src/serialization/modelz.dart

Issue 1417103002: Add ElementKind for factory constructors. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. 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 unified diff | Download patch
« no previous file with comments | « pkg/compiler/lib/src/resolution/resolution.dart ('k') | pkg/compiler/lib/src/ssa/builder.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Implementation of the element model used for deserialiation. 5 /// Implementation of the element model used for deserialiation.
6 /// 6 ///
7 /// These classes are created by [ElementDeserializer] triggered by the 7 /// These classes are created by [ElementDeserializer] triggered by the
8 /// [Deserializer]. 8 /// [Deserializer].
9 9
10 library dart2js.serialization.modelz; 10 library dart2js.serialization.modelz;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 /// Compute a [Link] from an [Iterable]. 44 /// Compute a [Link] from an [Iterable].
45 Link toLink(Iterable iterable) { 45 Link toLink(Iterable iterable) {
46 LinkBuilder builder = new LinkBuilder(); 46 LinkBuilder builder = new LinkBuilder();
47 for (var element in iterable) { 47 for (var element in iterable) {
48 builder.addLast(element); 48 builder.addLast(element);
49 } 49 }
50 return builder.toLink(); 50 return builder.toLink();
51 } 51 }
52 52
53 abstract class ElementZ extends Element with ElementCommon { 53 abstract class ElementZ extends Element with ElementCommon {
54 @override
55 bool get isFactoryConstructor => false;
56
57 String toString() { 54 String toString() {
58 if (enclosingElement == null || isTopLevel) return 'Z$kind($name)'; 55 if (enclosingElement == null || isTopLevel) return 'Z$kind($name)';
59 return 'Z$kind(${enclosingElement.name}#$name)'; 56 return 'Z$kind(${enclosingElement.name}#$name)';
60 } 57 }
61 58
62 _unsupported(text) => throw new UnsupportedError('${this}.$text'); 59 _unsupported(text) => throw new UnsupportedError('${this}.$text');
63 60
64 @override 61 @override
65 AnalyzableElement get analyzableElement { 62 AnalyzableElement get analyzableElement {
66 Element element = this; 63 Element element = this;
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 @override 996 @override
1000 ElementKind get kind => ElementKind.GENERATIVE_CONSTRUCTOR; 997 ElementKind get kind => ElementKind.GENERATIVE_CONSTRUCTOR;
1001 } 998 }
1002 999
1003 class FactoryConstructorElementZ extends ConstructorElementZ { 1000 class FactoryConstructorElementZ extends ConstructorElementZ {
1004 1001
1005 FactoryConstructorElementZ(ObjectDecoder decoder) 1002 FactoryConstructorElementZ(ObjectDecoder decoder)
1006 : super(decoder); 1003 : super(decoder);
1007 1004
1008 @override 1005 @override
1009 ElementKind get kind => ElementKind.FUNCTION; 1006 ElementKind get kind => ElementKind.FACTORY_CONSTRUCTOR;
1010
1011 @override
1012 bool get isFactoryConstructor => true;
1013 } 1007 }
1014 1008
1015 abstract class MemberElementMixin 1009 abstract class MemberElementMixin
1016 implements DeserializedElementZ, MemberElement { 1010 implements DeserializedElementZ, MemberElement {
1017 1011
1018 @override 1012 @override
1019 MemberElement get memberContext => this; 1013 MemberElement get memberContext => this;
1020 1014
1021 @override 1015 @override
1022 Name get memberName => new Name(name, library); 1016 Name get memberName => new Name(name, library);
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 } 1566 }
1573 1567
1574 @override 1568 @override
1575 ElementKind get kind => ElementKind.PREFIX; 1569 ElementKind get kind => ElementKind.PREFIX;
1576 1570
1577 @override 1571 @override
1578 Element lookupLocalMember(String memberName) { 1572 Element lookupLocalMember(String memberName) {
1579 return _unsupported('lookupLocalMember'); 1573 return _unsupported('lookupLocalMember');
1580 } 1574 }
1581 } 1575 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/resolution.dart ('k') | pkg/compiler/lib/src/ssa/builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698