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

Side by Side Diff: pkg/analyzer2dart/lib/src/modely.dart

Issue 898303002: Support instance methods in analyzer2dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 part of analyzer2dart.element_converter; 5 part of analyzer2dart.element_converter;
6 6
7 7
8 /// Base [dart2js.Element] implementation for converted analyzer elements. 8 /// Base [dart2js.Element] implementation for converted analyzer elements.
9 class ElementY extends dart2js.Element { 9 class ElementY extends dart2js.Element {
10 final ElementConverter converter; 10 final ElementConverter converter;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 bool get isImplementation => false; 43 bool get isImplementation => false;
44 44
45 @override 45 @override
46 dart2js.LibraryElement get library { 46 dart2js.LibraryElement get library {
47 return converter.convertElement(element.library); 47 return converter.convertElement(element.library);
48 } 48 }
49 49
50 @override 50 @override
51 bool get isLocal => false; 51 bool get isLocal => false;
52 52
53 @override
54 bool get isSynthesized => false;
55
53 unsupported(String method) { 56 unsupported(String method) {
54 throw new UnsupportedError( 57 throw new UnsupportedError(
55 "'$method' is unsupported on $this ($runtimeType)"); 58 "'$method' is unsupported on $this ($runtimeType)");
56 } 59 }
57 60
58 61
59 @override 62 @override
60 bool get isFinal => unsupported('isFinal'); 63 bool get isFinal => unsupported('isFinal');
61 64
62 @override 65 @override
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 @override 148 @override
146 bool get isInstanceMember => unsupported('isInstanceMember'); 149 bool get isInstanceMember => unsupported('isInstanceMember');
147 150
148 @override 151 @override
149 bool get isMixinApplication => unsupported('isMixinApplication'); 152 bool get isMixinApplication => unsupported('isMixinApplication');
150 153
151 @override 154 @override
152 bool get isNative => unsupported('isNative'); 155 bool get isNative => unsupported('isNative');
153 156
154 @override 157 @override
155 bool get isSynthesized => unsupported('isSynthesized');
156
157 @override
158 bool get isTopLevel => unsupported('isTopLevel'); 158 bool get isTopLevel => unsupported('isTopLevel');
159 159
160 @override 160 @override
161 get kind => unsupported('kind'); 161 get kind => unsupported('kind');
162 162
163 @override 163 @override
164 get metadata => unsupported('metadata'); 164 get metadata => unsupported('metadata');
165 165
166 @override 166 @override
167 get outermostEnclosingMemberOrTopLevel { 167 get outermostEnclosingMemberOrTopLevel {
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 @override 791 @override
792 dart2js.ClassElement get contextClass => enclosingClass; 792 dart2js.ClassElement get contextClass => enclosingClass;
793 793
794 @override 794 @override
795 dart2js.ClassElement get enclosingClass { 795 dart2js.ClassElement get enclosingClass {
796 return converter.convertElement(element.enclosingElement); 796 return converter.convertElement(element.enclosingElement);
797 } 797 }
798 798
799 @override 799 @override
800 bool get isClassMember => true; 800 bool get isClassMember => true;
801
802 @override
803 bool get isTopLevel => false;
801 } 804 }
802 805
803 class ConstructorElementY extends ElementY 806 class ConstructorElementY extends ElementY
804 with AnalyzableElementY, 807 with AnalyzableElementY,
805 AstElementY, 808 AstElementY,
806 FunctionElementMixin, 809 FunctionElementMixin,
807 ClassMemberMixin 810 ClassMemberMixin
808 implements dart2js.ConstructorElement { 811 implements dart2js.ConstructorElement {
809 812
810 analyzer.ConstructorElement get element => super.element; 813 analyzer.ConstructorElement get element => super.element;
811 814
812 // TODO(johnniwinther): Support redirecting/factory constructors. 815 // TODO(johnniwinther): Support redirecting/factory constructors.
813 @override 816 @override
814 dart2js.ElementKind get kind => dart2js.ElementKind.GENERATIVE_CONSTRUCTOR; 817 dart2js.ElementKind get kind => dart2js.ElementKind.GENERATIVE_CONSTRUCTOR;
815 818
816 // TODO(johnniwinther): Support factory constructors. 819 // TODO(johnniwinther): Support factory constructors.
817 @override 820 @override
818 bool get isFactoryConstructor => false; 821 bool get isFactoryConstructor => false;
819 822
820 // TODO(johnniwinther): Support redirecting factory constructors. 823 // TODO(johnniwinther): Support redirecting factory constructors.
821 @override 824 @override
822 bool get isRedirectingFactory => false; 825 bool get isRedirectingFactory => false;
823 826
824 @override 827 @override
825 bool get isStatic => false; 828 bool get isStatic => false;
826 829
830 @override
831 bool get isSynthesized => element.isSynthetic;
832
827 ConstructorElementY(ElementConverter converter, 833 ConstructorElementY(ElementConverter converter,
828 analyzer.ConstructorElement element) 834 analyzer.ConstructorElement element)
829 : super(converter, element); 835 : super(converter, element);
830 836
831 @override 837 @override
832 computeEffectiveTargetType(_) => unsupported('computeEffectiveTargetType'); 838 computeEffectiveTargetType(_) => unsupported('computeEffectiveTargetType');
833 839
834 @override 840 @override
835 get definingConstructor => unsupported('definingConstructor'); 841 get definingConstructor => unsupported('definingConstructor');
836 842
837 @override 843 @override
838 get effectiveTarget => unsupported('effectiveTarget'); 844 get effectiveTarget => unsupported('effectiveTarget');
839 845
840 @override 846 @override
841 get immediateRedirectionTarget => unsupported('immediateRedirectionTarget'); 847 get immediateRedirectionTarget => unsupported('immediateRedirectionTarget');
842 848
843 @override 849 @override
844 get nestedClosures => unsupported('nestedClosures'); 850 get nestedClosures => unsupported('nestedClosures');
845 } 851 }
852
853 class InstanceMethodElementY extends ElementY
854 with AnalyzableElementY,
855 AstElementY,
856 FunctionElementMixin,
857 ClassMemberMixin
858 implements dart2js.MethodElement {
859
860 analyzer.MethodElement get element => super.element;
861
862 @override
863 dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION;
864
865 @override
866 bool get isStatic => element.isStatic;
867
868 @override
869 bool get isAbstract => element.isAbstract;
870
871 @override
872 bool get isFactoryConstructor => false;
873
874 @override
875 bool get isInstanceMember => true;
876
877 InstanceMethodElementY(ElementConverter converter,
878 analyzer.MethodElement element)
879 : super(converter, element);
880
881 @override
882 get nestedClosures => unsupported('nestedClosures');
883 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698