| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |