| 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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION; | 378 dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION; |
| 379 | 379 |
| 380 @override | 380 @override |
| 381 dart2js.FunctionType get type => converter.convertType(element.type); | 381 dart2js.FunctionType get type => converter.convertType(element.type); |
| 382 | 382 |
| 383 TopLevelFunctionElementY(ElementConverter converter, | 383 TopLevelFunctionElementY(ElementConverter converter, |
| 384 analyzer.FunctionElement element) | 384 analyzer.FunctionElement element) |
| 385 : super(converter, element); | 385 : super(converter, element); |
| 386 } | 386 } |
| 387 | 387 |
| 388 class LocalFunctionElementY extends ElementY |
| 389 with AnalyzableElementY, |
| 390 AstElementY, |
| 391 LocalElementMixin, |
| 392 FunctionElementMixin |
| 393 implements dart2js.LocalFunctionElement { |
| 394 analyzer.FunctionElement get element => super.element; |
| 395 |
| 396 @override |
| 397 dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION; |
| 398 |
| 399 @override |
| 400 dart2js.FunctionType get type => converter.convertType(element.type); |
| 401 |
| 402 @override |
| 403 bool get isAbstract => false; |
| 404 |
| 405 @override |
| 406 bool get isConst => false; |
| 407 |
| 408 LocalFunctionElementY(ElementConverter converter, |
| 409 analyzer.FunctionElement element) |
| 410 : super(converter, element); |
| 411 } |
| 412 |
| 388 class ParameterElementY extends ElementY | 413 class ParameterElementY extends ElementY |
| 389 with AnalyzableElementY, AstElementY | 414 with AnalyzableElementY, AstElementY |
| 390 implements dart2js.ParameterElement { | 415 implements dart2js.ParameterElement { |
| 391 | 416 |
| 392 analyzer.ParameterElement get element => super.element; | 417 analyzer.ParameterElement get element => super.element; |
| 393 | 418 |
| 394 @override | 419 @override |
| 395 dart2js.ElementKind get kind => dart2js.ElementKind.PARAMETER; | 420 dart2js.ElementKind get kind => dart2js.ElementKind.PARAMETER; |
| 396 | 421 |
| 397 @override | 422 @override |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 667 dart2js.DartType get type => converter.convertType(element.type); | 692 dart2js.DartType get type => converter.convertType(element.type); |
| 668 | 693 |
| 669 TopLevelVariableElementY(ElementConverter converter, | 694 TopLevelVariableElementY(ElementConverter converter, |
| 670 analyzer.TopLevelVariableElement element) | 695 analyzer.TopLevelVariableElement element) |
| 671 : super(converter, element); | 696 : super(converter, element); |
| 672 | 697 |
| 673 @override | 698 @override |
| 674 get nestedClosures => unsupported('nestedClosures'); | 699 get nestedClosures => unsupported('nestedClosures'); |
| 675 } | 700 } |
| 676 | 701 |
| 702 abstract class LocalElementMixin implements ElementY, dart2js.LocalElement { |
| 703 |
| 704 @override |
| 705 bool get isLocal => true; |
| 706 |
| 707 @override |
| 708 bool get isStatic => false; |
| 709 |
| 710 @override |
| 711 get executableContext => unsupported('executableContext'); |
| 712 |
| 713 // TODO(johnniwinther): Ensure the correct semantics of this. |
| 714 @override |
| 715 bool get isFactoryConstructor => false; |
| 716 } |
| 717 |
| 677 class LocalVariableElementY extends ElementY | 718 class LocalVariableElementY extends ElementY |
| 678 with AnalyzableElementY, AstElementY, VariableElementMixin | 719 with AnalyzableElementY, |
| 720 AstElementY, |
| 721 LocalElementMixin, |
| 722 VariableElementMixin |
| 679 implements dart2js.LocalVariableElement { | 723 implements dart2js.LocalVariableElement { |
| 680 | 724 |
| 681 analyzer.LocalVariableElement get element => super.element; | 725 analyzer.LocalVariableElement get element => super.element; |
| 682 | 726 |
| 683 dart2js.ElementKind get kind => dart2js.ElementKind.VARIABLE; | 727 dart2js.ElementKind get kind => dart2js.ElementKind.VARIABLE; |
| 684 | 728 |
| 685 @override | 729 @override |
| 686 bool get isLocal => true; | |
| 687 | |
| 688 @override | |
| 689 bool get isConst => element.isConst; | 730 bool get isConst => element.isConst; |
| 690 | 731 |
| 691 @override | |
| 692 bool get isStatic => false; | |
| 693 | |
| 694 LocalVariableElementY(ElementConverter converter, | 732 LocalVariableElementY(ElementConverter converter, |
| 695 analyzer.LocalVariableElement element) | 733 analyzer.LocalVariableElement element) |
| 696 : super(converter, element); | 734 : super(converter, element); |
| 697 | 735 |
| 698 @override | 736 @override |
| 699 get executableContext => unsupported('executableContext'); | |
| 700 | |
| 701 @override | |
| 702 dart2js.DartType get type => unsupported('type'); | 737 dart2js.DartType get type => unsupported('type'); |
| 703 } | 738 } |
| 704 | 739 |
| 705 class ConstructorElementY extends ElementY | 740 class ConstructorElementY extends ElementY |
| 706 with AnalyzableElementY, | 741 with AnalyzableElementY, |
| 707 AstElementY, | 742 AstElementY, |
| 708 FunctionElementMixin | 743 FunctionElementMixin |
| 709 implements dart2js.ConstructorElement { | 744 implements dart2js.ConstructorElement { |
| 710 | 745 |
| 711 analyzer.ConstructorElement get element => super.element; | 746 analyzer.ConstructorElement get element => super.element; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 737 | 772 |
| 738 @override | 773 @override |
| 739 bool get isRedirectingFactory => unsupported('isRedirectingFactory'); | 774 bool get isRedirectingFactory => unsupported('isRedirectingFactory'); |
| 740 | 775 |
| 741 @override | 776 @override |
| 742 get nestedClosures => unsupported('nestedClosures'); | 777 get nestedClosures => unsupported('nestedClosures'); |
| 743 | 778 |
| 744 @override | 779 @override |
| 745 get type => unsupported('type'); | 780 get type => unsupported('type'); |
| 746 } | 781 } |
| OLD | NEW |