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

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

Issue 677663002: Support constructor invocation in analyzer2dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add comment. Created 6 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 | 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 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 // members to be static, dart2js only considers static class members to be 338 // members to be static, dart2js only considers static class members to be
339 // static. 339 // static.
340 return false; 340 return false;
341 } 341 }
342 342
343 // TODO(johnniwinther): Ensure the correct semantics of this. 343 // TODO(johnniwinther): Ensure the correct semantics of this.
344 @override 344 @override
345 bool get isAbstract => false; 345 bool get isAbstract => false;
346 } 346 }
347 347
348 class TopLevelFunctionElementY extends ElementY 348 abstract class FunctionElementMixin
349 with AnalyzableElementY, AstElementY, TopLevelElementMixin 349 implements ElementY, dart2js.FunctionElement {
350 implements dart2js.FunctionElement {
351 analyzer.FunctionElement get element => super.element;
352
353 @override
354 dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION;
355
356 @override
357 dart2js.FunctionType get type => converter.convertType(element.type);
358
359 TopLevelFunctionElementY(ElementConverter converter,
360 analyzer.FunctionElement element)
361 : super(converter, element);
362
363 @override 350 @override
364 get abstractField => unsupported('abstractField'); 351 get abstractField => unsupported('abstractField');
365 352
366 @override 353 @override
367 computeSignature(_) => unsupported('computeSignature'); 354 computeSignature(_) => unsupported('computeSignature');
368 355
369 @override 356 @override
370 get memberContext => unsupported('memberContext'); 357 get memberContext => unsupported('memberContext');
371 358
372 @override 359 @override
373 get functionSignature => unsupported('functionSignature'); 360 get functionSignature => unsupported('functionSignature');
374 361
375 @override 362 @override
376 bool get hasFunctionSignature => unsupported('hasFunctionSignature'); 363 bool get hasFunctionSignature => unsupported('hasFunctionSignature');
377 } 364 }
378 365
366 class TopLevelFunctionElementY extends ElementY
367 with AnalyzableElementY,
368 AstElementY,
369 TopLevelElementMixin,
370 FunctionElementMixin
371 implements dart2js.FunctionElement {
372 analyzer.FunctionElement get element => super.element;
373
374 @override
375 dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION;
376
377 @override
378 dart2js.FunctionType get type => converter.convertType(element.type);
379
380 TopLevelFunctionElementY(ElementConverter converter,
381 analyzer.FunctionElement element)
382 : super(converter, element);
383 }
384
379 class ParameterElementY extends ElementY 385 class ParameterElementY extends ElementY
380 with AnalyzableElementY, AstElementY 386 with AnalyzableElementY, AstElementY
381 implements dart2js.ParameterElement { 387 implements dart2js.ParameterElement {
382 388
383 analyzer.ParameterElement get element => super.element; 389 analyzer.ParameterElement get element => super.element;
384 390
385 @override 391 @override
386 dart2js.ElementKind get kind => dart2js.ElementKind.PARAMETER; 392 dart2js.ElementKind get kind => dart2js.ElementKind.PARAMETER;
387 393
388 @override 394 @override
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 687
682 LocalVariableElementY(ElementConverter converter, 688 LocalVariableElementY(ElementConverter converter,
683 analyzer.LocalVariableElement element) 689 analyzer.LocalVariableElement element)
684 : super(converter, element); 690 : super(converter, element);
685 691
686 @override 692 @override
687 get executableContext => unsupported('executableContext'); 693 get executableContext => unsupported('executableContext');
688 694
689 @override 695 @override
690 dart2js.DartType get type => unsupported('type'); 696 dart2js.DartType get type => unsupported('type');
697 }
698
699 class ConstructorElementY extends ElementY
700 with AnalyzableElementY,
701 AstElementY,
702 FunctionElementMixin
703 implements dart2js.ConstructorElement {
704
705 analyzer.ConstructorElement get element => super.element;
706
707 @override
708 dart2js.ClassElement get enclosingClass {
709 return converter.convertElement(element.enclosingElement);
710 }
711
712 // TODO(johnniwinther): Support redirecting/factory constructors.
713 @override
714 dart2js.ElementKind get kind => dart2js.ElementKind.GENERATIVE_CONSTRUCTOR;
715
716 ConstructorElementY(ElementConverter converter,
717 analyzer.ConstructorElement element)
718 : super(converter, element);
719
720 @override
721 computeEffectiveTargetType(_) => unsupported('computeEffectiveTargetType');
722
723 @override
724 get definingConstructor => unsupported('definingConstructor');
725
726 @override
727 get effectiveTarget => unsupported('effectiveTarget');
728
729 @override
730 get immediateRedirectionTarget => unsupported('immediateRedirectionTarget');
731
732 @override
733 bool get isRedirectingFactory => unsupported('isRedirectingFactory');
734
735 @override
736 get nestedClosures => unsupported('nestedClosures');
737
738 @override
739 get type => unsupported('type');
691 } 740 }
OLDNEW
« no previous file with comments | « pkg/analyzer2dart/lib/src/element_converter.dart ('k') | pkg/analyzer2dart/lib/src/tree_shaker.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698