| 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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 /// | 185 /// |
| 186 /// For instance: | 186 /// For instance: |
| 187 /// m(parameter) { | 187 /// m(parameter) { |
| 188 /// parameter(null, 42); | 188 /// parameter(null, 42); |
| 189 /// } | 189 /// } |
| 190 /// | 190 /// |
| 191 R visitParameterInvoke( | 191 R visitParameterInvoke( |
| 192 Send node, | 192 Send node, |
| 193 ParameterElement parameter, | 193 ParameterElement parameter, |
| 194 NodeList arguments, | 194 NodeList arguments, |
| 195 Selector selector, | 195 CallStructure callStructure, |
| 196 A arg); | 196 A arg); |
| 197 | 197 |
| 198 /// Read of the local [variable]. | 198 /// Read of the local [variable]. |
| 199 /// | 199 /// |
| 200 /// For instance: | 200 /// For instance: |
| 201 /// m() { | 201 /// m() { |
| 202 /// var variable; | 202 /// var variable; |
| 203 /// return variable; | 203 /// return variable; |
| 204 /// } | 204 /// } |
| 205 /// | 205 /// |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 /// For instance: | 241 /// For instance: |
| 242 /// m() { | 242 /// m() { |
| 243 /// var variable; | 243 /// var variable; |
| 244 /// variable(null, 42); | 244 /// variable(null, 42); |
| 245 /// } | 245 /// } |
| 246 /// | 246 /// |
| 247 R visitLocalVariableInvoke( | 247 R visitLocalVariableInvoke( |
| 248 Send node, | 248 Send node, |
| 249 LocalVariableElement variable, | 249 LocalVariableElement variable, |
| 250 NodeList arguments, | 250 NodeList arguments, |
| 251 Selector selector, | 251 CallStructure callStructure, |
| 252 A arg); | 252 A arg); |
| 253 | 253 |
| 254 /// Closurization of the local [function]. | 254 /// Closurization of the local [function]. |
| 255 /// | 255 /// |
| 256 /// For instance: | 256 /// For instance: |
| 257 /// m() { | 257 /// m() { |
| 258 /// o(a, b) {} | 258 /// o(a, b) {} |
| 259 /// return o; | 259 /// return o; |
| 260 /// } | 260 /// } |
| 261 /// | 261 /// |
| (...skipping 21 matching lines...) Expand all Loading... |
| 283 /// For instance: | 283 /// For instance: |
| 284 /// m() { | 284 /// m() { |
| 285 /// o(a, b) {} | 285 /// o(a, b) {} |
| 286 /// return o(null, 42); | 286 /// return o(null, 42); |
| 287 /// } | 287 /// } |
| 288 /// | 288 /// |
| 289 R visitLocalFunctionInvoke( | 289 R visitLocalFunctionInvoke( |
| 290 Send node, | 290 Send node, |
| 291 LocalFunctionElement function, | 291 LocalFunctionElement function, |
| 292 NodeList arguments, | 292 NodeList arguments, |
| 293 Selector selector, | 293 CallStructure callStructure, |
| 294 A arg); | 294 A arg); |
| 295 | 295 |
| 296 /// Getter call on [receiver] of the property defined by [selector]. | 296 /// Getter call on [receiver] of the property defined by [selector]. |
| 297 /// | 297 /// |
| 298 /// For instance | 298 /// For instance |
| 299 /// m(receiver) => receiver.foo; | 299 /// m(receiver) => receiver.foo; |
| 300 /// | 300 /// |
| 301 R visitDynamicPropertyGet( | 301 R visitDynamicPropertyGet( |
| 302 Send node, | 302 Send node, |
| 303 Node receiver, | 303 Node receiver, |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 /// Invocation of `this` with [arguments]. | 405 /// Invocation of `this` with [arguments]. |
| 406 /// | 406 /// |
| 407 /// For instance | 407 /// For instance |
| 408 /// class C { | 408 /// class C { |
| 409 /// m() => this(null, 42); | 409 /// m() => this(null, 42); |
| 410 /// } | 410 /// } |
| 411 /// | 411 /// |
| 412 R visitThisInvoke( | 412 R visitThisInvoke( |
| 413 Send node, | 413 Send node, |
| 414 NodeList arguments, | 414 NodeList arguments, |
| 415 Selector selector, | 415 CallStructure callStructure, |
| 416 A arg); | 416 A arg); |
| 417 | 417 |
| 418 | 418 |
| 419 /// Read of the super [field]. | 419 /// Read of the super [field]. |
| 420 /// | 420 /// |
| 421 /// For instance | 421 /// For instance |
| 422 /// class B { | 422 /// class B { |
| 423 /// var foo; | 423 /// var foo; |
| 424 /// } | 424 /// } |
| 425 /// class C extends B { | 425 /// class C extends B { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 /// var foo; | 470 /// var foo; |
| 471 /// } | 471 /// } |
| 472 /// class C extends B { | 472 /// class C extends B { |
| 473 /// m() { super.foo(null, 42); } | 473 /// m() { super.foo(null, 42); } |
| 474 /// } | 474 /// } |
| 475 /// | 475 /// |
| 476 R visitSuperFieldInvoke( | 476 R visitSuperFieldInvoke( |
| 477 Send node, | 477 Send node, |
| 478 FieldElement field, | 478 FieldElement field, |
| 479 NodeList arguments, | 479 NodeList arguments, |
| 480 Selector selector, | 480 CallStructure callStructure, |
| 481 A arg); | 481 A arg); |
| 482 | 482 |
| 483 /// Closurization of the super [method]. | 483 /// Closurization of the super [method]. |
| 484 /// | 484 /// |
| 485 /// For instance | 485 /// For instance |
| 486 /// class B { | 486 /// class B { |
| 487 /// foo(a, b) {} | 487 /// foo(a, b) {} |
| 488 /// } | 488 /// } |
| 489 /// class C extends B { | 489 /// class C extends B { |
| 490 /// m() => super.foo; | 490 /// m() => super.foo; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 502 /// foo(a, b) {} | 502 /// foo(a, b) {} |
| 503 /// } | 503 /// } |
| 504 /// class C extends B { | 504 /// class C extends B { |
| 505 /// m() { super.foo(null, 42); } | 505 /// m() { super.foo(null, 42); } |
| 506 /// } | 506 /// } |
| 507 /// | 507 /// |
| 508 R visitSuperMethodInvoke( | 508 R visitSuperMethodInvoke( |
| 509 Send node, | 509 Send node, |
| 510 MethodElement method, | 510 MethodElement method, |
| 511 NodeList arguments, | 511 NodeList arguments, |
| 512 Selector selector, | 512 CallStructure callStructure, |
| 513 A arg); | 513 A arg); |
| 514 | 514 |
| 515 /// Assignment of [rhs] to the super [method]. | 515 /// Assignment of [rhs] to the super [method]. |
| 516 /// | 516 /// |
| 517 /// For instance | 517 /// For instance |
| 518 /// class B { | 518 /// class B { |
| 519 /// foo(a, b) {} | 519 /// foo(a, b) {} |
| 520 /// } | 520 /// } |
| 521 /// class C extends B { | 521 /// class C extends B { |
| 522 /// m() { super.foo = rhs; } | 522 /// m() { super.foo = rhs; } |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 /// get foo => null; | 597 /// get foo => null; |
| 598 /// } | 598 /// } |
| 599 /// class C extends B { | 599 /// class C extends B { |
| 600 /// m() { super.foo(null, 42; } | 600 /// m() { super.foo(null, 42; } |
| 601 /// } | 601 /// } |
| 602 /// | 602 /// |
| 603 R visitSuperGetterInvoke( | 603 R visitSuperGetterInvoke( |
| 604 Send node, | 604 Send node, |
| 605 FunctionElement getter, | 605 FunctionElement getter, |
| 606 NodeList arguments, | 606 NodeList arguments, |
| 607 Selector selector, | 607 CallStructure callStructure, |
| 608 A arg); | 608 A arg); |
| 609 | 609 |
| 610 /// Invocation of the super [setter] with [arguments]. | 610 /// Invocation of the super [setter] with [arguments]. |
| 611 /// | 611 /// |
| 612 /// For instance | 612 /// For instance |
| 613 /// class B { | 613 /// class B { |
| 614 /// set foo(_) {} | 614 /// set foo(_) {} |
| 615 /// } | 615 /// } |
| 616 /// class C extends B { | 616 /// class C extends B { |
| 617 /// m() { super.foo(null, 42; } | 617 /// m() { super.foo(null, 42; } |
| 618 /// } | 618 /// } |
| 619 /// | 619 /// |
| 620 R errorSuperSetterInvoke( | 620 R errorSuperSetterInvoke( |
| 621 Send node, | 621 Send node, |
| 622 FunctionElement setter, | 622 FunctionElement setter, |
| 623 NodeList arguments, | 623 NodeList arguments, |
| 624 Selector selector, | 624 CallStructure callStructure, |
| 625 A arg); | 625 A arg); |
| 626 | 626 |
| 627 /// Invocation of a [expression] with [arguments]. | 627 /// Invocation of a [expression] with [arguments]. |
| 628 /// | 628 /// |
| 629 /// For instance | 629 /// For instance |
| 630 /// m() => (a, b){}(null, 42); | 630 /// m() => (a, b){}(null, 42); |
| 631 /// | 631 /// |
| 632 R visitExpressionInvoke( | 632 R visitExpressionInvoke( |
| 633 Send node, | 633 Send node, |
| 634 Node expression, | 634 Node expression, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 /// For instance | 682 /// For instance |
| 683 /// class C { | 683 /// class C { |
| 684 /// static var foo; | 684 /// static var foo; |
| 685 /// } | 685 /// } |
| 686 /// m() { C.foo(null, 42); } | 686 /// m() { C.foo(null, 42); } |
| 687 /// | 687 /// |
| 688 R visitStaticFieldInvoke( | 688 R visitStaticFieldInvoke( |
| 689 Send node, | 689 Send node, |
| 690 FieldElement field, | 690 FieldElement field, |
| 691 NodeList arguments, | 691 NodeList arguments, |
| 692 Selector selector, | 692 CallStructure callStructure, |
| 693 A arg); | 693 A arg); |
| 694 | 694 |
| 695 /// Closurization of the static [function]. | 695 /// Closurization of the static [function]. |
| 696 /// | 696 /// |
| 697 /// For instance | 697 /// For instance |
| 698 /// class C { | 698 /// class C { |
| 699 /// static foo(a, b) {} | 699 /// static foo(a, b) {} |
| 700 /// } | 700 /// } |
| 701 /// m() => C.foo; | 701 /// m() => C.foo; |
| 702 /// | 702 /// |
| 703 R visitStaticFunctionGet( | 703 R visitStaticFunctionGet( |
| 704 Send node, | 704 Send node, |
| 705 MethodElement function, | 705 MethodElement function, |
| 706 A arg); | 706 A arg); |
| 707 | 707 |
| 708 /// Invocation of the static [function] with [arguments]. | 708 /// Invocation of the static [function] with [arguments]. |
| 709 /// | 709 /// |
| 710 /// For instance | 710 /// For instance |
| 711 /// class C { | 711 /// class C { |
| 712 /// static foo(a, b) {} | 712 /// static foo(a, b) {} |
| 713 /// } | 713 /// } |
| 714 /// m() { C.foo(null, 42); } | 714 /// m() { C.foo(null, 42); } |
| 715 /// | 715 /// |
| 716 R visitStaticFunctionInvoke( | 716 R visitStaticFunctionInvoke( |
| 717 Send node, | 717 Send node, |
| 718 MethodElement function, | 718 MethodElement function, |
| 719 NodeList arguments, | 719 NodeList arguments, |
| 720 Selector selector, | 720 CallStructure callStructure, |
| 721 A arg); | 721 A arg); |
| 722 | 722 |
| 723 /// Assignment of [rhs] to the static [function]. | 723 /// Assignment of [rhs] to the static [function]. |
| 724 /// | 724 /// |
| 725 /// For instance | 725 /// For instance |
| 726 /// class C { | 726 /// class C { |
| 727 /// static foo(a, b) {} | 727 /// static foo(a, b) {} |
| 728 /// } | 728 /// } |
| 729 /// m() { C.foo = rhs; } | 729 /// m() { C.foo = rhs; } |
| 730 /// | 730 /// |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 793 /// For instance | 793 /// For instance |
| 794 /// class C { | 794 /// class C { |
| 795 /// static get foo => null; | 795 /// static get foo => null; |
| 796 /// } | 796 /// } |
| 797 /// m() { C.foo(null, 42; } | 797 /// m() { C.foo(null, 42; } |
| 798 /// | 798 /// |
| 799 R visitStaticGetterInvoke( | 799 R visitStaticGetterInvoke( |
| 800 Send node, | 800 Send node, |
| 801 FunctionElement getter, | 801 FunctionElement getter, |
| 802 NodeList arguments, | 802 NodeList arguments, |
| 803 Selector selector, | 803 CallStructure callStructure, |
| 804 A arg); | 804 A arg); |
| 805 | 805 |
| 806 /// Invocation of the static [setter] with [arguments]. | 806 /// Invocation of the static [setter] with [arguments]. |
| 807 /// | 807 /// |
| 808 /// For instance | 808 /// For instance |
| 809 /// class C { | 809 /// class C { |
| 810 /// static set foo(_) {} | 810 /// static set foo(_) {} |
| 811 /// } | 811 /// } |
| 812 /// m() { C.foo(null, 42; } | 812 /// m() { C.foo(null, 42; } |
| 813 /// | 813 /// |
| 814 R errorStaticSetterInvoke( | 814 R errorStaticSetterInvoke( |
| 815 Send node, | 815 Send node, |
| 816 FunctionElement setter, | 816 FunctionElement setter, |
| 817 NodeList arguments, | 817 NodeList arguments, |
| 818 Selector selector, | 818 CallStructure callStructure, |
| 819 A arg); | 819 A arg); |
| 820 | 820 |
| 821 /// Read of the top level [field]. | 821 /// Read of the top level [field]. |
| 822 /// | 822 /// |
| 823 /// For instance | 823 /// For instance |
| 824 /// var foo; | 824 /// var foo; |
| 825 /// m() => foo; | 825 /// m() => foo; |
| 826 /// | 826 /// |
| 827 R visitTopLevelFieldGet( | 827 R visitTopLevelFieldGet( |
| 828 Send node, | 828 Send node, |
| (...skipping 27 matching lines...) Expand all Loading... |
| 856 /// Invocation of the top level [field] with [arguments]. | 856 /// Invocation of the top level [field] with [arguments]. |
| 857 /// | 857 /// |
| 858 /// For instance | 858 /// For instance |
| 859 /// var foo; | 859 /// var foo; |
| 860 /// m() { foo(null, 42); } | 860 /// m() { foo(null, 42); } |
| 861 /// | 861 /// |
| 862 R visitTopLevelFieldInvoke( | 862 R visitTopLevelFieldInvoke( |
| 863 Send node, | 863 Send node, |
| 864 FieldElement field, | 864 FieldElement field, |
| 865 NodeList arguments, | 865 NodeList arguments, |
| 866 Selector selector, | 866 CallStructure callStructure, |
| 867 A arg); | 867 A arg); |
| 868 | 868 |
| 869 /// Closurization of the top level [function]. | 869 /// Closurization of the top level [function]. |
| 870 /// | 870 /// |
| 871 /// For instance | 871 /// For instance |
| 872 /// foo(a, b) {}; | 872 /// foo(a, b) {}; |
| 873 /// m() => foo; | 873 /// m() => foo; |
| 874 /// | 874 /// |
| 875 R visitTopLevelFunctionGet( | 875 R visitTopLevelFunctionGet( |
| 876 Send node, | 876 Send node, |
| 877 MethodElement function, | 877 MethodElement function, |
| 878 A arg); | 878 A arg); |
| 879 | 879 |
| 880 /// Invocation of the top level [function] with [arguments]. | 880 /// Invocation of the top level [function] with [arguments]. |
| 881 /// | 881 /// |
| 882 /// For instance | 882 /// For instance |
| 883 /// foo(a, b) {}; | 883 /// foo(a, b) {}; |
| 884 /// m() { foo(null, 42); } | 884 /// m() { foo(null, 42); } |
| 885 /// | 885 /// |
| 886 R visitTopLevelFunctionInvoke( | 886 R visitTopLevelFunctionInvoke( |
| 887 Send node, | 887 Send node, |
| 888 MethodElement function, | 888 MethodElement function, |
| 889 NodeList arguments, | 889 NodeList arguments, |
| 890 Selector selector, | 890 CallStructure callStructure, |
| 891 A arg); | 891 A arg); |
| 892 | 892 |
| 893 /// Assignment of [rhs] to the top level [function]. | 893 /// Assignment of [rhs] to the top level [function]. |
| 894 /// | 894 /// |
| 895 /// For instance | 895 /// For instance |
| 896 /// foo(a, b) {}; | 896 /// foo(a, b) {}; |
| 897 /// m() { foo = rhs; } | 897 /// m() { foo = rhs; } |
| 898 /// | 898 /// |
| 899 R errorTopLevelFunctionSet( | 899 R errorTopLevelFunctionSet( |
| 900 Send node, | 900 Send node, |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 951 /// Invocation of the top level [getter] with [arguments]. | 951 /// Invocation of the top level [getter] with [arguments]. |
| 952 /// | 952 /// |
| 953 /// For instance | 953 /// For instance |
| 954 /// get foo => null; | 954 /// get foo => null; |
| 955 /// m() { foo(null, 42); } | 955 /// m() { foo(null, 42); } |
| 956 /// | 956 /// |
| 957 R visitTopLevelGetterInvoke( | 957 R visitTopLevelGetterInvoke( |
| 958 Send node, | 958 Send node, |
| 959 FunctionElement getter, | 959 FunctionElement getter, |
| 960 NodeList arguments, | 960 NodeList arguments, |
| 961 Selector selector, | 961 CallStructure callStructure, |
| 962 A arg); | 962 A arg); |
| 963 | 963 |
| 964 /// Invocation of the top level [setter] with [arguments]. | 964 /// Invocation of the top level [setter] with [arguments]. |
| 965 /// | 965 /// |
| 966 /// For instance | 966 /// For instance |
| 967 /// set foo(_) {}; | 967 /// set foo(_) {}; |
| 968 /// m() { foo(null, 42); } | 968 /// m() { foo(null, 42); } |
| 969 /// | 969 /// |
| 970 R errorTopLevelSetterInvoke( | 970 R errorTopLevelSetterInvoke( |
| 971 Send node, | 971 Send node, |
| 972 FunctionElement setter, | 972 FunctionElement setter, |
| 973 NodeList arguments, | 973 NodeList arguments, |
| 974 Selector selector, | 974 CallStructure callStructure, |
| 975 A arg); | 975 A arg); |
| 976 | 976 |
| 977 /// Read of the type literal for class [element]. | 977 /// Read of the type literal for class [element]. |
| 978 /// | 978 /// |
| 979 /// For instance | 979 /// For instance |
| 980 /// class C {} | 980 /// class C {} |
| 981 /// m() => C; | 981 /// m() => C; |
| 982 /// | 982 /// |
| 983 R visitClassTypeLiteralGet( | 983 R visitClassTypeLiteralGet( |
| 984 Send node, | 984 Send node, |
| 985 ConstantExpression constant, | 985 ConstantExpression constant, |
| 986 A arg); | 986 A arg); |
| 987 | 987 |
| 988 /// Invocation of the type literal for class [element] with [arguments]. | 988 /// Invocation of the type literal for class [element] with [arguments]. |
| 989 /// | 989 /// |
| 990 /// For instance | 990 /// For instance |
| 991 /// class C {} | 991 /// class C {} |
| 992 /// m() => C(null, 42); | 992 /// m() => C(null, 42); |
| 993 /// | 993 /// |
| 994 R visitClassTypeLiteralInvoke( | 994 R visitClassTypeLiteralInvoke( |
| 995 Send node, | 995 Send node, |
| 996 ConstantExpression constant, | 996 ConstantExpression constant, |
| 997 NodeList arguments, | 997 NodeList arguments, |
| 998 Selector selector, | 998 CallStructure callStructure, |
| 999 A arg); | 999 A arg); |
| 1000 | 1000 |
| 1001 /// Assignment of [rhs] to the type literal for class [element]. | 1001 /// Assignment of [rhs] to the type literal for class [element]. |
| 1002 /// | 1002 /// |
| 1003 /// For instance | 1003 /// For instance |
| 1004 /// class C {} | 1004 /// class C {} |
| 1005 /// m() { C = rhs; } | 1005 /// m() { C = rhs; } |
| 1006 /// | 1006 /// |
| 1007 R errorClassTypeLiteralSet( | 1007 R errorClassTypeLiteralSet( |
| 1008 SendSet node, | 1008 SendSet node, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1024 /// Invocation of the type literal for typedef [element] with [arguments]. | 1024 /// Invocation of the type literal for typedef [element] with [arguments]. |
| 1025 /// | 1025 /// |
| 1026 /// For instance | 1026 /// For instance |
| 1027 /// typedef F(); | 1027 /// typedef F(); |
| 1028 /// m() => F(null, 42); | 1028 /// m() => F(null, 42); |
| 1029 /// | 1029 /// |
| 1030 R visitTypedefTypeLiteralInvoke( | 1030 R visitTypedefTypeLiteralInvoke( |
| 1031 Send node, | 1031 Send node, |
| 1032 ConstantExpression constant, | 1032 ConstantExpression constant, |
| 1033 NodeList arguments, | 1033 NodeList arguments, |
| 1034 Selector selector, | 1034 CallStructure callStructure, |
| 1035 A arg); | 1035 A arg); |
| 1036 | 1036 |
| 1037 /// Assignment of [rhs] to the type literal for typedef [element]. | 1037 /// Assignment of [rhs] to the type literal for typedef [element]. |
| 1038 /// | 1038 /// |
| 1039 /// For instance | 1039 /// For instance |
| 1040 /// typedef F(); | 1040 /// typedef F(); |
| 1041 /// m() { F = rhs; } | 1041 /// m() { F = rhs; } |
| 1042 /// | 1042 /// |
| 1043 R errorTypedefTypeLiteralSet( | 1043 R errorTypedefTypeLiteralSet( |
| 1044 SendSet node, | 1044 SendSet node, |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1063 /// | 1063 /// |
| 1064 /// For instance | 1064 /// For instance |
| 1065 /// class C<T> { | 1065 /// class C<T> { |
| 1066 /// m() { T(null, 42); } | 1066 /// m() { T(null, 42); } |
| 1067 /// } | 1067 /// } |
| 1068 /// | 1068 /// |
| 1069 R visitTypeVariableTypeLiteralInvoke( | 1069 R visitTypeVariableTypeLiteralInvoke( |
| 1070 Send node, | 1070 Send node, |
| 1071 TypeVariableElement element, | 1071 TypeVariableElement element, |
| 1072 NodeList arguments, | 1072 NodeList arguments, |
| 1073 Selector selector, | 1073 CallStructure callStructure, |
| 1074 A arg); | 1074 A arg); |
| 1075 | 1075 |
| 1076 /// Assignment of [rhs] to the type literal for type variable [element]. | 1076 /// Assignment of [rhs] to the type literal for type variable [element]. |
| 1077 /// | 1077 /// |
| 1078 /// For instance | 1078 /// For instance |
| 1079 /// class C<T> { | 1079 /// class C<T> { |
| 1080 /// m() { T = rhs; } | 1080 /// m() { T = rhs; } |
| 1081 /// } | 1081 /// } |
| 1082 /// | 1082 /// |
| 1083 R errorTypeVariableTypeLiteralSet( | 1083 R errorTypeVariableTypeLiteralSet( |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1098 | 1098 |
| 1099 /// Invocation of the type literal for `dynamic` with [arguments]. | 1099 /// Invocation of the type literal for `dynamic` with [arguments]. |
| 1100 /// | 1100 /// |
| 1101 /// For instance | 1101 /// For instance |
| 1102 /// m() { dynamic(null, 42); } | 1102 /// m() { dynamic(null, 42); } |
| 1103 /// | 1103 /// |
| 1104 R visitDynamicTypeLiteralInvoke( | 1104 R visitDynamicTypeLiteralInvoke( |
| 1105 Send node, | 1105 Send node, |
| 1106 ConstantExpression constant, | 1106 ConstantExpression constant, |
| 1107 NodeList arguments, | 1107 NodeList arguments, |
| 1108 Selector selector, | 1108 CallStructure callStructure, |
| 1109 A arg); | 1109 A arg); |
| 1110 | 1110 |
| 1111 /// Assignment of [rhs] to the type literal for `dynamic`. | 1111 /// Assignment of [rhs] to the type literal for `dynamic`. |
| 1112 /// | 1112 /// |
| 1113 /// For instance | 1113 /// For instance |
| 1114 /// m() { dynamic = rhs; } | 1114 /// m() { dynamic = rhs; } |
| 1115 /// | 1115 /// |
| 1116 R errorDynamicTypeLiteralSet( | 1116 R errorDynamicTypeLiteralSet( |
| 1117 SendSet node, | 1117 SendSet node, |
| 1118 ConstantExpression constant, | 1118 ConstantExpression constant, |
| (...skipping 1523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2642 /// Invocation of the [constant] with [arguments]. | 2642 /// Invocation of the [constant] with [arguments]. |
| 2643 /// | 2643 /// |
| 2644 /// For instance | 2644 /// For instance |
| 2645 /// const c = null; | 2645 /// const c = null; |
| 2646 /// m() => c(null, 42); | 2646 /// m() => c(null, 42); |
| 2647 /// | 2647 /// |
| 2648 R visitConstantInvoke( | 2648 R visitConstantInvoke( |
| 2649 Send node, | 2649 Send node, |
| 2650 ConstantExpression constant, | 2650 ConstantExpression constant, |
| 2651 NodeList arguments, | 2651 NodeList arguments, |
| 2652 Selector selector, | 2652 CallStructure callStreucture, |
| 2653 A arg); | 2653 A arg); |
| 2654 | 2654 |
| 2655 /// Read of the unresolved [element]. | 2655 /// Read of the unresolved [element]. |
| 2656 /// | 2656 /// |
| 2657 /// For instance | 2657 /// For instance |
| 2658 /// class C {} | 2658 /// class C {} |
| 2659 /// m1() => unresolved; | 2659 /// m1() => unresolved; |
| 2660 /// m2() => prefix.unresolved; | 2660 /// m2() => prefix.unresolved; |
| 2661 /// m3() => Unresolved.foo; | 2661 /// m3() => Unresolved.foo; |
| 2662 /// m4() => unresolved.foo; | 2662 /// m4() => unresolved.foo; |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2869 /// } | 2869 /// } |
| 2870 /// m() => new C<int>(true, 42); | 2870 /// m() => new C<int>(true, 42); |
| 2871 /// | 2871 /// |
| 2872 /// where [type] is `C<int>`. | 2872 /// where [type] is `C<int>`. |
| 2873 /// | 2873 /// |
| 2874 R visitGenerativeConstructorInvoke( | 2874 R visitGenerativeConstructorInvoke( |
| 2875 NewExpression node, | 2875 NewExpression node, |
| 2876 ConstructorElement constructor, | 2876 ConstructorElement constructor, |
| 2877 InterfaceType type, | 2877 InterfaceType type, |
| 2878 NodeList arguments, | 2878 NodeList arguments, |
| 2879 Selector selector, | 2879 CallStructure callStructure, |
| 2880 A arg); | 2880 A arg); |
| 2881 | 2881 |
| 2882 /// Invocation of a redirecting generative [constructor] on [type] with | 2882 /// Invocation of a redirecting generative [constructor] on [type] with |
| 2883 /// [arguments]. | 2883 /// [arguments]. |
| 2884 /// | 2884 /// |
| 2885 /// For instance | 2885 /// For instance |
| 2886 /// class C<T> { | 2886 /// class C<T> { |
| 2887 /// C(a, b) : this._(b, a); | 2887 /// C(a, b) : this._(b, a); |
| 2888 /// C._(b, a); | 2888 /// C._(b, a); |
| 2889 /// } | 2889 /// } |
| 2890 /// m() => new C<int>(true, 42); | 2890 /// m() => new C<int>(true, 42); |
| 2891 /// | 2891 /// |
| 2892 /// where [type] is `C<int>`. | 2892 /// where [type] is `C<int>`. |
| 2893 /// | 2893 /// |
| 2894 R visitRedirectingGenerativeConstructorInvoke( | 2894 R visitRedirectingGenerativeConstructorInvoke( |
| 2895 NewExpression node, | 2895 NewExpression node, |
| 2896 ConstructorElement constructor, | 2896 ConstructorElement constructor, |
| 2897 InterfaceType type, | 2897 InterfaceType type, |
| 2898 NodeList arguments, | 2898 NodeList arguments, |
| 2899 Selector selector, | 2899 CallStructure callStructure, |
| 2900 A arg); | 2900 A arg); |
| 2901 | 2901 |
| 2902 /// Invocation of a factory [constructor] on [type] with [arguments]. | 2902 /// Invocation of a factory [constructor] on [type] with [arguments]. |
| 2903 /// | 2903 /// |
| 2904 /// For instance | 2904 /// For instance |
| 2905 /// class C<T> { | 2905 /// class C<T> { |
| 2906 /// factory C(a, b) => new C<T>._(b, a); | 2906 /// factory C(a, b) => new C<T>._(b, a); |
| 2907 /// C._(b, a); | 2907 /// C._(b, a); |
| 2908 /// } | 2908 /// } |
| 2909 /// m() => new C<int>(true, 42); | 2909 /// m() => new C<int>(true, 42); |
| 2910 /// | 2910 /// |
| 2911 /// where [type] is `C<int>`. | 2911 /// where [type] is `C<int>`. |
| 2912 /// | 2912 /// |
| 2913 R visitFactoryConstructorInvoke( | 2913 R visitFactoryConstructorInvoke( |
| 2914 NewExpression node, | 2914 NewExpression node, |
| 2915 ConstructorElement constructor, | 2915 ConstructorElement constructor, |
| 2916 InterfaceType type, | 2916 InterfaceType type, |
| 2917 NodeList arguments, | 2917 NodeList arguments, |
| 2918 Selector selector, | 2918 CallStructure callStructure, |
| 2919 A arg); | 2919 A arg); |
| 2920 | 2920 |
| 2921 /// Invocation of a factory [constructor] on [type] with [arguments] where | 2921 /// Invocation of a factory [constructor] on [type] with [arguments] where |
| 2922 /// [effectiveTarget] and [effectiveTargetType] are the constructor effective | 2922 /// [effectiveTarget] and [effectiveTargetType] are the constructor effective |
| 2923 /// invoked and its type, respectively. | 2923 /// invoked and its type, respectively. |
| 2924 /// | 2924 /// |
| 2925 /// For instance | 2925 /// For instance |
| 2926 /// class C<T> { | 2926 /// class C<T> { |
| 2927 /// factory C(a, b) = C<int>.a; | 2927 /// factory C(a, b) = C<int>.a; |
| 2928 /// factory C.a(a, b) = C<C<T>>.b; | 2928 /// factory C.a(a, b) = C<C<T>>.b; |
| 2929 /// C.b(a, b); | 2929 /// C.b(a, b); |
| 2930 /// } | 2930 /// } |
| 2931 /// m() => new C<double>(true, 42); | 2931 /// m() => new C<double>(true, 42); |
| 2932 /// | 2932 /// |
| 2933 /// where [type] is `C<double>`, [effectiveTarget] is `C.b` and | 2933 /// where [type] is `C<double>`, [effectiveTarget] is `C.b` and |
| 2934 /// [effectiveTargetType] is `C<C<int>>`. | 2934 /// [effectiveTargetType] is `C<C<int>>`. |
| 2935 /// | 2935 /// |
| 2936 R visitRedirectingFactoryConstructorInvoke( | 2936 R visitRedirectingFactoryConstructorInvoke( |
| 2937 NewExpression node, | 2937 NewExpression node, |
| 2938 ConstructorElement constructor, | 2938 ConstructorElement constructor, |
| 2939 InterfaceType type, | 2939 InterfaceType type, |
| 2940 ConstructorElement effectiveTarget, | 2940 ConstructorElement effectiveTarget, |
| 2941 InterfaceType effectiveTargetType, | 2941 InterfaceType effectiveTargetType, |
| 2942 NodeList arguments, | 2942 NodeList arguments, |
| 2943 Selector selector, | 2943 CallStructure callStructure, |
| 2944 A arg); | 2944 A arg); |
| 2945 | 2945 |
| 2946 /// Invocation of an unresolved [constructor] on [type] with [arguments]. | 2946 /// Invocation of an unresolved [constructor] on [type] with [arguments]. |
| 2947 /// | 2947 /// |
| 2948 /// For instance | 2948 /// For instance |
| 2949 /// class C<T> { | 2949 /// class C<T> { |
| 2950 /// C(); | 2950 /// C(); |
| 2951 /// } | 2951 /// } |
| 2952 /// m() => new C<int>.unresolved(true, 42); | 2952 /// m() => new C<int>.unresolved(true, 42); |
| 2953 /// | 2953 /// |
| (...skipping 29 matching lines...) Expand all Loading... |
| 2983 /// For instance | 2983 /// For instance |
| 2984 /// m() => new Unresolved(true, 42); | 2984 /// m() => new Unresolved(true, 42); |
| 2985 /// | 2985 /// |
| 2986 /// where [type] is the malformed type `Unresolved`. | 2986 /// where [type] is the malformed type `Unresolved`. |
| 2987 /// | 2987 /// |
| 2988 R errorAbstractClassConstructorInvoke( | 2988 R errorAbstractClassConstructorInvoke( |
| 2989 NewExpression node, | 2989 NewExpression node, |
| 2990 ConstructorElement element, | 2990 ConstructorElement element, |
| 2991 InterfaceType type, | 2991 InterfaceType type, |
| 2992 NodeList arguments, | 2992 NodeList arguments, |
| 2993 Selector selector, | 2993 CallStructure callStructure, |
| 2994 A arg); | 2994 A arg); |
| 2995 | 2995 |
| 2996 /// Invocation of a factory [constructor] on [type] with [arguments] where | 2996 /// Invocation of a factory [constructor] on [type] with [arguments] where |
| 2997 /// [effectiveTarget] and [effectiveTargetType] are the constructor effective | 2997 /// [effectiveTarget] and [effectiveTargetType] are the constructor effective |
| 2998 /// invoked and its type, respectively. | 2998 /// invoked and its type, respectively. |
| 2999 /// | 2999 /// |
| 3000 /// For instance | 3000 /// For instance |
| 3001 /// class C { | 3001 /// class C { |
| 3002 /// factory C(a, b) = Unresolved; | 3002 /// factory C(a, b) = Unresolved; |
| 3003 /// factory C.a(a, b) = C.unresolved; | 3003 /// factory C.a(a, b) = C.unresolved; |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3555 /// C() : this._(42); | 3555 /// C() : this._(42); |
| 3556 /// } | 3556 /// } |
| 3557 /// | 3557 /// |
| 3558 R errorUnresolvedThisConstructorInvoke( | 3558 R errorUnresolvedThisConstructorInvoke( |
| 3559 Send node, | 3559 Send node, |
| 3560 Element element, | 3560 Element element, |
| 3561 NodeList arguments, | 3561 NodeList arguments, |
| 3562 Selector selector, | 3562 Selector selector, |
| 3563 A arg); | 3563 A arg); |
| 3564 } | 3564 } |
| OLD | NEW |