OLD | NEW |
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 library dart2js.semantics_visitor; | 5 library dart2js.semantics_visitor; |
6 | 6 |
7 import '../constants/expressions.dart'; | 7 import '../constants/expressions.dart'; |
8 import '../dart2jslib.dart' show invariant; | 8 import '../dart2jslib.dart' show invariant; |
9 import '../dart_types.dart'; | 9 import '../dart_types.dart'; |
10 import '../elements/elements.dart'; | 10 import '../elements/elements.dart'; |
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
730 /// } | 730 /// } |
731 /// m() { C.foo(null, 42); } | 731 /// m() { C.foo(null, 42); } |
732 /// | 732 /// |
733 R visitStaticFunctionInvoke( | 733 R visitStaticFunctionInvoke( |
734 Send node, | 734 Send node, |
735 MethodElement function, | 735 MethodElement function, |
736 NodeList arguments, | 736 NodeList arguments, |
737 CallStructure callStructure, | 737 CallStructure callStructure, |
738 A arg); | 738 A arg); |
739 | 739 |
| 740 /// Invocation of the static [function] with incompatible [arguments]. |
| 741 /// |
| 742 /// For instance |
| 743 /// class C { |
| 744 /// static foo(a, b) {} |
| 745 /// } |
| 746 /// m() { C.foo(null); } |
| 747 /// |
| 748 R visitStaticFunctionIncompatibleInvoke( |
| 749 Send node, |
| 750 MethodElement function, |
| 751 NodeList arguments, |
| 752 CallStructure callStructure, |
| 753 A arg); |
| 754 |
740 /// Assignment of [rhs] to the static [function]. | 755 /// Assignment of [rhs] to the static [function]. |
741 /// | 756 /// |
742 /// For instance | 757 /// For instance |
743 /// class C { | 758 /// class C { |
744 /// static foo(a, b) {} | 759 /// static foo(a, b) {} |
745 /// } | 760 /// } |
746 /// m() { C.foo = rhs; } | 761 /// m() { C.foo = rhs; } |
747 /// | 762 /// |
748 R errorStaticFunctionSet( | 763 R errorStaticFunctionSet( |
749 Send node, | 764 Send node, |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
900 /// foo(a, b) {}; | 915 /// foo(a, b) {}; |
901 /// m() { foo(null, 42); } | 916 /// m() { foo(null, 42); } |
902 /// | 917 /// |
903 R visitTopLevelFunctionInvoke( | 918 R visitTopLevelFunctionInvoke( |
904 Send node, | 919 Send node, |
905 MethodElement function, | 920 MethodElement function, |
906 NodeList arguments, | 921 NodeList arguments, |
907 CallStructure callStructure, | 922 CallStructure callStructure, |
908 A arg); | 923 A arg); |
909 | 924 |
| 925 /// Invocation of the top level [function] with incompatible [arguments]. |
| 926 /// |
| 927 /// For instance |
| 928 /// class C { |
| 929 /// static foo(a, b) {} |
| 930 /// } |
| 931 /// m() { C.foo(null); } |
| 932 /// |
| 933 R visitTopLevelFunctionIncompatibleInvoke( |
| 934 Send node, |
| 935 MethodElement function, |
| 936 NodeList arguments, |
| 937 CallStructure callStructure, |
| 938 A arg); |
| 939 |
910 /// Assignment of [rhs] to the top level [function]. | 940 /// Assignment of [rhs] to the top level [function]. |
911 /// | 941 /// |
912 /// For instance | 942 /// For instance |
913 /// foo(a, b) {}; | 943 /// foo(a, b) {}; |
914 /// m() { foo = rhs; } | 944 /// m() { foo = rhs; } |
915 /// | 945 /// |
916 R errorTopLevelFunctionSet( | 946 R errorTopLevelFunctionSet( |
917 Send node, | 947 Send node, |
918 MethodElement function, | 948 MethodElement function, |
919 Node rhs, | 949 Node rhs, |
(...skipping 1755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2675 /// class C {} | 2705 /// class C {} |
2676 /// m1() => unresolved; | 2706 /// m1() => unresolved; |
2677 /// m2() => prefix.unresolved; | 2707 /// m2() => prefix.unresolved; |
2678 /// m3() => Unresolved.foo; | 2708 /// m3() => Unresolved.foo; |
2679 /// m4() => unresolved.foo; | 2709 /// m4() => unresolved.foo; |
2680 /// m5() => unresolved.Foo.bar; | 2710 /// m5() => unresolved.Foo.bar; |
2681 /// m6() => C.unresolved; | 2711 /// m6() => C.unresolved; |
2682 /// m7() => prefix.C.unresolved; | 2712 /// m7() => prefix.C.unresolved; |
2683 /// | 2713 /// |
2684 // TODO(johnniwinther): Split the cases in which a prefix is resolved. | 2714 // TODO(johnniwinther): Split the cases in which a prefix is resolved. |
2685 R errorUnresolvedGet( | 2715 R visitUnresolvedGet( |
2686 Send node, | 2716 Send node, |
2687 Element element, | 2717 Element element, |
2688 A arg); | 2718 A arg); |
2689 | 2719 |
2690 /// Read of the unresolved super [element]. | 2720 /// Read of the unresolved super [element]. |
2691 /// | 2721 /// |
2692 /// For instance | 2722 /// For instance |
2693 /// class B {} | 2723 /// class B {} |
2694 /// class C { | 2724 /// class C { |
2695 /// m() => super.foo; | 2725 /// m() => super.foo; |
(...skipping 29 matching lines...) Expand all Loading... |
2725 /// class C {} | 2755 /// class C {} |
2726 /// m1() => unresolved(null, 42); | 2756 /// m1() => unresolved(null, 42); |
2727 /// m2() => prefix.unresolved(null, 42); | 2757 /// m2() => prefix.unresolved(null, 42); |
2728 /// m3() => Unresolved.foo(null, 42); | 2758 /// m3() => Unresolved.foo(null, 42); |
2729 /// m4() => unresolved.foo(null, 42); | 2759 /// m4() => unresolved.foo(null, 42); |
2730 /// m5() => unresolved.Foo.bar(null, 42); | 2760 /// m5() => unresolved.Foo.bar(null, 42); |
2731 /// m6() => C.unresolved(null, 42); | 2761 /// m6() => C.unresolved(null, 42); |
2732 /// m7() => prefix.C.unresolved(null, 42); | 2762 /// m7() => prefix.C.unresolved(null, 42); |
2733 /// | 2763 /// |
2734 // TODO(johnniwinther): Split the cases in which a prefix is resolved. | 2764 // TODO(johnniwinther): Split the cases in which a prefix is resolved. |
2735 R errorUnresolvedInvoke( | 2765 R visitUnresolvedInvoke( |
2736 Send node, | 2766 Send node, |
2737 Element element, | 2767 Element element, |
2738 NodeList arguments, | 2768 NodeList arguments, |
2739 Selector selector, | 2769 Selector selector, |
2740 A arg); | 2770 A arg); |
2741 | 2771 |
2742 /// Invocation of the unresolved super [element] with [arguments]. | 2772 /// Invocation of the unresolved super [element] with [arguments]. |
2743 /// | 2773 /// |
2744 /// For instance | 2774 /// For instance |
2745 /// class B {} | 2775 /// class B {} |
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3600 /// C() : this._(42); | 3630 /// C() : this._(42); |
3601 /// } | 3631 /// } |
3602 /// | 3632 /// |
3603 R errorUnresolvedThisConstructorInvoke( | 3633 R errorUnresolvedThisConstructorInvoke( |
3604 Send node, | 3634 Send node, |
3605 Element element, | 3635 Element element, |
3606 NodeList arguments, | 3636 NodeList arguments, |
3607 Selector selector, | 3637 Selector selector, |
3608 A arg); | 3638 A arg); |
3609 } | 3639 } |
OLD | NEW |