OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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.src.summary.resynthesize_ast_test; | 5 library analyzer.test.src.summary.resynthesize_ast_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/element/element.dart'; | 10 import 'package:analyzer/dart/element/element.dart'; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 | 51 |
52 @reflectiveTest | 52 @reflectiveTest |
53 class AstInferredTypeTest extends AbstractResynthesizeTest | 53 class AstInferredTypeTest extends AbstractResynthesizeTest |
54 with _AstResynthesizeTestMixin, InferredTypeMixin { | 54 with _AstResynthesizeTestMixin, InferredTypeMixin { |
55 @override | 55 @override |
56 bool get isStrongMode => true; | 56 bool get isStrongMode => true; |
57 | 57 |
58 @override | 58 @override |
59 bool get mayCheckTypesOfLocals => false; | 59 bool get mayCheckTypesOfLocals => false; |
60 | 60 |
| 61 bool shouldCompareElementsWithAnalysisContext = true; |
| 62 |
61 @override | 63 @override |
62 void addFile(String content, {String name: '/main.dart'}) { | 64 void addFile(String content, {String name: '/main.dart'}) { |
63 addLibrarySource(name, content); | 65 addLibrarySource(name, content); |
64 } | 66 } |
65 | 67 |
66 @override | 68 @override |
67 Future<CompilationUnitElement> checkFileElement(String content) async { | 69 Future<CompilationUnitElement> checkFileElement(String content) async { |
68 Source source = addSource('/main.dart', content); | 70 Source source = addSource('/main.dart', content); |
69 SummaryResynthesizer resynthesizer = _encodeLibrary(source); | 71 SummaryResynthesizer resynthesizer = _encodeLibrary(source); |
70 LibraryElementImpl resynthesized = _checkSource(resynthesizer, source); | 72 LibraryElementImpl resynthesized = _checkSource(resynthesizer, source); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 } | 152 } |
151 | 153 |
152 @override | 154 @override |
153 @failingTest | 155 @failingTest |
154 test_blockBodiedLambdas_nestedLambdas_topLevel() async { | 156 test_blockBodiedLambdas_nestedLambdas_topLevel() async { |
155 await super.test_blockBodiedLambdas_nestedLambdas_topLevel(); | 157 await super.test_blockBodiedLambdas_nestedLambdas_topLevel(); |
156 } | 158 } |
157 | 159 |
158 @override | 160 @override |
159 @failingTest | 161 @failingTest |
| 162 test_blockBodiedLambdas_noReturn_topLevel() => |
| 163 super.test_blockBodiedLambdas_noReturn_topLevel(); |
| 164 |
| 165 @override |
| 166 @failingTest |
160 test_blockBodiedLambdas_syncStar_topLevel() async { | 167 test_blockBodiedLambdas_syncStar_topLevel() async { |
161 await super.test_blockBodiedLambdas_syncStar_topLevel(); | 168 await super.test_blockBodiedLambdas_syncStar_topLevel(); |
162 } | 169 } |
163 | 170 |
164 @override | 171 @override |
165 @failingTest | 172 @failingTest |
166 test_circularReference_viaClosures_initializerTypes() async { | 173 test_circularReference_viaClosures_initializerTypes() async { |
167 await super.test_circularReference_viaClosures_initializerTypes(); | 174 await super.test_circularReference_viaClosures_initializerTypes(); |
168 } | 175 } |
169 | 176 |
170 @override | |
171 @failingTest | |
172 test_blockBodiedLambdas_noReturn_topLevel() => | |
173 super.test_blockBodiedLambdas_noReturn_topLevel(); | |
174 | |
175 @failingTest | |
176 @override | |
177 test_listLiteralsCanInferNull_topLevel() => | |
178 super.test_listLiteralsCanInferNull_topLevel(); | |
179 | |
180 @failingTest | |
181 @override | |
182 test_mapLiteralsCanInferNull_topLevel() => | |
183 super.test_mapLiteralsCanInferNull_topLevel(); | |
184 | |
185 test_infer_extractIndex_custom() async { | 177 test_infer_extractIndex_custom() async { |
186 var unit = await checkFileElement(''' | 178 var unit = await checkFileElement(''' |
187 class A { | 179 class A { |
188 String operator [](_) => null; | 180 String operator [](_) => null; |
189 } | 181 } |
190 var a = new A(); | 182 var a = new A(); |
191 var b = a[0]; | 183 var b = a[0]; |
192 '''); | 184 '''); |
193 expect(unit.topLevelVariables[1].type.toString(), 'String'); | 185 expect(unit.topLevelVariables[1].type.toString(), 'String'); |
194 } | 186 } |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 test_inferredType_blockBodiedClosure_noArguments() async { | 526 test_inferredType_blockBodiedClosure_noArguments() async { |
535 await super.test_inferredType_blockBodiedClosure_noArguments(); | 527 await super.test_inferredType_blockBodiedClosure_noArguments(); |
536 } | 528 } |
537 | 529 |
538 @override | 530 @override |
539 @failingTest | 531 @failingTest |
540 test_inferredType_blockClosure_noArgs_noReturn() async { | 532 test_inferredType_blockClosure_noArgs_noReturn() async { |
541 await super.test_inferredType_blockClosure_noArgs_noReturn(); | 533 await super.test_inferredType_blockClosure_noArgs_noReturn(); |
542 } | 534 } |
543 | 535 |
| 536 @override |
| 537 test_instantiateToBounds_typeName_OK_hasBound_definedAfter() async { |
| 538 shouldCompareElementsWithAnalysisContext = false; |
| 539 await super.test_instantiateToBounds_typeName_OK_hasBound_definedAfter(); |
| 540 } |
| 541 |
544 test_invokeMethod_notGeneric_genericClass() async { | 542 test_invokeMethod_notGeneric_genericClass() async { |
545 var unit = await checkFileElement(r''' | 543 var unit = await checkFileElement(r''' |
546 class C<T> { | 544 class C<T> { |
547 T m(int a, {String b, T c}) => null; | 545 T m(int a, {String b, T c}) => null; |
548 } | 546 } |
549 var v = new C<double>().m(1, b: 'bbb', c: 2.0); | 547 var v = new C<double>().m(1, b: 'bbb', c: 2.0); |
550 '''); | 548 '''); |
551 expect(unit.topLevelVariables[0].type.toString(), 'double'); | 549 expect(unit.topLevelVariables[0].type.toString(), 'double'); |
552 } | 550 } |
553 | 551 |
554 test_invokeMethod_notGeneric_notGenericClass() async { | 552 test_invokeMethod_notGeneric_notGenericClass() async { |
555 var unit = await checkFileElement(r''' | 553 var unit = await checkFileElement(r''' |
556 class C { | 554 class C { |
557 int m(int a, {String b, int c}) => null; | 555 int m(int a, {String b, int c}) => null; |
558 } | 556 } |
559 var v = new C().m(1, b: 'bbb', c: 2.0); | 557 var v = new C().m(1, b: 'bbb', c: 2.0); |
560 '''); | 558 '''); |
561 expect(unit.topLevelVariables[0].type.toString(), 'int'); | 559 expect(unit.topLevelVariables[0].type.toString(), 'int'); |
562 } | 560 } |
563 | 561 |
| 562 @failingTest |
| 563 @override |
| 564 test_listLiteralsCanInferNull_topLevel() => |
| 565 super.test_listLiteralsCanInferNull_topLevel(); |
| 566 |
| 567 @failingTest |
| 568 @override |
| 569 test_mapLiteralsCanInferNull_topLevel() => |
| 570 super.test_mapLiteralsCanInferNull_topLevel(); |
| 571 |
564 @override | 572 @override |
565 @failingTest | 573 @failingTest |
566 test_nullCoalescingOperator() async { | 574 test_nullCoalescingOperator() async { |
567 await super.test_nullCoalescingOperator(); | 575 await super.test_nullCoalescingOperator(); |
568 } | 576 } |
569 | 577 |
570 @override | 578 @override |
571 @failingTest | 579 @failingTest |
572 test_unsafeBlockClosureInference_closureCall() async { | 580 test_unsafeBlockClosureInference_closureCall() async { |
573 await super.test_unsafeBlockClosureInference_closureCall(); | 581 await super.test_unsafeBlockClosureInference_closureCall(); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
666 @failingTest | 674 @failingTest |
667 test_unsafeBlockClosureInference_methodCall_implicitTypeParam_comment() async
{ | 675 test_unsafeBlockClosureInference_methodCall_implicitTypeParam_comment() async
{ |
668 return super | 676 return super |
669 .test_unsafeBlockClosureInference_methodCall_implicitTypeParam_comment()
; | 677 .test_unsafeBlockClosureInference_methodCall_implicitTypeParam_comment()
; |
670 } | 678 } |
671 | 679 |
672 LibraryElementImpl _checkSource( | 680 LibraryElementImpl _checkSource( |
673 SummaryResynthesizer resynthesizer, Source source) { | 681 SummaryResynthesizer resynthesizer, Source source) { |
674 LibraryElementImpl resynthesized = | 682 LibraryElementImpl resynthesized = |
675 resynthesizer.getLibraryElement(source.uri.toString()); | 683 resynthesizer.getLibraryElement(source.uri.toString()); |
676 LibraryElementImpl original = context.computeLibraryElement(source); | 684 if (shouldCompareElementsWithAnalysisContext) { |
677 checkLibraryElements(original, resynthesized); | 685 LibraryElementImpl original = context.computeLibraryElement(source); |
| 686 checkLibraryElements(original, resynthesized); |
| 687 } |
678 return resynthesized; | 688 return resynthesized; |
679 } | 689 } |
680 } | 690 } |
681 | 691 |
682 @reflectiveTest | 692 @reflectiveTest |
683 class ResynthesizeAstSpecTest extends _ResynthesizeAstTest { | 693 class ResynthesizeAstSpecTest extends _ResynthesizeAstTest { |
684 @override | 694 @override |
685 bool get isStrongMode => false; | 695 bool get isStrongMode => false; |
686 } | 696 } |
687 | 697 |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
908 | 918 |
909 @override | 919 @override |
910 AnalysisOptionsImpl createOptions() => | 920 AnalysisOptionsImpl createOptions() => |
911 super.createOptions()..strongMode = isStrongMode; | 921 super.createOptions()..strongMode = isStrongMode; |
912 | 922 |
913 @override | 923 @override |
914 TestSummaryResynthesizer encodeDecodeLibrarySource(Source source) { | 924 TestSummaryResynthesizer encodeDecodeLibrarySource(Source source) { |
915 return _encodeLibrary(source); | 925 return _encodeLibrary(source); |
916 } | 926 } |
917 } | 927 } |
OLD | NEW |