Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: pkg/analyzer/test/generated/resolver_test.dart

Issue 2975253002: Format analyzer, analysis_server, analyzer_plugin, front_end and kernel with the latest dartfmt. (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 library analyzer.test.generated.resolver_test; 5 library analyzer.test.generated.resolver_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 1600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1611 CompilationUnit unit = await _computeResolvedUnit(source, noErrors: false); 1611 CompilationUnit unit = await _computeResolvedUnit(source, noErrors: false);
1612 FunctionDeclaration function = unit.declarations[0] as FunctionDeclaration; 1612 FunctionDeclaration function = unit.declarations[0] as FunctionDeclaration;
1613 BlockFunctionBody body = 1613 BlockFunctionBody body =
1614 function.functionExpression.body as BlockFunctionBody; 1614 function.functionExpression.body as BlockFunctionBody;
1615 var statement = body.block.statements[0] as VariableDeclarationStatement; 1615 var statement = body.block.statements[0] as VariableDeclarationStatement;
1616 SimpleIdentifier variableName = statement.variables.variables[0].name; 1616 SimpleIdentifier variableName = statement.variables.variables[0].name;
1617 expect(variableName.propagatedType, isNull); 1617 expect(variableName.propagatedType, isNull);
1618 } 1618 }
1619 1619
1620 test_invocation_target_prefixed() async { 1620 test_invocation_target_prefixed() async {
1621 addNamedSource( 1621 addNamedSource('/helper.dart', '''
1622 '/helper.dart',
1623 '''
1624 library helper; 1622 library helper;
1625 int max(int x, int y) => 0; 1623 int max(int x, int y) => 0;
1626 '''); 1624 ''');
1627 String code = ''' 1625 String code = '''
1628 import 'helper.dart' as helper; 1626 import 'helper.dart' as helper;
1629 main() { 1627 main() {
1630 helper.max(10, 10); // marker 1628 helper.max(10, 10); // marker
1631 }'''; 1629 }''';
1632 CompilationUnit unit = await resolveSource(code); 1630 CompilationUnit unit = await resolveSource(code);
1633 SimpleIdentifier methodName = 1631 SimpleIdentifier methodName =
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after
2176 print(x.y); // GOOD 2174 print(x.y); // GOOD
2177 } 2175 }
2178 x = null; 2176 x = null;
2179 }'''); 2177 }''');
2180 await computeAnalysisResult(source); 2178 await computeAnalysisResult(source);
2181 assertNoErrors(source); 2179 assertNoErrors(source);
2182 } 2180 }
2183 2181
2184 test_objectAccessInference_disabled_for_library_prefix() async { 2182 test_objectAccessInference_disabled_for_library_prefix() async {
2185 String name = 'hashCode'; 2183 String name = 'hashCode';
2186 addNamedSource( 2184 addNamedSource('/helper.dart', '''
2187 '/helper.dart',
2188 '''
2189 library helper; 2185 library helper;
2190 dynamic get $name => 42; 2186 dynamic get $name => 42;
2191 '''); 2187 ''');
2192 String code = ''' 2188 String code = '''
2193 import 'helper.dart' as helper; 2189 import 'helper.dart' as helper;
2194 main() { 2190 main() {
2195 helper.$name; // marker 2191 helper.$name; // marker
2196 }'''; 2192 }''';
2197 2193
2198 CompilationUnit unit = await resolveSource(code); 2194 CompilationUnit unit = await resolveSource(code);
(...skipping 25 matching lines...) Expand all
2224 }'''; 2220 }''';
2225 CompilationUnit unit = await resolveSource(code); 2221 CompilationUnit unit = await resolveSource(code);
2226 PropertyAccess access = 2222 PropertyAccess access =
2227 findMarkedIdentifier(code, unit, "; // marker").parent; 2223 findMarkedIdentifier(code, unit, "; // marker").parent;
2228 expect(access.staticType, typeProvider.dynamicType); 2224 expect(access.staticType, typeProvider.dynamicType);
2229 expect(access.realTarget.staticType, typeProvider.dynamicType); 2225 expect(access.realTarget.staticType, typeProvider.dynamicType);
2230 } 2226 }
2231 2227
2232 test_objectMethodInference_disabled_for_library_prefix() async { 2228 test_objectMethodInference_disabled_for_library_prefix() async {
2233 String name = 'toString'; 2229 String name = 'toString';
2234 addNamedSource( 2230 addNamedSource('/helper.dart', '''
2235 '/helper.dart',
2236 '''
2237 library helper; 2231 library helper;
2238 dynamic $name = (int x) => x + 42'); 2232 dynamic $name = (int x) => x + 42');
2239 '''); 2233 ''');
2240 String code = ''' 2234 String code = '''
2241 import 'helper.dart' as helper; 2235 import 'helper.dart' as helper;
2242 main() { 2236 main() {
2243 helper.$name(); // marker 2237 helper.$name(); // marker
2244 }'''; 2238 }''';
2245 CompilationUnit unit = await resolveSource(code); 2239 CompilationUnit unit = await resolveSource(code);
2246 SimpleIdentifier methodName = 2240 SimpleIdentifier methodName =
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
2674 expect(vd.variables.type.toString(), 'A'); 2668 expect(vd.variables.type.toString(), 'A');
2675 // The initializer is not resolved. 2669 // The initializer is not resolved.
2676 VariableDeclaration v = vd.variables.variables[0]; 2670 VariableDeclaration v = vd.variables.variables[0];
2677 var vi = v.initializer as InstanceCreationExpression; 2671 var vi = v.initializer as InstanceCreationExpression;
2678 expect(vi.constructorName.type.type, isNull); 2672 expect(vi.constructorName.type.type, isNull);
2679 } 2673 }
2680 } 2674 }
2681 2675
2682 test_modeLocal_noContext() async { 2676 test_modeLocal_noContext() async {
2683 CompilationUnit unit; 2677 CompilationUnit unit;
2684 _resolveTypeModeLocal( 2678 _resolveTypeModeLocal(r'''
2685 r'''
2686 class C { 2679 class C {
2687 A f = new A(); 2680 A f = new A();
2688 A m([A p = const A()]) { 2681 A m([A p = const A()]) {
2689 A v; 2682 A v;
2690 } 2683 }
2691 } 2684 }
2692 A f([A p = const A()]) { 2685 A f([A p = const A()]) {
2693 A v1 = new A(); 2686 A v1 = new A();
2694 A f2(A p2) { 2687 A f2(A p2) {
2695 A v2; 2688 A v2;
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
2788 expect(g.returnType.type, isNull); 2781 expect(g.returnType.type, isNull);
2789 // The body is resolved. 2782 // The body is resolved.
2790 var gb = g.functionExpression.body as ExpressionFunctionBody; 2783 var gb = g.functionExpression.body as ExpressionFunctionBody;
2791 var ge = gb.expression as InstanceCreationExpression; 2784 var ge = gb.expression as InstanceCreationExpression;
2792 expect(ge.constructorName.type.type.toString(), 'A'); 2785 expect(ge.constructorName.type.type.toString(), 'A');
2793 } 2786 }
2794 } 2787 }
2795 2788
2796 test_modeLocal_withContext_bad_methodBody() async { 2789 test_modeLocal_withContext_bad_methodBody() async {
2797 expect(() { 2790 expect(() {
2798 _resolveTypeModeLocal( 2791 _resolveTypeModeLocal(r'''
2799 r'''
2800 class C<T1> { 2792 class C<T1> {
2801 A m<T2>() { 2793 A m<T2>() {
2802 T1 v1; 2794 T1 v1;
2803 T2 v2; 2795 T2 v2;
2804 } 2796 }
2805 } 2797 }
2806 ''', (CompilationUnit u) { 2798 ''', (CompilationUnit u) {
2807 var c = u.declarations[0] as ClassDeclaration; 2799 var c = u.declarations[0] as ClassDeclaration;
2808 var m = c.members[0] as MethodDeclaration; 2800 var m = c.members[0] as MethodDeclaration;
2809 var mb = m.body as BlockFunctionBody; 2801 var mb = m.body as BlockFunctionBody;
2810 return mb; 2802 return mb;
2811 }); 2803 });
2812 }, throwsStateError); 2804 }, throwsStateError);
2813 } 2805 }
2814 2806
2815 test_modeLocal_withContext_bad_topLevelVariable_declaration() async { 2807 test_modeLocal_withContext_bad_topLevelVariable_declaration() async {
2816 expect(() { 2808 expect(() {
2817 _resolveTypeModeLocal( 2809 _resolveTypeModeLocal(r'''
2818 r'''
2819 var v = new A(); 2810 var v = new A();
2820 ''', (CompilationUnit u) { 2811 ''', (CompilationUnit u) {
2821 var tlv = u.declarations[0] as TopLevelVariableDeclaration; 2812 var tlv = u.declarations[0] as TopLevelVariableDeclaration;
2822 return tlv.variables.variables[0]; 2813 return tlv.variables.variables[0];
2823 }); 2814 });
2824 }, throwsStateError); 2815 }, throwsStateError);
2825 } 2816 }
2826 2817
2827 test_modeLocal_withContext_bad_topLevelVariable_initializer() async { 2818 test_modeLocal_withContext_bad_topLevelVariable_initializer() async {
2828 expect(() { 2819 expect(() {
2829 _resolveTypeModeLocal( 2820 _resolveTypeModeLocal(r'''
2830 r'''
2831 var v = new A(); 2821 var v = new A();
2832 ''', (CompilationUnit u) { 2822 ''', (CompilationUnit u) {
2833 var tlv = u.declarations[0] as TopLevelVariableDeclaration; 2823 var tlv = u.declarations[0] as TopLevelVariableDeclaration;
2834 return tlv.variables.variables[0].initializer; 2824 return tlv.variables.variables[0].initializer;
2835 }); 2825 });
2836 }, throwsStateError); 2826 }, throwsStateError);
2837 } 2827 }
2838 2828
2839 test_modeLocal_withContext_class() async { 2829 test_modeLocal_withContext_class() async {
2840 ClassDeclaration c; 2830 ClassDeclaration c;
2841 _resolveTypeModeLocal( 2831 _resolveTypeModeLocal(r'''
2842 r'''
2843 class C<T1> { 2832 class C<T1> {
2844 A m<T2>() { 2833 A m<T2>() {
2845 T1 v1; 2834 T1 v1;
2846 T2 v2; 2835 T2 v2;
2847 } 2836 }
2848 } 2837 }
2849 ''', (CompilationUnit u) { 2838 ''', (CompilationUnit u) {
2850 c = u.declarations[0] as ClassDeclaration; 2839 c = u.declarations[0] as ClassDeclaration;
2851 return c; 2840 return c;
2852 }); 2841 });
(...skipping 13 matching lines...) Expand all
2866 2855
2867 // The type of "v2" is resolved. 2856 // The type of "v2" is resolved.
2868 { 2857 {
2869 var vd = ms[1] as VariableDeclarationStatement; 2858 var vd = ms[1] as VariableDeclarationStatement;
2870 expect(vd.variables.type.type.toString(), 'T2'); 2859 expect(vd.variables.type.type.toString(), 'T2');
2871 } 2860 }
2872 } 2861 }
2873 2862
2874 test_modeLocal_withContext_inClass_constructor() async { 2863 test_modeLocal_withContext_inClass_constructor() async {
2875 ConstructorDeclaration cc; 2864 ConstructorDeclaration cc;
2876 _resolveTypeModeLocal( 2865 _resolveTypeModeLocal(r'''
2877 r'''
2878 class C<T> { 2866 class C<T> {
2879 C() { 2867 C() {
2880 T v1; 2868 T v1;
2881 } 2869 }
2882 } 2870 }
2883 ''', (CompilationUnit u) { 2871 ''', (CompilationUnit u) {
2884 var c = u.declarations[0] as ClassDeclaration; 2872 var c = u.declarations[0] as ClassDeclaration;
2885 cc = c.members[0] as ConstructorDeclaration; 2873 cc = c.members[0] as ConstructorDeclaration;
2886 return cc; 2874 return cc;
2887 }); 2875 });
2888 2876
2889 var ccb = cc.body as BlockFunctionBody; 2877 var ccb = cc.body as BlockFunctionBody;
2890 var ccs = ccb.block.statements; 2878 var ccs = ccb.block.statements;
2891 2879
2892 // The type of "v" is resolved. 2880 // The type of "v" is resolved.
2893 { 2881 {
2894 var vd = ccs[0] as VariableDeclarationStatement; 2882 var vd = ccs[0] as VariableDeclarationStatement;
2895 expect(vd.variables.type.type.toString(), 'T'); 2883 expect(vd.variables.type.type.toString(), 'T');
2896 } 2884 }
2897 } 2885 }
2898 2886
2899 test_modeLocal_withContext_inClass_method() async { 2887 test_modeLocal_withContext_inClass_method() async {
2900 MethodDeclaration m; 2888 MethodDeclaration m;
2901 _resolveTypeModeLocal( 2889 _resolveTypeModeLocal(r'''
2902 r'''
2903 class C<T1> { 2890 class C<T1> {
2904 A m<T2>() { 2891 A m<T2>() {
2905 T1 v1; 2892 T1 v1;
2906 T2 v2; 2893 T2 v2;
2907 } 2894 }
2908 } 2895 }
2909 ''', (CompilationUnit u) { 2896 ''', (CompilationUnit u) {
2910 var c = u.declarations[0] as ClassDeclaration; 2897 var c = u.declarations[0] as ClassDeclaration;
2911 m = c.members[0] as MethodDeclaration; 2898 m = c.members[0] as MethodDeclaration;
2912 return m; 2899 return m;
(...skipping 13 matching lines...) Expand all
2926 2913
2927 // The type of "v2" is resolved. 2914 // The type of "v2" is resolved.
2928 { 2915 {
2929 var vd = ms[1] as VariableDeclarationStatement; 2916 var vd = ms[1] as VariableDeclarationStatement;
2930 expect(vd.variables.type.type.toString(), 'T2'); 2917 expect(vd.variables.type.type.toString(), 'T2');
2931 } 2918 }
2932 } 2919 }
2933 2920
2934 test_modeLocal_withContext_topLevelFunction() async { 2921 test_modeLocal_withContext_topLevelFunction() async {
2935 FunctionDeclaration f; 2922 FunctionDeclaration f;
2936 _resolveTypeModeLocal( 2923 _resolveTypeModeLocal(r'''
2937 r'''
2938 A m<T>() { 2924 A m<T>() {
2939 T v; 2925 T v;
2940 } 2926 }
2941 ''', (CompilationUnit u) { 2927 ''', (CompilationUnit u) {
2942 f = u.declarations[0] as FunctionDeclaration; 2928 f = u.declarations[0] as FunctionDeclaration;
2943 return f; 2929 return f;
2944 }); 2930 });
2945 2931
2946 // The return type of "f" is not resolved. 2932 // The return type of "f" is not resolved.
2947 expect(f.returnType.type, isNull); 2933 expect(f.returnType.type, isNull);
2948 2934
2949 var fb = f.functionExpression.body as BlockFunctionBody; 2935 var fb = f.functionExpression.body as BlockFunctionBody;
2950 var fs = fb.block.statements; 2936 var fs = fb.block.statements;
2951 2937
2952 // The type of "v" is resolved. 2938 // The type of "v" is resolved.
2953 var vd = fs[0] as VariableDeclarationStatement; 2939 var vd = fs[0] as VariableDeclarationStatement;
2954 expect(vd.variables.type.type.toString(), 'T'); 2940 expect(vd.variables.type.type.toString(), 'T');
2955 } 2941 }
2956 2942
2957 test_modeLocal_withContext_topLevelVariable() async { 2943 test_modeLocal_withContext_topLevelVariable() async {
2958 TopLevelVariableDeclaration v; 2944 TopLevelVariableDeclaration v;
2959 _resolveTypeModeLocal( 2945 _resolveTypeModeLocal(r'''
2960 r'''
2961 A v = new A(); 2946 A v = new A();
2962 ''', (CompilationUnit u) { 2947 ''', (CompilationUnit u) {
2963 v = u.declarations[0] as TopLevelVariableDeclaration; 2948 v = u.declarations[0] as TopLevelVariableDeclaration;
2964 return v; 2949 return v;
2965 }); 2950 });
2966 2951
2967 // The type of "v" is not resolved. 2952 // The type of "v" is not resolved.
2968 expect(v.variables.type.type, isNull); 2953 expect(v.variables.type.type, isNull);
2969 2954
2970 // The type of "v" initializer is resolved. 2955 // The type of "v" initializer is resolved.
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
3613 */ 3598 */
3614 class _StaleElement extends ElementImpl { 3599 class _StaleElement extends ElementImpl {
3615 _StaleElement() : super("_StaleElement", -1); 3600 _StaleElement() : super("_StaleElement", -1);
3616 3601
3617 @override 3602 @override
3618 get kind => throw "_StaleElement's kind shouldn't be accessed"; 3603 get kind => throw "_StaleElement's kind shouldn't be accessed";
3619 3604
3620 @override 3605 @override
3621 T accept<T>(_) => throw "_StaleElement shouldn't be visited"; 3606 T accept<T>(_) => throw "_StaleElement shouldn't be visited";
3622 } 3607 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/generated/parser_test.dart ('k') | pkg/analyzer/test/generated/simple_resolver_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698