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

Side by Side Diff: pkg/analyzer/test/src/summary/resynthesize_ast_test.dart

Issue 2353773002: Remove 'serializeLibrary(LibraryElement)' and its tests. (Closed)
Patch Set: Actually run strong mode AST based resynthesize. Created 4 years, 3 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) 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 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/element/element.dart'; 8 import 'package:analyzer/dart/element/element.dart';
9 import 'package:analyzer/src/dart/element/element.dart'; 9 import 'package:analyzer/src/dart/element/element.dart';
10 import 'package:analyzer/src/generated/engine.dart' 10 import 'package:analyzer/src/generated/engine.dart'
11 show AnalysisContext, AnalysisOptionsImpl; 11 show AnalysisContext, AnalysisOptionsImpl;
12 import 'package:analyzer/src/generated/sdk.dart'; 12 import 'package:analyzer/src/generated/sdk.dart';
13 import 'package:analyzer/src/generated/source.dart'; 13 import 'package:analyzer/src/generated/source.dart';
14 import 'package:analyzer/src/summary/format.dart'; 14 import 'package:analyzer/src/summary/format.dart';
15 import 'package:analyzer/src/summary/idl.dart'; 15 import 'package:analyzer/src/summary/idl.dart';
16 import 'package:analyzer/src/summary/link.dart'; 16 import 'package:analyzer/src/summary/link.dart';
17 import 'package:analyzer/src/summary/prelink.dart'; 17 import 'package:analyzer/src/summary/prelink.dart';
18 import 'package:analyzer/src/summary/resynthesize.dart'; 18 import 'package:analyzer/src/summary/resynthesize.dart';
19 import 'package:analyzer/src/summary/summarize_ast.dart'; 19 import 'package:analyzer/src/summary/summarize_ast.dart';
20 import 'package:analyzer/src/summary/summarize_elements.dart' 20 import 'package:analyzer/src/summary/summarize_elements.dart'
21 show PackageBundleAssembler; 21 show PackageBundleAssembler;
22 import 'package:analyzer/task/dart.dart' show PARSED_UNIT; 22 import 'package:analyzer/task/dart.dart' show PARSED_UNIT;
23 import 'package:analyzer/task/general.dart'; 23 import 'package:analyzer/task/general.dart';
24 import 'package:test_reflective_loader/test_reflective_loader.dart'; 24 import 'package:test_reflective_loader/test_reflective_loader.dart';
25 import 'package:unittest/unittest.dart'; 25 import 'package:unittest/unittest.dart';
26 26
27 import '../context/abstract_context.dart'; 27 import '../context/abstract_context.dart';
28 import '../task/strong/inferred_type_test.dart'; 28 import '../task/strong/inferred_type_test.dart';
29 import 'resynthesize_test.dart'; 29 import 'resynthesize_common.dart';
30 import 'summary_common.dart'; 30 import 'summary_common.dart';
31 31
32 main() { 32 main() {
33 groupSep = ' | '; 33 groupSep = ' | ';
34 defineReflectiveTests(ResynthesizeAstTest); 34 defineReflectiveTests(ResynthesizeAstSpecTest);
35 defineReflectiveTests(ResynthesizeAstStrongTest);
35 defineReflectiveTests(AstInferredTypeTest); 36 defineReflectiveTests(AstInferredTypeTest);
36 } 37 }
37 38
38 @reflectiveTest 39 @reflectiveTest
39 class AstInferredTypeTest extends AbstractResynthesizeTest 40 class AstInferredTypeTest extends AbstractResynthesizeTest
40 with _AstResynthesizeTestMixin, InferredTypeMixin { 41 with _AstResynthesizeTestMixin, InferredTypeMixin {
41 bool get checkPropagatedTypes { 42 bool get checkPropagatedTypes {
42 // AST-based summaries do not yet handle propagated types. 43 // AST-based summaries do not yet handle propagated types.
43 // TODO(paulberry): fix this. 44 // TODO(paulberry): fix this.
44 return false; 45 return false;
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 SummaryResynthesizer resynthesizer, Source source) { 677 SummaryResynthesizer resynthesizer, Source source) {
677 LibraryElementImpl resynthesized = 678 LibraryElementImpl resynthesized =
678 resynthesizer.getLibraryElement(source.uri.toString()); 679 resynthesizer.getLibraryElement(source.uri.toString());
679 LibraryElementImpl original = context.computeLibraryElement(source); 680 LibraryElementImpl original = context.computeLibraryElement(source);
680 checkLibraryElements(original, resynthesized); 681 checkLibraryElements(original, resynthesized);
681 return resynthesized; 682 return resynthesized;
682 } 683 }
683 } 684 }
684 685
685 @reflectiveTest 686 @reflectiveTest
686 class ResynthesizeAstTest extends ResynthesizeTest 687 class ResynthesizeAstSpecTest extends _ResynthesizeAstTest {
687 with _AstResynthesizeTestMixin {
688 @override 688 @override
689 bool get checkPropagatedTypes => false; 689 AnalysisOptionsImpl createOptions() =>
690 super.createOptions()..strongMode = false;
691 }
692
693 @reflectiveTest
694 class ResynthesizeAstStrongTest extends _ResynthesizeAstTest {
695 @override
696 AnalysisOptionsImpl createOptions() =>
697 super.createOptions()..strongMode = true;
690 698
691 @override 699 @override
692 LibraryElementImpl checkLibrary(String text, 700 @failingTest
693 {bool allowErrors: false, bool dumpSummaries: false}) { 701 test_const_invokeConstructor_named_unresolved() {
694 Source source = addTestSource(text); 702 super.test_const_invokeConstructor_named_unresolved();
695 LibraryElementImpl resynthesized = _encodeDecodeLibraryElement(source);
696 LibraryElementImpl original = context.computeLibraryElement(source);
697 checkLibraryElements(original, resynthesized);
698 return resynthesized;
699 } 703 }
700 704
701 @override 705 @override
702 DartSdk createDartSdk() => AbstractContextTest.SHARED_MOCK_SDK; 706 @failingTest
707 test_const_invokeConstructor_named_unresolved3() {
708 super.test_const_invokeConstructor_named_unresolved3();
709 }
703 710
704 @override 711 @override
705 TestSummaryResynthesizer encodeDecodeLibrarySource(Source source) { 712 @failingTest
706 return _encodeLibrary(source); 713 test_instantiateToBounds_boundRefersToLaterTypeArgument() {
714 // TODO(paulberry): this is failing due to dartbug.com/27072.
715 super.test_instantiateToBounds_boundRefersToLaterTypeArgument();
716 }
717
718 @override
719 @failingTest
720 test_syntheticFunctionType_genericClosure() {
721 super.test_syntheticFunctionType_genericClosure();
722 }
723
724 @override
725 @failingTest
726 test_syntheticFunctionType_inGenericClass() {
727 super.test_syntheticFunctionType_inGenericClass();
728 }
729
730 @override
731 @failingTest
732 test_syntheticFunctionType_noArguments() {
733 super.test_syntheticFunctionType_noArguments();
734 }
735
736 @override
737 @failingTest
738 test_syntheticFunctionType_withArguments() {
739 super.test_syntheticFunctionType_withArguments();
740 }
741
742 @override
743 @failingTest
744 test_unused_type_parameter() {
745 super.test_unused_type_parameter();
707 } 746 }
708 } 747 }
709 748
710 /** 749 /**
711 * Abstract mixin for serializing ASTs and resynthesizing elements from it. 750 * Abstract mixin for serializing ASTs and resynthesizing elements from it.
712 */ 751 */
713 abstract class _AstResynthesizeTestMixin 752 abstract class _AstResynthesizeTestMixin
714 implements _AstResynthesizeTestMixinInterface { 753 implements _AstResynthesizeTestMixinInterface {
715 final Set<Source> serializedSources = new Set<Source>(); 754 final Set<Source> serializedSources = new Set<Source>();
716 PackageBundleAssembler bundleAssembler = new PackageBundleAssembler(); 755 PackageBundleAssembler bundleAssembler = new PackageBundleAssembler();
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 * directly, because then it would be overriding a field at the site where the 895 * directly, because then it would be overriding a field at the site where the
857 * mixin is instantiated. 896 * mixin is instantiated.
858 */ 897 */
859 abstract class _AstResynthesizeTestMixinInterface { 898 abstract class _AstResynthesizeTestMixinInterface {
860 /** 899 /**
861 * A test should return `true` to indicate that a missing file at the time of 900 * A test should return `true` to indicate that a missing file at the time of
862 * summary resynthesis shouldn't trigger an error. 901 * summary resynthesis shouldn't trigger an error.
863 */ 902 */
864 bool get allowMissingFiles; 903 bool get allowMissingFiles;
865 } 904 }
905
906 abstract class _ResynthesizeAstTest extends ResynthesizeTest
907 with _AstResynthesizeTestMixin {
908 @override
909 bool get checkPropagatedTypes => false;
910
911 @override
912 LibraryElementImpl checkLibrary(String text,
913 {bool allowErrors: false, bool dumpSummaries: false}) {
914 Source source = addTestSource(text);
915 LibraryElementImpl resynthesized = _encodeDecodeLibraryElement(source);
916 LibraryElementImpl original = context.computeLibraryElement(source);
917 checkLibraryElements(original, resynthesized);
918 return resynthesized;
919 }
920
921 @override
922 void compareLocalElementsOfExecutable(ExecutableElement resynthesized,
923 ExecutableElement original, String desc) {
924 // We don't resynthesize local elements during link.
925 // So, we should not compare them.
926 }
927
928 @override
929 DartSdk createDartSdk() => AbstractContextTest.SHARED_MOCK_SDK;
930
931 @override
932 TestSummaryResynthesizer encodeDecodeLibrarySource(Source source) {
933 return _encodeLibrary(source);
934 }
935 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/summary/prelinker_test.dart ('k') | pkg/analyzer/test/src/summary/resynthesize_common.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698