| Index: pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
|
| diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart b/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
|
| index 4fde69aa1d6d524f7f94f5cbeb6ea0a04a46d083..2cb5cc0d8ffd4b23129bb1c95837d581d2a10a64 100644
|
| --- a/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
|
| +++ b/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
|
| @@ -4,8 +4,6 @@
|
|
|
| library analyzer.test.src.summary.resynthesize_ast_test;
|
|
|
| -import 'dart:async';
|
| -
|
| import 'package:analyzer/dart/ast/ast.dart';
|
| import 'package:analyzer/dart/element/element.dart';
|
| import 'package:analyzer/error/error.dart';
|
| @@ -28,7 +26,6 @@ import 'package:test/test.dart';
|
| import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
| import '../context/abstract_context.dart';
|
| -import '../task/strong/inferred_type_test.dart';
|
| import 'element_text.dart';
|
| import 'resynthesize_common.dart';
|
| import 'summary_common.dart';
|
| @@ -37,7 +34,6 @@ main() {
|
| defineReflectiveSuite(() {
|
| defineReflectiveTests(ResynthesizeAstSpecTest);
|
| defineReflectiveTests(ResynthesizeAstStrongTest);
|
| - defineReflectiveTests(AstInferredTypeTest);
|
| defineReflectiveTests(ApplyCheckElementTextReplacements);
|
| });
|
| }
|
| @@ -50,636 +46,6 @@ class ApplyCheckElementTextReplacements {
|
| }
|
|
|
| @reflectiveTest
|
| -class AstInferredTypeTest extends AbstractResynthesizeTest
|
| - with _AstResynthesizeTestMixin, InferredTypeMixin {
|
| - @override
|
| - bool get isStrongMode => true;
|
| -
|
| - @override
|
| - bool get mayCheckTypesOfLocals => false;
|
| -
|
| - @override
|
| - void addFile(String content, {String name: '/main.dart'}) {
|
| - addLibrarySource(name, content);
|
| - }
|
| -
|
| - @override
|
| - Future<CompilationUnitElement> checkFileElement(String content) async {
|
| - Source source = addSource('/main.dart', content);
|
| - SummaryResynthesizer resynthesizer = _encodeLibrary(source);
|
| - LibraryElementImpl resynthesized = _checkSource(resynthesizer, source);
|
| - for (Source otherSource in otherLibrarySources) {
|
| - _checkSource(resynthesizer, otherSource);
|
| - }
|
| - _reset();
|
| - return resynthesized.definingCompilationUnit;
|
| - }
|
| -
|
| - @override
|
| - void compareLocalElementsOfExecutable(ExecutableElement resynthesized,
|
| - ExecutableElement original, String desc) {
|
| - // We don't resynthesize local elements during link.
|
| - // So, we should not compare them.
|
| - }
|
| -
|
| - @override
|
| - DartSdk createDartSdk() => AbstractContextTest.SHARED_STRONG_MOCK_SDK;
|
| -
|
| - @override
|
| - AnalysisOptionsImpl createOptions() =>
|
| - new AnalysisOptionsImpl()..strongMode = true;
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_async_allReturnsAreFutures_topLevel() async {
|
| - await super.test_blockBodiedLambdas_async_allReturnsAreFutures_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_async_allReturnsAreValues_topLevel() async {
|
| - await super.test_blockBodiedLambdas_async_allReturnsAreValues_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_async_mixOfValuesAndFutures_topLevel() async {
|
| - await super.test_blockBodiedLambdas_async_mixOfValuesAndFutures_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_asyncStar_topLevel() async {
|
| - await super.test_blockBodiedLambdas_asyncStar_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_basic_topLevel() async {
|
| - await super.test_blockBodiedLambdas_basic_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_inferBottom_async_topLevel() async {
|
| - await super.test_blockBodiedLambdas_inferBottom_async_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_inferBottom_asyncStar_topLevel() async {
|
| - await super.test_blockBodiedLambdas_inferBottom_asyncStar_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_inferBottom_sync_topLevel() async {
|
| - await super.test_blockBodiedLambdas_inferBottom_sync_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_inferBottom_syncStar_topLevel() async {
|
| - await super.test_blockBodiedLambdas_inferBottom_syncStar_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_LUB_topLevel() async {
|
| - await super.test_blockBodiedLambdas_LUB_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_nestedLambdas_topLevel() async {
|
| - await super.test_blockBodiedLambdas_nestedLambdas_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_syncStar_topLevel() async {
|
| - await super.test_blockBodiedLambdas_syncStar_topLevel();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_circularReference_viaClosures_initializerTypes() async {
|
| - await super.test_circularReference_viaClosures_initializerTypes();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_blockBodiedLambdas_noReturn_topLevel() =>
|
| - super.test_blockBodiedLambdas_noReturn_topLevel();
|
| -
|
| - @failingTest
|
| - @override
|
| - test_listLiteralsCanInferNull_topLevel() =>
|
| - super.test_listLiteralsCanInferNull_topLevel();
|
| -
|
| - @failingTest
|
| - @override
|
| - test_mapLiteralsCanInferNull_topLevel() =>
|
| - super.test_mapLiteralsCanInferNull_topLevel();
|
| -
|
| - test_infer_extractIndex_custom() async {
|
| - var unit = await checkFileElement('''
|
| -class A {
|
| - String operator [](_) => null;
|
| -}
|
| -var a = new A();
|
| -var b = a[0];
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'String');
|
| - }
|
| -
|
| - test_infer_extractIndex_fromList() async {
|
| - var unit = await checkFileElement('''
|
| -var a = <int>[1, 2, 3];
|
| -var b = a[0];
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'int');
|
| - }
|
| -
|
| - test_infer_extractIndex_fromMap() async {
|
| - var unit = await checkFileElement('''
|
| -var a = <int, double>{};
|
| -var b = a[0];
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'double');
|
| - }
|
| -
|
| - test_infer_extractProperty_getter() async {
|
| - await checkFileElement(r'''
|
| -var a = 1.isEven;
|
| -var b = 2.isNaN;
|
| -var c = 3.foo;
|
| -var d = foo.bar;
|
| - ''');
|
| - }
|
| -
|
| - test_infer_extractProperty_getter_sequence() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A {
|
| - B b = new B();
|
| -}
|
| -class B {
|
| - C c = new C();
|
| -}
|
| -class C {
|
| - int d;
|
| -}
|
| -var a = new A();
|
| -var v = a.b.c.d;
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_extractProperty_getter_sequence_generic() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A<T> {
|
| - B<T> b = new B<T>();
|
| -}
|
| -class B<K> {
|
| - C<List<K>, int> c = new C<List<K>, int>();
|
| -}
|
| -class C<K, V> {
|
| - Map<K, V> d;
|
| -}
|
| -var a = new A<double>();
|
| -var v = a.b.c.d;
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_extractProperty_getter_sequence_withUnresolved() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A {
|
| - B b = new B();
|
| -}
|
| -class B {
|
| - int c;
|
| -}
|
| -var a = new A();
|
| -var v = a.b.foo.c;
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_extractProperty_method() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A {
|
| - int m(double p1, String p2) => 42;
|
| -}
|
| -var a = new A();
|
| -var v = a.m;
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), '(double, String) → int');
|
| - }
|
| -
|
| - test_infer_extractProperty_method2() async {
|
| - var unit = await checkFileElement(r'''
|
| -var a = 1.round;
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), '() → int');
|
| - }
|
| -
|
| - test_infer_extractProperty_method_sequence() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A {
|
| - B b = new B();
|
| -}
|
| -class B {
|
| - C c = new C();
|
| -}
|
| -class C {
|
| - int m(double p1, String p2) => 42;
|
| -}
|
| -var a = new A();
|
| -var v = a.b.c.m;
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_invokeConstructor_factoryRedirected() async {
|
| - await checkFileElement(r'''
|
| -class A {
|
| - factory A() = B;
|
| -}
|
| -class B implements A {}
|
| -var a = new A();
|
| - ''');
|
| - }
|
| -
|
| - test_infer_invokeConstructor_named() async {
|
| - await checkFileElement(r'''
|
| -class A {
|
| - A.aaa();
|
| -}
|
| -class B<K, V> {
|
| - B.bbb();
|
| -}
|
| -var a = new A.aaa();
|
| -var b1 = new B.bbb();
|
| -var b2 = new B<int, String>.bbb();
|
| -var b3 = new B<List<int>, Map<List<int>, Set<String>>>.bbb();
|
| - ''');
|
| - }
|
| -
|
| - test_infer_invokeConstructor_named_importedWithPrefix() async {
|
| - addFile(
|
| - r'''
|
| -class A {
|
| - A.aaa();
|
| -}
|
| -class B<K, V> {
|
| - B.bbb();
|
| -}
|
| -''',
|
| - name: '/a.dart');
|
| - await checkFileElement(r'''
|
| -import 'a.dart' as p;
|
| -var a = new p.A.aaa();
|
| -var b1 = new p.B.bbb();
|
| -var b2 = new p.B<int, String>.bbb();
|
| - ''');
|
| - }
|
| -
|
| - test_infer_invokeConstructor_unnamed() async {
|
| - await checkFileElement(r'''
|
| -class A {
|
| - A();
|
| -}
|
| -class B<T> {
|
| - B();
|
| -}
|
| -var a = new A();
|
| -var b1 = new B();
|
| -var b2 = new B<int>();
|
| - ''');
|
| - }
|
| -
|
| - test_infer_invokeConstructor_unnamed_synthetic() async {
|
| - await checkFileElement(r'''
|
| -class A {}
|
| -class B<T> {}
|
| -var a = new A();
|
| -var b1 = new B();
|
| -var b2 = new B<int>();
|
| - ''');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_function() async {
|
| - var unit = await checkFileElement(r'''
|
| -int m() => 0;
|
| -var a = m();
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'int');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_function_generic() async {
|
| - var unit = await checkFileElement(r'''
|
| -/*=Map<int, V>*/ m/*<V>*/(/*=V*/ a) => null;
|
| -var a = m(2.3);
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'Map<int, double>');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_function_importedWithPrefix() async {
|
| - addFile(
|
| - r'''
|
| -int m() => 0;
|
| -''',
|
| - name: '/a.dart');
|
| - var unit = await checkFileElement(r'''
|
| -import 'a.dart' as p;
|
| -var a = p.m();
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'int');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A {
|
| - int m() => 0;
|
| -}
|
| -var a = new A();
|
| -var b = a.m();
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'int');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_g() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A {
|
| - /*=T*/ m/*<T>*/(/*=T*/ a) => null;
|
| -}
|
| -var a = new A();
|
| -var b = a.m(1.0);
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'double');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_genericSequence() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A<T> {
|
| - B<T> b = new B<T>();
|
| -}
|
| -class B<K> {
|
| - C<List<K>, int> c = new C<List<K>, int>();
|
| -}
|
| -class C<K, V> {
|
| - Map<K, V> m() => null;
|
| -}
|
| -var a = new A<double>();
|
| -var v = a.b.c.m();
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_gg() async {
|
| - var unit = await checkFileElement(r'''
|
| -class A<K> {
|
| - /*=Map<K, V>*/ m/*<V>*/(/*=V*/ a) => null;
|
| -}
|
| -var a = new A<int>();
|
| -var b = a.m(1.0);
|
| - ''');
|
| - expect(unit.topLevelVariables[1].type.toString(), 'Map<int, double>');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_importedWithPrefix() async {
|
| - addFile(
|
| - r'''
|
| -class A {
|
| - int m() => 0;
|
| -}
|
| -var a = new A();
|
| -''',
|
| - name: '/a.dart');
|
| - var unit = await checkFileElement(r'''
|
| -import 'a.dart' as p;
|
| -var b = p.a.m();
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'int');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_importedWithPrefix2() async {
|
| - addFile(
|
| - r'''
|
| -class A {
|
| - B b = new B();
|
| -}
|
| -class B {
|
| - int m() => 0;
|
| -}
|
| -var a = new A();
|
| -''',
|
| - name: '/a.dart');
|
| - var unit = await checkFileElement(r'''
|
| -import 'a.dart' as p;
|
| -var b = p.a.b.m();
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_withInferredTypeInLibraryCycle() async {
|
| - var unit = await checkFileElement('''
|
| -class Base {
|
| - int m() => 0;
|
| -}
|
| -class A extends Base {
|
| - m() => 0; // Inferred return type: int
|
| -}
|
| -var a = new A();
|
| -var b = a.m();
|
| - ''');
|
| - // Type inference operates on static and top level variables prior to
|
| - // instance members. So at the time `b` is inferred, `A.m` still has return
|
| - // type `dynamic`.
|
| - expect(unit.topLevelVariables[1].type.toString(), 'dynamic');
|
| - }
|
| -
|
| - test_infer_invokeMethodRef_method_withInferredTypeOutsideLibraryCycle() async {
|
| - addFile(
|
| - '''
|
| -class Base {
|
| - int m() => 0;
|
| -}
|
| -class A extends Base {
|
| - m() => 0; // Inferred return type: int
|
| -}
|
| -''',
|
| - name: '/a.dart');
|
| - var unit = await checkFileElement('''
|
| -import 'a.dart';
|
| -var a = new A();
|
| -var b = a.m();
|
| -''');
|
| - // Since a.dart is in a separate library file from the compilation unit
|
| - // containing `a` and `b`, its types are inferred first; then `a` and `b`'s
|
| - // types are inferred. So the inferred return type of `int` should be
|
| - // propagated to `b`.
|
| - expect(unit.topLevelVariables[1].type.toString(), 'int');
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_inferLocalFunctionReturnType() async {
|
| - await super.test_inferLocalFunctionReturnType();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_inferredType_blockBodiedClosure_noArguments() async {
|
| - await super.test_inferredType_blockBodiedClosure_noArguments();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_inferredType_blockClosure_noArgs_noReturn() async {
|
| - await super.test_inferredType_blockClosure_noArgs_noReturn();
|
| - }
|
| -
|
| - test_invokeMethod_notGeneric_genericClass() async {
|
| - var unit = await checkFileElement(r'''
|
| -class C<T> {
|
| - T m(int a, {String b, T c}) => null;
|
| -}
|
| -var v = new C<double>().m(1, b: 'bbb', c: 2.0);
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'double');
|
| - }
|
| -
|
| - test_invokeMethod_notGeneric_notGenericClass() async {
|
| - var unit = await checkFileElement(r'''
|
| -class C {
|
| - int m(int a, {String b, int c}) => null;
|
| -}
|
| -var v = new C().m(1, b: 'bbb', c: 2.0);
|
| - ''');
|
| - expect(unit.topLevelVariables[0].type.toString(), 'int');
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_nullCoalescingOperator() async {
|
| - await super.test_nullCoalescingOperator();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_closureCall() async {
|
| - await super.test_unsafeBlockClosureInference_closureCall();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_constructorCall_implicitTypeParam() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_constructorCall_implicitTypeParam();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_explicitDynamicParam_viaExpr2() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_explicitDynamicParam_viaExpr2();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_explicitDynamicParam_viaExpr2_comment() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_explicitDynamicParam_viaExpr2_comment();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_explicitTypeParam_viaExpr2() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_explicitTypeParam_viaExpr2();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_explicitTypeParam_viaExpr2_comment() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_explicitTypeParam_viaExpr2_comment();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_implicitTypeParam() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_implicitTypeParam();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_implicitTypeParam_comment() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_implicitTypeParam_comment();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_implicitTypeParam_viaExpr() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_implicitTypeParam_viaExpr();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_implicitTypeParam_viaExpr_comment() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_implicitTypeParam_viaExpr_comment();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_functionCall_noTypeParam_viaExpr() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_functionCall_noTypeParam_viaExpr();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_inList_untyped() async {
|
| - await super.test_unsafeBlockClosureInference_inList_untyped();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_inMap_untyped() async {
|
| - await super.test_unsafeBlockClosureInference_inMap_untyped();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_methodCall_implicitTypeParam() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_methodCall_implicitTypeParam();
|
| - }
|
| -
|
| - @override
|
| - @failingTest
|
| - test_unsafeBlockClosureInference_methodCall_implicitTypeParam_comment() async {
|
| - return super
|
| - .test_unsafeBlockClosureInference_methodCall_implicitTypeParam_comment();
|
| - }
|
| -
|
| - LibraryElementImpl _checkSource(
|
| - SummaryResynthesizer resynthesizer, Source source) {
|
| - LibraryElementImpl resynthesized =
|
| - resynthesizer.getLibraryElement(source.uri.toString());
|
| - LibraryElementImpl original = context.computeLibraryElement(source);
|
| - checkLibraryElements(original, resynthesized);
|
| - return resynthesized;
|
| - }
|
| -}
|
| -
|
| -@reflectiveTest
|
| class ResynthesizeAstSpecTest extends _ResynthesizeAstTest {
|
| @override
|
| bool get isStrongMode => false;
|
| @@ -695,6 +61,13 @@ class ResynthesizeAstStrongTest extends _ResynthesizeAstTest {
|
| super.createOptions()..strongMode = true;
|
|
|
| @override
|
| + @failingTest
|
| + test_const_invokeConstructor_generic_noTypeArguments() async {
|
| + await super.test_const_invokeConstructor_generic_noTypeArguments();
|
| + }
|
| +
|
| + @override
|
| + @failingTest
|
| test_instantiateToBounds_boundRefersToItself() async {
|
| await super.test_instantiateToBounds_boundRefersToItself();
|
| }
|
| @@ -827,12 +200,6 @@ abstract class _AstResynthesizeTestMixin
|
| });
|
| }
|
|
|
| - void _reset() {
|
| - serializedSources.clear();
|
| - bundleAssembler = new PackageBundleAssembler();
|
| - uriToUnit.clear();
|
| - }
|
| -
|
| void _serializeLibrary(Source librarySource) {
|
| if (librarySource == null || librarySource.isInSystemLibrary) {
|
| return;
|
|
|