| Index: pkg/analyzer/test/src/summary/summary_common.dart
|
| diff --git a/pkg/analyzer/test/src/summary/summary_common.dart b/pkg/analyzer/test/src/summary/summary_common.dart
|
| index 287b482d7a4913bf3c69c317cd9c721a91f0ec25..5d9d9a780d35e3d0c19c47facdf598b506528cd6 100644
|
| --- a/pkg/analyzer/test/src/summary/summary_common.dart
|
| +++ b/pkg/analyzer/test/src/summary/summary_common.dart
|
| @@ -7733,12 +7733,6 @@ class C<T> {
|
| expect(v.inferredTypeSlot, 0);
|
| }
|
|
|
| - test_field_propagated_type_final_immediate() {
|
| - UnlinkedVariable v =
|
| - serializeClassText('class C { final v = 0; }').fields[0];
|
| - checkLinkedTypeSlot(v.propagatedTypeSlot, 'dart:core', 'dart:core', 'int');
|
| - }
|
| -
|
| test_field_static() {
|
| UnlinkedVariable variable =
|
| serializeClassText('class C { static int i; }').fields[0];
|
| @@ -7788,11 +7782,11 @@ class C<T> {
|
| }
|
|
|
| test_fully_linked_references_follow_other_references() {
|
| - if (skipFullyLinkedData) {
|
| + if (!strongMode || skipFullyLinkedData) {
|
| return;
|
| }
|
| serializeLibraryText('final x = 0; String y;');
|
| - checkLinkedTypeSlot(unlinkedUnits[0].variables[0].propagatedTypeSlot,
|
| + checkLinkedTypeSlot(unlinkedUnits[0].variables[0].inferredTypeSlot,
|
| 'dart:core', 'dart:core', 'int');
|
| checkTypeRef(
|
| unlinkedUnits[0].variables[1].type, 'dart:core', 'dart:core', 'String');
|
| @@ -7800,7 +7794,7 @@ class C<T> {
|
| // type reference for x should use a higher numbered reference than the
|
| // unlinked type reference for y.
|
| EntityRef propagatedType =
|
| - getTypeRefForSlot(unlinkedUnits[0].variables[0].propagatedTypeSlot);
|
| + getTypeRefForSlot(unlinkedUnits[0].variables[0].inferredTypeSlot);
|
| expect(unlinkedUnits[0].variables[1].type.reference,
|
| lessThan(propagatedType.reference));
|
| }
|
| @@ -8712,7 +8706,7 @@ int bar;'''
|
| }
|
|
|
| test_linked_reference_reuse() {
|
| - if (skipFullyLinkedData) {
|
| + if (!strongMode || skipFullyLinkedData) {
|
| return;
|
| }
|
| // When the reference for a linked type is the same as an explicitly
|
| @@ -8722,12 +8716,12 @@ int bar;'''
|
| serializeLibraryText(
|
| 'import "a.dart"; import "b.dart"; C c1; final c2 = f();');
|
| int explicitReference = findVariable('c1').type.reference;
|
| - expect(getTypeRefForSlot(findVariable('c2').propagatedTypeSlot).reference,
|
| + expect(getTypeRefForSlot(findVariable('c2').inferredTypeSlot).reference,
|
| explicitReference);
|
| }
|
|
|
| test_linked_type_dependency_reuse() {
|
| - if (skipFullyLinkedData) {
|
| + if (!strongMode || skipFullyLinkedData) {
|
| return;
|
| }
|
| // When the dependency for a linked type is the same as an explicit
|
| @@ -8739,7 +8733,7 @@ int bar;'''
|
| int cReference = findVariable('c').type.reference;
|
| int explicitDependency = linked.units[0].references[cReference].dependency;
|
| int dReference =
|
| - getTypeRefForSlot(findVariable('d').propagatedTypeSlot).reference;
|
| + getTypeRefForSlot(findVariable('d').inferredTypeSlot).reference;
|
| expect(
|
| linked.units[0].references[dReference].dependency, explicitDependency);
|
| }
|
| @@ -9500,8 +9494,8 @@ void set f(value) {}''';
|
| // ids should be reused.
|
| addNamedSource('/a.dart', 'part of foo; final v = 0;');
|
| serializeLibraryText('library foo; part "a.dart"; final w = 0;');
|
| - expect(unlinkedUnits[1].variables[0].propagatedTypeSlot,
|
| - unlinkedUnits[0].variables[0].propagatedTypeSlot);
|
| + expect(unlinkedUnits[1].variables[0].inferredTypeSlot,
|
| + unlinkedUnits[0].variables[0].inferredTypeSlot);
|
| }
|
|
|
| test_syntheticFunctionType_genericClosure() {
|
| @@ -9592,38 +9586,6 @@ void f<T, U>(bool b) {
|
| checkParamTypeRef(inferredType.syntheticParams[1].type, 1);
|
| }
|
|
|
| - test_syntheticFunctionType_noArguments() {
|
| - if (skipFullyLinkedData) {
|
| - return;
|
| - }
|
| - UnlinkedVariable variable = serializeVariableText('''
|
| -final v = f() ? () => 0 : () => 1;
|
| -bool f() => true;
|
| -''');
|
| - EntityRef propagatedType = getTypeRefForSlot(variable.propagatedTypeSlot);
|
| - checkLinkedTypeRef(
|
| - propagatedType.syntheticReturnType, 'dart:core', 'dart:core', 'int');
|
| - expect(propagatedType.syntheticParams, isEmpty);
|
| - }
|
| -
|
| - test_syntheticFunctionType_withArguments() {
|
| - if (skipFullyLinkedData) {
|
| - return;
|
| - }
|
| - UnlinkedVariable variable = serializeVariableText('''
|
| -final v = f() ? (int x, String y) => 0 : (int x, String y) => 1;
|
| -bool f() => true;
|
| -''');
|
| - EntityRef propagatedType = getTypeRefForSlot(variable.propagatedTypeSlot);
|
| - checkTypeRef(
|
| - propagatedType.syntheticReturnType, 'dart:core', 'dart:core', 'int');
|
| - expect(propagatedType.syntheticParams, hasLength(2));
|
| - checkTypeRef(propagatedType.syntheticParams[0].type, 'dart:core',
|
| - 'dart:core', 'int');
|
| - checkTypeRef(propagatedType.syntheticParams[1].type, 'dart:core',
|
| - 'dart:core', 'String');
|
| - }
|
| -
|
| test_type_arguments_explicit() {
|
| EntityRef typeRef = serializeTypeText('List<int>');
|
| checkTypeRef(typeRef, 'dart:core', 'dart:core', 'List',
|
| @@ -10335,59 +10297,6 @@ var v;''';
|
| expect(unlinkedUnits[0].publicNamespace.names, isEmpty);
|
| }
|
|
|
| - test_variable_propagated_type_final_immediate() {
|
| - UnlinkedVariable v = serializeVariableText('final v = 0;');
|
| - checkLinkedTypeSlot(v.propagatedTypeSlot, 'dart:core', 'dart:core', 'int');
|
| - }
|
| -
|
| - test_variable_propagated_type_new_reference() {
|
| - if (skipFullyLinkedData) {
|
| - return;
|
| - }
|
| - UnlinkedVariable v = serializeVariableText('final v = 0;');
|
| - // Since the propagated type of `v` is `int`, and there are no references
|
| - // to `int` elsewhere in the source file, a new linked reference should
|
| - // have been created for it, with no associated unlinked reference.
|
| - expect(v.propagatedTypeSlot, isNot(0));
|
| - EntityRef type = getTypeRefForSlot(v.propagatedTypeSlot);
|
| - expect(type, isNotNull);
|
| - expect(type.reference,
|
| - greaterThanOrEqualTo(unlinkedUnits[0].references.length));
|
| - }
|
| -
|
| - test_variable_propagated_type_omit_dynamic() {
|
| - if (skipFullyLinkedData) {
|
| - return;
|
| - }
|
| - UnlinkedVariable v = serializeVariableText('final v = <int, dynamic>{};');
|
| - EntityRef type = getTypeRefForSlot(v.propagatedTypeSlot);
|
| - checkLinkedTypeRef(type, 'dart:core', 'dart:core', 'Map',
|
| - numTypeParameters: 2, numTypeArguments: 2);
|
| - checkLinkedTypeRef(type.typeArguments[0], 'dart:core', 'dart:core', 'int');
|
| - checkLinkedDynamicTypeRef(type.typeArguments[1]);
|
| - }
|
| -
|
| - test_variable_propagatedTypeSlot_const() {
|
| - // Const variables are propagable so they have a nonzero
|
| - // propagatedTypeSlot.
|
| - UnlinkedVariable variable = serializeVariableText('const v = 0;');
|
| - expect(variable.propagatedTypeSlot, isNot(0));
|
| - }
|
| -
|
| - test_variable_propagatedTypeSlot_final() {
|
| - // Final variables are propagable so they have a nonzero
|
| - // propagatedTypeSlot.
|
| - UnlinkedVariable variable = serializeVariableText('final v = 0;');
|
| - expect(variable.propagatedTypeSlot, isNot(0));
|
| - }
|
| -
|
| - test_variable_propagatedTypeSlot_non_propagable() {
|
| - // Non-final non-const variables aren't propagable so they don't have a
|
| - // propagatedTypeSlot.
|
| - UnlinkedVariable variable = serializeVariableText('var v;');
|
| - expect(variable.propagatedTypeSlot, 0);
|
| - }
|
| -
|
| test_variable_static() {
|
| UnlinkedVariable variable =
|
| serializeClassText('class C { static int i; }').fields[0];
|
|
|