| 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 test.src.serialization.elements_test; | 5 library test.src.serialization.elements_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
| 10 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; | 10 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; |
| (...skipping 1969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1980 '''); | 1980 '''); |
| 1981 } | 1981 } |
| 1982 } | 1982 } |
| 1983 | 1983 |
| 1984 test_class_constructor_fieldFormal_named_withDefault() async { | 1984 test_class_constructor_fieldFormal_named_withDefault() async { |
| 1985 var library = await checkLibrary('class C { int x; C({this.x: 42}); }'); | 1985 var library = await checkLibrary('class C { int x; C({this.x: 42}); }'); |
| 1986 if (isStrongMode) { | 1986 if (isStrongMode) { |
| 1987 checkElementText(library, r''' | 1987 checkElementText(library, r''' |
| 1988 class C { | 1988 class C { |
| 1989 int x; | 1989 int x; |
| 1990 C({int this.x}); | 1990 C({int this.x: 42}); |
| 1991 } | 1991 } |
| 1992 '''); | 1992 '''); |
| 1993 } else { | 1993 } else { |
| 1994 checkElementText(library, r''' | 1994 checkElementText(library, r''' |
| 1995 class C { | 1995 class C { |
| 1996 int x; | 1996 int x; |
| 1997 C({int this.x}); | 1997 C({int this.x: 42}); |
| 1998 } | 1998 } |
| 1999 '''); | 1999 '''); |
| 2000 } | 2000 } |
| 2001 } | 2001 } |
| 2002 | 2002 |
| 2003 test_class_constructor_fieldFormal_optional_noDefault() async { | 2003 test_class_constructor_fieldFormal_optional_noDefault() async { |
| 2004 var library = await checkLibrary('class C { int x; C([this.x]); }'); | 2004 var library = await checkLibrary('class C { int x; C([this.x]); }'); |
| 2005 if (isStrongMode) { | 2005 if (isStrongMode) { |
| 2006 checkElementText(library, r''' | 2006 checkElementText(library, r''' |
| 2007 class C { | 2007 class C { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2018 '''); | 2018 '''); |
| 2019 } | 2019 } |
| 2020 } | 2020 } |
| 2021 | 2021 |
| 2022 test_class_constructor_fieldFormal_optional_withDefault() async { | 2022 test_class_constructor_fieldFormal_optional_withDefault() async { |
| 2023 var library = await checkLibrary('class C { int x; C([this.x = 42]); }'); | 2023 var library = await checkLibrary('class C { int x; C([this.x = 42]); }'); |
| 2024 if (isStrongMode) { | 2024 if (isStrongMode) { |
| 2025 checkElementText(library, r''' | 2025 checkElementText(library, r''' |
| 2026 class C { | 2026 class C { |
| 2027 int x; | 2027 int x; |
| 2028 C([int this.x]); | 2028 C([int this.x = 42]); |
| 2029 } | 2029 } |
| 2030 '''); | 2030 '''); |
| 2031 } else { | 2031 } else { |
| 2032 checkElementText(library, r''' | 2032 checkElementText(library, r''' |
| 2033 class C { | 2033 class C { |
| 2034 int x; | 2034 int x; |
| 2035 C([int this.x]); | 2035 C([int this.x = 42]); |
| 2036 } | 2036 } |
| 2037 '''); | 2037 '''); |
| 2038 } | 2038 } |
| 2039 } | 2039 } |
| 2040 | 2040 |
| 2041 test_class_constructor_implicit() async { | 2041 test_class_constructor_implicit() async { |
| 2042 var library = await checkLibrary('class C {}'); | 2042 var library = await checkLibrary('class C {}'); |
| 2043 if (isStrongMode) { | 2043 if (isStrongMode) { |
| 2044 checkElementText(library, r''' | 2044 checkElementText(library, r''' |
| 2045 class C { | 2045 class C { |
| (...skipping 1768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3814 class C { | 3814 class C { |
| 3815 final x; | 3815 final x; |
| 3816 const C({this.x: foo}); | 3816 const C({this.x: foo}); |
| 3817 } | 3817 } |
| 3818 int foo() => 42; | 3818 int foo() => 42; |
| 3819 '''); | 3819 '''); |
| 3820 if (isStrongMode) { | 3820 if (isStrongMode) { |
| 3821 checkElementText(library, r''' | 3821 checkElementText(library, r''' |
| 3822 class C { | 3822 class C { |
| 3823 final dynamic x; | 3823 final dynamic x; |
| 3824 const C({dynamic this.x}); | 3824 const C({dynamic this.x: |
| 3825 foo/*location: test.dart;foo*/}); |
| 3825 } | 3826 } |
| 3826 int foo() {} | 3827 int foo() {} |
| 3827 '''); | 3828 '''); |
| 3828 } else { | 3829 } else { |
| 3829 checkElementText(library, r''' | 3830 checkElementText(library, r''' |
| 3830 class C { | 3831 class C { |
| 3831 final dynamic x; | 3832 final dynamic x; |
| 3832 const C({dynamic this.x}); | 3833 const C({dynamic this.x: |
| 3834 foo/*location: test.dart;foo*/}); |
| 3833 } | 3835 } |
| 3834 int foo() {} | 3836 int foo() {} |
| 3835 '''); | 3837 '''); |
| 3836 } | 3838 } |
| 3837 } | 3839 } |
| 3838 | 3840 |
| 3839 test_const_parameterDefaultValue_initializingFormal_named() async { | 3841 test_const_parameterDefaultValue_initializingFormal_named() async { |
| 3840 var library = await checkLibrary(r''' | 3842 var library = await checkLibrary(r''' |
| 3841 class C { | 3843 class C { |
| 3842 final x; | 3844 final x; |
| 3843 const C({this.x: 1 + 2}); | 3845 const C({this.x: 1 + 2}); |
| 3844 } | 3846 } |
| 3845 '''); | 3847 '''); |
| 3846 if (isStrongMode) { | 3848 if (isStrongMode) { |
| 3847 checkElementText(library, r''' | 3849 checkElementText(library, r''' |
| 3848 class C { | 3850 class C { |
| 3849 final dynamic x; | 3851 final dynamic x; |
| 3850 const C({dynamic this.x}); | 3852 const C({dynamic this.x: 1 + 2}); |
| 3851 } | 3853 } |
| 3852 '''); | 3854 '''); |
| 3853 } else { | 3855 } else { |
| 3854 checkElementText(library, r''' | 3856 checkElementText(library, r''' |
| 3855 class C { | 3857 class C { |
| 3856 final dynamic x; | 3858 final dynamic x; |
| 3857 const C({dynamic this.x}); | 3859 const C({dynamic this.x: 1 + 2}); |
| 3858 } | 3860 } |
| 3859 '''); | 3861 '''); |
| 3860 } | 3862 } |
| 3861 } | 3863 } |
| 3862 | 3864 |
| 3863 test_const_parameterDefaultValue_initializingFormal_positional() async { | 3865 test_const_parameterDefaultValue_initializingFormal_positional() async { |
| 3864 var library = await checkLibrary(r''' | 3866 var library = await checkLibrary(r''' |
| 3865 class C { | 3867 class C { |
| 3866 final x; | 3868 final x; |
| 3867 const C([this.x = 1 + 2]); | 3869 const C([this.x = 1 + 2]); |
| 3868 } | 3870 } |
| 3869 '''); | 3871 '''); |
| 3870 if (isStrongMode) { | 3872 if (isStrongMode) { |
| 3871 checkElementText(library, r''' | 3873 checkElementText(library, r''' |
| 3872 class C { | 3874 class C { |
| 3873 final dynamic x; | 3875 final dynamic x; |
| 3874 const C([dynamic this.x]); | 3876 const C([dynamic this.x = 1 + 2]); |
| 3875 } | 3877 } |
| 3876 '''); | 3878 '''); |
| 3877 } else { | 3879 } else { |
| 3878 checkElementText(library, r''' | 3880 checkElementText(library, r''' |
| 3879 class C { | 3881 class C { |
| 3880 final dynamic x; | 3882 final dynamic x; |
| 3881 const C([dynamic this.x]); | 3883 const C([dynamic this.x = 1 + 2]); |
| 3882 } | 3884 } |
| 3883 '''); | 3885 '''); |
| 3884 } | 3886 } |
| 3885 } | 3887 } |
| 3886 | 3888 |
| 3887 test_const_parameterDefaultValue_normal() async { | 3889 test_const_parameterDefaultValue_normal() async { |
| 3888 var library = await checkLibrary(r''' | 3890 var library = await checkLibrary(r''' |
| 3889 class C { | 3891 class C { |
| 3890 const C.positional([p = 1 + 2]); | 3892 const C.positional([p = 1 + 2]); |
| 3891 const C.named({p: 1 + 2}); | 3893 const C.named({p: 1 + 2}); |
| (...skipping 5879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9771 } | 9773 } |
| 9772 | 9774 |
| 9773 test_metadata_fieldFormalParameter_withDefault() async { | 9775 test_metadata_fieldFormalParameter_withDefault() async { |
| 9774 var library = await checkLibrary( | 9776 var library = await checkLibrary( |
| 9775 'const a = null; class C { var x; C([@a this.x = null]); }'); | 9777 'const a = null; class C { var x; C([@a this.x = null]); }'); |
| 9776 if (isStrongMode) { | 9778 if (isStrongMode) { |
| 9777 checkElementText(library, r''' | 9779 checkElementText(library, r''' |
| 9778 class C { | 9780 class C { |
| 9779 dynamic x; | 9781 dynamic x; |
| 9780 C([@ | 9782 C([@ |
| 9781 a/*location: test.dart;a?*/ dynamic this.x]); | 9783 a/*location: test.dart;a?*/ dynamic this.x = null]); |
| 9782 } | 9784 } |
| 9783 const dynamic a = null; | 9785 const dynamic a = null; |
| 9784 '''); | 9786 '''); |
| 9785 } else { | 9787 } else { |
| 9786 checkElementText(library, r''' | 9788 checkElementText(library, r''' |
| 9787 class C { | 9789 class C { |
| 9788 dynamic x; | 9790 dynamic x; |
| 9789 C([@ | 9791 C([@ |
| 9790 a/*location: test.dart;a?*/ dynamic this.x]); | 9792 a/*location: test.dart;a?*/ dynamic this.x = null]); |
| 9791 } | 9793 } |
| 9792 const dynamic a = null; | 9794 const dynamic a = null; |
| 9793 '''); | 9795 '''); |
| 9794 } | 9796 } |
| 9795 } | 9797 } |
| 9796 | 9798 |
| 9797 test_metadata_functionDeclaration_function() async { | 9799 test_metadata_functionDeclaration_function() async { |
| 9798 var library = await checkLibrary(''' | 9800 var library = await checkLibrary(''' |
| 9799 const a = null; | 9801 const a = null; |
| 9800 @a | 9802 @a |
| (...skipping 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10944 class C { | 10946 class C { |
| 10945 var x; | 10947 var x; |
| 10946 C.positional([this.x = 1]); | 10948 C.positional([this.x = 1]); |
| 10947 C.named({this.x: 1}); | 10949 C.named({this.x: 1}); |
| 10948 } | 10950 } |
| 10949 '''); | 10951 '''); |
| 10950 if (isStrongMode) { | 10952 if (isStrongMode) { |
| 10951 checkElementText(library, r''' | 10953 checkElementText(library, r''' |
| 10952 class C { | 10954 class C { |
| 10953 dynamic x; | 10955 dynamic x; |
| 10954 C.positional([dynamic this.x]); | 10956 C.positional([dynamic this.x = 1]); |
| 10955 C.named({dynamic this.x}); | 10957 C.named({dynamic this.x: 1}); |
| 10956 } | 10958 } |
| 10957 '''); | 10959 '''); |
| 10958 } else { | 10960 } else { |
| 10959 checkElementText(library, r''' | 10961 checkElementText(library, r''' |
| 10960 class C { | 10962 class C { |
| 10961 dynamic x; | 10963 dynamic x; |
| 10962 C.positional([dynamic this.x]); | 10964 C.positional([dynamic this.x = 1]); |
| 10963 C.named({dynamic this.x}); | 10965 C.named({dynamic this.x: 1}); |
| 10964 } | 10966 } |
| 10965 '''); | 10967 '''); |
| 10966 } | 10968 } |
| 10967 } | 10969 } |
| 10968 | 10970 |
| 10969 test_parameterTypeNotInferred_staticMethod() async { | 10971 test_parameterTypeNotInferred_staticMethod() async { |
| 10970 // Strong mode doesn't do type inference on parameters of static methods, | 10972 // Strong mode doesn't do type inference on parameters of static methods, |
| 10971 // so it's ok that we don't store inferred type info for them in summaries. | 10973 // so it's ok that we don't store inferred type info for them in summaries. |
| 10972 var library = await checkLibrary(''' | 10974 var library = await checkLibrary(''' |
| 10973 class C { | 10975 class C { |
| (...skipping 2171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13145 fail('Unexpectedly tried to get unlinked summary for $uri'); | 13147 fail('Unexpectedly tried to get unlinked summary for $uri'); |
| 13146 } | 13148 } |
| 13147 return serializedUnit; | 13149 return serializedUnit; |
| 13148 } | 13150 } |
| 13149 | 13151 |
| 13150 @override | 13152 @override |
| 13151 bool hasLibrarySummary(String uri) { | 13153 bool hasLibrarySummary(String uri) { |
| 13152 return true; | 13154 return true; |
| 13153 } | 13155 } |
| 13154 } | 13156 } |
| OLD | NEW |