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

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

Issue 1498573002: Hide inference hints. Fixes #24563. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Move TODO Created 5 years 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 engine.resolver_test; 5 library engine.resolver_test;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analyzer/src/context/context.dart' as newContext; 9 import 'package:analyzer/src/context/context.dart' as newContext;
10 import 'package:analyzer/src/generated/ast.dart'; 10 import 'package:analyzer/src/generated/ast.dart';
(...skipping 12569 matching lines...) Expand 10 before | Expand all | Expand 10 after
12580 return (stmt as ReturnStatement).expression; 12580 return (stmt as ReturnStatement).expression;
12581 } 12581 }
12582 } 12582 }
12583 expect(functionReturnValue(0).staticType, typeProvider.intType); 12583 expect(functionReturnValue(0).staticType, typeProvider.intType);
12584 expect(functionReturnValue(1).staticType, typeProvider.intType); 12584 expect(functionReturnValue(1).staticType, typeProvider.intType);
12585 expect(functionReturnValue(2).staticType, typeProvider.intType); 12585 expect(functionReturnValue(2).staticType, typeProvider.intType);
12586 expect(functionReturnValue(3).staticType, typeProvider.dynamicType); 12586 expect(functionReturnValue(3).staticType, typeProvider.dynamicType);
12587 expect(functionReturnValue(4).staticType, typeProvider.stringType); 12587 expect(functionReturnValue(4).staticType, typeProvider.stringType);
12588 } 12588 }
12589 12589
12590 void test_inference_hints() {
12591 Source source = addSource(r'''
12592 void main () {
12593 var x = 3;
12594 List<int> l0 = [];
12595 }
12596 ''');
12597 LibraryElement library = resolve2(source);
12598 assertNoErrors(source);
12599 verify([source]);
12600 }
12601
12590 void test_instanceCreation() { 12602 void test_instanceCreation() {
12591 String code = r''' 12603 String code = r'''
12592 class A<S, T> { 12604 class A<S, T> {
12593 S x; 12605 S x;
12594 T y; 12606 T y;
12595 A(this.x, this.y); 12607 A(this.x, this.y);
12596 A.named(this.x, this.y); 12608 A.named(this.x, this.y);
12597 } 12609 }
12598 12610
12599 class B<S, T> extends A<T, S> { 12611 class B<S, T> extends A<T, S> {
(...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after
13812 } 13824 }
13813 13825
13814 void test_getType_noScope() { 13826 void test_getType_noScope() {
13815 TypeOverrideManager manager = new TypeOverrideManager(); 13827 TypeOverrideManager manager = new TypeOverrideManager();
13816 expect(manager.getType(ElementFactory.localVariableElement2("v")), isNull); 13828 expect(manager.getType(ElementFactory.localVariableElement2("v")), isNull);
13817 } 13829 }
13818 } 13830 }
13819 13831
13820 @reflectiveTest 13832 @reflectiveTest
13821 class TypePropagationTest extends ResolverTestCase { 13833 class TypePropagationTest extends ResolverTestCase {
13822 void test_invocation_target_prefixed() {
13823 addNamedSource(
13824 '/helper.dart',
13825 '''
13826 library helper;
13827 int max(int x, int y) => 0;
13828 ''');
13829 String code = '''
13830 import 'helper.dart' as helper;
13831 main() {
13832 helper.max(10, 10); // marker
13833 }''';
13834 SimpleIdentifier methodName =
13835 _findMarkedIdentifier(code, "(10, 10); // marker");
13836 MethodInvocation methodInvoke = methodName.parent;
13837 expect(methodInvoke.methodName.staticElement, isNotNull);
13838 expect(methodInvoke.methodName.propagatedElement, isNull);
13839 }
13840
13841 void fail_mergePropagatedTypesAtJoinPoint_1() { 13834 void fail_mergePropagatedTypesAtJoinPoint_1() {
13842 // https://code.google.com/p/dart/issues/detail?id=19929 13835 // https://code.google.com/p/dart/issues/detail?id=19929
13843 _assertTypeOfMarkedExpression( 13836 _assertTypeOfMarkedExpression(
13844 r''' 13837 r'''
13845 f1(x) { 13838 f1(x) {
13846 var y = []; 13839 var y = [];
13847 if (x) { 13840 if (x) {
13848 y = 0; 13841 y = 0;
13849 } else { 13842 } else {
13850 y = ''; 13843 y = '';
(...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after
14650 expect(identifier.propagatedType, same(null)); 14643 expect(identifier.propagatedType, same(null));
14651 } 14644 }
14652 { 14645 {
14653 SimpleIdentifier identifier = EngineTestCase.findNode( 14646 SimpleIdentifier identifier = EngineTestCase.findNode(
14654 unit, code, "v; // marker", (node) => node is SimpleIdentifier); 14647 unit, code, "v; // marker", (node) => node is SimpleIdentifier);
14655 expect(identifier.staticType, same(typeProvider.intType)); 14648 expect(identifier.staticType, same(typeProvider.intType));
14656 expect(identifier.propagatedType, same(null)); 14649 expect(identifier.propagatedType, same(null));
14657 } 14650 }
14658 } 14651 }
14659 14652
14653 void test_invocation_target_prefixed() {
14654 addNamedSource(
14655 '/helper.dart',
14656 '''
14657 library helper;
14658 int max(int x, int y) => 0;
14659 ''');
14660 String code = '''
14661 import 'helper.dart' as helper;
14662 main() {
14663 helper.max(10, 10); // marker
14664 }''';
14665 SimpleIdentifier methodName =
14666 _findMarkedIdentifier(code, "(10, 10); // marker");
14667 MethodInvocation methodInvoke = methodName.parent;
14668 expect(methodInvoke.methodName.staticElement, isNotNull);
14669 expect(methodInvoke.methodName.propagatedElement, isNull);
14670 }
14671
14660 void test_is_conditional() { 14672 void test_is_conditional() {
14661 Source source = addSource(r''' 14673 Source source = addSource(r'''
14662 class A {} 14674 class A {}
14663 A f(var p) { 14675 A f(var p) {
14664 return (p is A) ? p : null; 14676 return (p is A) ? p : null;
14665 }'''); 14677 }''');
14666 LibraryElement library = resolve2(source); 14678 LibraryElement library = resolve2(source);
14667 assertNoErrors(source); 14679 assertNoErrors(source);
14668 verify([source]); 14680 verify([source]);
14669 CompilationUnit unit = resolveCompilationUnit(source, library); 14681 CompilationUnit unit = resolveCompilationUnit(source, library);
(...skipping 1574 matching lines...) Expand 10 before | Expand all | Expand 10 after
16244 16256
16245 void _resolveTestUnit(String code) { 16257 void _resolveTestUnit(String code) {
16246 testCode = code; 16258 testCode = code;
16247 testSource = addSource(testCode); 16259 testSource = addSource(testCode);
16248 LibraryElement library = resolve2(testSource); 16260 LibraryElement library = resolve2(testSource);
16249 assertNoErrors(testSource); 16261 assertNoErrors(testSource);
16250 verify([testSource]); 16262 verify([testSource]);
16251 testUnit = resolveCompilationUnit(testSource, library); 16263 testUnit = resolveCompilationUnit(testSource, library);
16252 } 16264 }
16253 } 16265 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/resolver.dart ('k') | pkg/analyzer/test/src/task/strong/strong_test_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698