1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-08 20:16:39 +00:00

[cfe] Make kernel AST and CompilerOptions use strong mode by default

TEST=existing

Change-Id: I8d8bc59dc742a7499338ea2d23a611696492603c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359222
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
This commit is contained in:
Johnni Winther 2024-04-05 07:45:08 +00:00 committed by Commit Queue
parent 240d60c06b
commit 63d2008355
178 changed files with 838 additions and 906 deletions

View File

@ -87,7 +87,6 @@ void main() async {
var result = await Process.run(Platform.resolvedExecutable, [
compilePath,
"--target=dartdevc",
"--nnbd-strong",
"--platform=${ddcOutlinePath}",
"-o=${dillPath}",
testClassesPath

View File

@ -258,7 +258,7 @@ class CompilerOptions {
/// Whether nnbd weak, strong or agnostic mode is used if experiment
/// 'non-nullable' is enabled.
NnbdMode nnbdMode = NnbdMode.Weak;
NnbdMode nnbdMode = NnbdMode.Strong;
/// Whether to emit a warning when a ReachabilityError is thrown to ensure
/// soundness in mixed mode.

View File

@ -3,7 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
enum NnbdMode {
Weak,
Strong,
Weak,
Agnostic,
}

View File

@ -972,6 +972,7 @@ AbstractClassMember:
problemMessage: "Members of classes can't be declared to be 'abstract'."
correctionMessage: "Try removing the 'abstract' keyword. You can add the 'abstract' keyword before the class declaration."
analyzerCode: ParserErrorCode.ABSTRACT_CLASS_MEMBER
configuration: nnbd-weak
script:
- |
abstract class C {abstract C.c();}
@ -993,7 +994,6 @@ AbstractExternalField:
problemMessage: "Fields can't be declared both 'abstract' and 'external'."
analyzerCode: ParserErrorCode.ABSTRACT_EXTERNAL_FIELD
correctionMessage: "Try removing the 'abstract' or 'external' keyword."
configuration: nnbd-strong
script:
- "abstract class C {abstract external var f;}"
- "abstract class C {external abstract var f;}"
@ -1003,7 +1003,6 @@ AbstractStaticField:
problemMessage: "Static fields can't be declared 'abstract'."
analyzerCode: ParserErrorCode.ABSTRACT_STATIC_FIELD
correctionMessage: "Try removing the 'abstract' or 'static' keyword."
configuration: nnbd-strong
script:
- "abstract class C {abstract static var f;}"
@ -1018,14 +1017,12 @@ AbstractExtensionField:
AbstractFieldInitializer:
problemMessage: "Abstract fields cannot have initializers."
correctionMessage: "Try removing the initializer or the 'abstract' keyword."
configuration: nnbd-strong
script:
- "abstract class C {abstract var f = 0;}"
AbstractFieldConstructorInitializer:
problemMessage: "Abstract fields cannot have initializers."
correctionMessage: "Try removing the field initializer or the 'abstract' keyword from the field declaration."
configuration: nnbd-strong
script:
- "abstract class C {abstract var f; C(this.f);}"
- "abstract class C {abstract var f; C() : this.f = 0;}"
@ -1035,7 +1032,6 @@ AbstractLateField:
problemMessage: "Abstract fields cannot be late."
analyzerCode: ParserErrorCode.ABSTRACT_LATE_FIELD
correctionMessage: "Try removing the 'abstract' or 'late' keyword."
configuration: nnbd-strong
script:
- "abstract class C {abstract late var f;}"
@ -1287,16 +1283,15 @@ ExternalField:
problemMessage: "Fields can't be declared to be 'external'."
correctionMessage: "Try removing the keyword 'external', or replacing the field by an external getter and/or setter."
analyzerCode: ParserErrorCode.EXTERNAL_FIELD
configuration: nnbd-weak
script:
- |
// @dart=2.9
class C { external var f; }
ExternalFieldInitializer:
problemMessage: "External fields cannot have initializers."
correctionMessage: "Try removing the initializer or the 'external' keyword."
configuration: nnbd-strong
script:
- "external var f = 0;"
- "abstract class C {external var f = 0;}"
@ -1304,7 +1299,6 @@ ExternalFieldInitializer:
ExternalFieldConstructorInitializer:
problemMessage: "External fields cannot have initializers."
correctionMessage: "Try removing the field initializer or the 'external' keyword from the field declaration."
configuration: nnbd-strong
script:
- "abstract class C {external var f; C(this.f);}"
- "abstract class C {external var f; C() : this.f = 0;}"
@ -1314,7 +1308,6 @@ ExternalLateField:
problemMessage: "External fields cannot be late."
analyzerCode: ParserErrorCode.EXTERNAL_LATE_FIELD
correctionMessage: "Try removing the 'external' or 'late' keyword."
configuration: nnbd-strong
script:
- "external late var f;"
- "abstract class C {external late var f;}"
@ -1459,7 +1452,6 @@ FinalAndCovariantLateWithInitializer:
correctionMessage: "Try removing either the 'final' or 'covariant' keyword, or removing the initializer."
analyzerCode: ParserErrorCode.FINAL_AND_COVARIANT_LATE_WITH_INITIALIZER
# Weak and strong doesn't matter in this instance.
configuration: nnbd-strong
script:
- "class C { covariant late final f = 5; }"
@ -2988,7 +2980,6 @@ OverrideTypeMismatchSetter:
OverrideMismatchRequiredNamedParameter:
problemMessage: "The required named parameter '#name' in method '#name2' is not required in overridden method '#name3'."
configuration: nnbd-strong
script: |
abstract class A {
method({int? a});
@ -2999,7 +2990,6 @@ OverrideMismatchRequiredNamedParameter:
InvalidGetterSetterType:
problemMessage: "The type '#type' of the getter '#name' is not a subtype of the type '#type2' of the setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
num get property;
@ -3008,7 +2998,6 @@ InvalidGetterSetterType:
InvalidGetterSetterTypeGetterInherited:
problemMessage: "The type '#type' of the inherited getter '#name' is not a subtype of the type '#type2' of the setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
num get property;
@ -3019,7 +3008,6 @@ InvalidGetterSetterTypeGetterInherited:
InvalidGetterSetterTypeFieldInherited:
problemMessage: "The type '#type' of the inherited field '#name' is not a subtype of the type '#type2' of the setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
final num property;
@ -3031,7 +3019,6 @@ InvalidGetterSetterTypeFieldInherited:
InvalidGetterSetterTypeSetterInheritedGetter:
problemMessage: "The type '#type' of the getter '#name' is not a subtype of the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
void set property(int i);
@ -3042,7 +3029,6 @@ InvalidGetterSetterTypeSetterInheritedGetter:
InvalidGetterSetterTypeSetterInheritedField:
problemMessage: "The type '#type' of the field '#name' is not a subtype of the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
void set property(int i);
@ -3054,7 +3040,6 @@ InvalidGetterSetterTypeSetterInheritedField:
InvalidGetterSetterTypeBothInheritedField:
problemMessage: "The type '#type' of the inherited field '#name' is not a subtype of the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
final num property;
@ -3067,7 +3052,6 @@ InvalidGetterSetterTypeBothInheritedField:
InvalidGetterSetterTypeBothInheritedGetter:
problemMessage: "The type '#type' of the inherited getter '#name' is not a subtype of the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-strong
script: |
abstract class A {
num get property;
@ -3079,6 +3063,7 @@ InvalidGetterSetterTypeBothInheritedGetter:
InvalidGetterSetterTypeLegacy:
problemMessage: "The type '#type' of the getter '#name' is not assignable to the type '#type2' of the setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3088,6 +3073,7 @@ InvalidGetterSetterTypeLegacy:
InvalidGetterSetterTypeGetterInheritedLegacy:
problemMessage: "The type '#type' of the inherited getter '#name' is not assignable to the type '#type2' of the setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3099,6 +3085,7 @@ InvalidGetterSetterTypeGetterInheritedLegacy:
InvalidGetterSetterTypeFieldInheritedLegacy:
problemMessage: "The type '#type' of the inherited field '#name' is not assignable to the type '#type2' of the setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3111,6 +3098,7 @@ InvalidGetterSetterTypeFieldInheritedLegacy:
InvalidGetterSetterTypeSetterInheritedGetterLegacy:
problemMessage: "The type '#type' of the getter '#name' is not assignable to the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3122,6 +3110,7 @@ InvalidGetterSetterTypeSetterInheritedGetterLegacy:
InvalidGetterSetterTypeSetterInheritedFieldLegacy:
problemMessage: "The type '#type' of the field '#name' is not assignable to the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3134,6 +3123,7 @@ InvalidGetterSetterTypeSetterInheritedFieldLegacy:
InvalidGetterSetterTypeBothInheritedFieldLegacy:
problemMessage: "The type '#type' of the inherited field '#name' is not assignable to the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3147,6 +3137,7 @@ InvalidGetterSetterTypeBothInheritedFieldLegacy:
InvalidGetterSetterTypeBothInheritedGetterLegacy:
problemMessage: "The type '#type' of the inherited getter '#name' is not assignable to the type '#type2' of the inherited setter '#name2'."
configuration: nnbd-weak
script: |
// @dart=2.9
abstract class A {
@ -3290,7 +3281,6 @@ TypedefTypeVariableNotConstructorCause:
TypedefNullableType:
problemMessage: "Can't create typedef from nullable type."
configuration: nnbd-strong
script: |
// @dart=2.12
typedef F = void Function()?;
@ -3778,6 +3768,7 @@ SuperAsExpression:
SwitchExpressionNotAssignable:
problemMessage: "Type '#type' of the switch expression isn't assignable to the type '#type2' of this case expression."
analyzerCode: SWITCH_EXPRESSION_NOT_ASSIGNABLE
configuration: nnbd-weak
script:
- |
// @dart=2.9
@ -3793,6 +3784,7 @@ SwitchExpressionNotAssignableCause:
SwitchExpressionNotSubtype:
problemMessage: "Type '#type' of the case expression is not a subtype of type '#type2' of this switch expression."
configuration: nnbd-weak
script:
- |
// @dart=2.19
@ -4099,7 +4091,6 @@ ArgumentTypeNotAssignable:
ArgumentTypeNotAssignableNullability:
problemMessage: "The argument type '#type' can't be assigned to the parameter type '#type2' because '#type' is nullable and '#type2' isn't."
analyzerCode: ARGUMENT_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
method(int i) {}
main() {
@ -4110,7 +4101,6 @@ ArgumentTypeNotAssignableNullability:
ArgumentTypeNotAssignablePartNullability:
problemMessage: "The argument type '#type' can't be assigned to the parameter type '#type2' because '#type3' is nullable and '#type4' isn't."
analyzerCode: ARGUMENT_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
method(List<int> i) {}
main() {
@ -4121,7 +4111,6 @@ ArgumentTypeNotAssignablePartNullability:
ArgumentTypeNotAssignableNullabilityNull:
problemMessage: "The value 'null' can't be assigned to the parameter type '#type' because '#type' is not nullable."
analyzerCode: ARGUMENT_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
method(int i) {}
main() {
@ -4131,7 +4120,6 @@ ArgumentTypeNotAssignableNullabilityNull:
ArgumentTypeNotAssignableNullabilityNullType:
problemMessage: "The argument type '#type' can't be assigned to the parameter type '#type2' because '#type2' is not nullable."
analyzerCode: ARGUMENT_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
method(int i) {}
main() {
@ -4151,7 +4139,6 @@ InvalidAssignmentError:
InvalidAssignmentErrorNullability:
problemMessage: "A value of type '#type' can't be assigned to a variable of type '#type2' because '#type' is nullable and '#type2' isn't."
analyzerCode: INVALID_ASSIGNMENT
configuration: nnbd-strong
script: >
main() {
int i = 0;
@ -4162,7 +4149,6 @@ InvalidAssignmentErrorNullability:
InvalidAssignmentErrorPartNullability:
problemMessage: "A value of type '#type' can't be assigned to a variable of type '#type2' because '#type3' is nullable and '#type4' isn't."
analyzerCode: INVALID_ASSIGNMENT
configuration: nnbd-strong
script: >
main() {
List<int> i = [];
@ -4173,7 +4159,6 @@ InvalidAssignmentErrorPartNullability:
InvalidAssignmentErrorNullabilityNull:
problemMessage: "The value 'null' can't be assigned to a variable of type '#type' because '#type' is not nullable."
analyzerCode: INVALID_ASSIGNMENT
configuration: nnbd-strong
script: >
main() {
int i = 0;
@ -4183,7 +4168,6 @@ InvalidAssignmentErrorNullabilityNull:
InvalidAssignmentErrorNullabilityNullType:
problemMessage: "A value of type '#type' can't be assigned to a variable of type '#type2' because '#type2' is not nullable."
analyzerCode: INVALID_ASSIGNMENT
configuration: nnbd-strong
script: >
main() {
Null n;
@ -4395,7 +4379,6 @@ CantInferTypeDueToNoCombinedSignature:
problemMessage: "Can't infer a type for '#name' as the overridden members don't have a combined signature."
correctionMessage: "Try adding an explicit type."
analyzerCode: COMPILE_TIME_ERROR.NO_COMBINED_SUPER_SIGNATURE
configuration: nnbd-strong
script: |
class A {
void method(int a) {}
@ -4411,7 +4394,6 @@ CantInferReturnTypeDueToNoCombinedSignature:
problemMessage: "Can't infer a return type for '#name' as the overridden members don't have a combined signature."
correctionMessage: "Try adding an explicit type."
analyzerCode: COMPILE_TIME_ERROR.NO_COMBINED_SUPER_SIGNATURE
configuration: nnbd-strong
script: |
abstract class A {
int get getter;
@ -4482,7 +4464,6 @@ ForInLoopElementTypeNotAssignableNullability:
problemMessage: "A value of type '#type' can't be assigned to a variable of type '#type2' because '#type' is nullable and '#type2' isn't."
correctionMessage: "Try changing the type of the variable."
analyzerCode: FOR_IN_OF_INVALID_ELEMENT_TYPE
configuration: nnbd-strong
script: |
method() {
List<int?> list = [];
@ -4493,7 +4474,6 @@ ForInLoopElementTypeNotAssignablePartNullability:
problemMessage: "A value of type '#type' can't be assigned to a variable of type '#type2' because '#type3' is nullable and '#type4' isn't."
correctionMessage: "Try changing the type of the variable."
analyzerCode: FOR_IN_OF_INVALID_ELEMENT_TYPE
configuration: nnbd-strong
script: |
method() {
List<List<int?>> list = [[]];
@ -4512,7 +4492,6 @@ ForInLoopTypeNotIterable:
ForInLoopTypeNotIterableNullability:
problemMessage: "The type '#type' used in the 'for' loop must implement '#type2' because '#type' is nullable and '#type2' isn't."
analyzerCode: FOR_IN_OF_INVALID_TYPE
configuration: nnbd-strong
script: |
method() {
List<int>? list = null;
@ -4712,69 +4691,56 @@ ReturnFromVoidFunction:
ReturnWithoutExpressionSync:
problemMessage: "A value must be explicitly returned from a non-void function."
configuration: nnbd-strong
script: |
import "dart:async";
FutureOr<Object?> foo() { return; }
ReturnWithoutExpressionAsync:
problemMessage: "A value must be explicitly returned from a non-void async function."
configuration: nnbd-strong
declaration: "Future<int> foo() async { return; }"
InvalidReturn:
problemMessage: "A value of type '#type' can't be returned from a function with return type '#type2'."
configuration: nnbd-strong
declaration: "int foo() { return true; }"
InvalidReturnNullability:
problemMessage: "A value of type '#type' can't be returned from a function with return type '#type2' because '#type' is nullable and '#type2' isn't."
configuration: nnbd-strong
declaration: "int foo(int? i) { return i; }"
InvalidReturnPartNullability:
problemMessage: "A value of type '#type' can't be returned from a function with return type '#type2' because '#type3' is nullable and '#type4' isn't."
configuration: nnbd-strong
declaration: "List<int> foo(List<int?> list) { return list; }"
InvalidReturnNullabilityNull:
problemMessage: "The value 'null' can't be returned from a function with return type '#type' because '#type' is not nullable."
configuration: nnbd-strong
declaration: "int foo() { return null; }"
InvalidReturnNullabilityNullType:
problemMessage: "A value of type '#type' can't be returned from a function with return type '#type2' because '#type2' is not nullable."
configuration: nnbd-strong
declaration: "int foo(Null i) { return i; }"
InvalidReturnAsync:
problemMessage: "A value of type '#type' can't be returned from an async function with return type '#type2'."
configuration: nnbd-strong
declaration: "Future<int> foo() async { return true; }"
InvalidReturnAsyncNullability:
problemMessage: "A value of type '#type' can't be returned from an async function with return type '#type2' because '#type' is nullable and '#type2' isn't."
configuration: nnbd-strong
declaration: "Future<int> foo(int? i) async { return i; }"
InvalidReturnAsyncPartNullability:
problemMessage: "A value of type '#type' can't be returned from an async function with return type '#type2' because '#type3' is nullable and '#type4' isn't."
configuration: nnbd-strong
declaration: "Future<List<int>> foo(List<int?> list) async { return list; }"
InvalidReturnAsyncNullabilityNull:
problemMessage: "The value 'null' can't be returned from an async function with return type '#type' because '#type' is not nullable."
configuration: nnbd-strong
declaration: "Future<int> foo() async { return null; }"
InvalidReturnAsyncNullabilityNullType:
problemMessage: "A value of type '#type' can't be returned from an async function with return type '#type2' because '#type2' is not nullable."
configuration: nnbd-strong
declaration: "Future<int> foo(Null n) async { return n; }"
ImplicitReturnNull:
problemMessage: "A non-null value must be returned since the return type '#type' doesn't allow null."
configuration: nnbd-strong
script: |
String method() {}
@ -4785,6 +4751,7 @@ RethrowNotCatch:
InvokeNonFunction:
problemMessage: "'#name' isn't a function or method and can't be invoked."
analyzerCode: INVOCATION_OF_NON_FUNCTION
configuration: nnbd-weak
script: |
// @dart=2.9
class Foo {
@ -5328,7 +5295,6 @@ SpreadElementTypeMismatch:
SpreadElementTypeMismatchNullability:
problemMessage: "Can't assign spread elements of type '#type' to collection elements of type '#type2' because '#type' is nullable and '#type2' isn't."
analyzerCode: LIST_ELEMENT_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
main() {
List<int?> a = <int?>[0, null];
@ -5338,7 +5304,6 @@ SpreadElementTypeMismatchNullability:
SpreadElementTypeMismatchPartNullability:
problemMessage: "Can't assign spread elements of type '#type' to collection elements of type '#type2' because '#type3' is nullable and '#type4' isn't."
analyzerCode: LIST_ELEMENT_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
main() {
List<List<int?>> a = <List<int?>>[[0, null]];
@ -5371,7 +5336,6 @@ SpreadMapEntryElementKeyTypeMismatch:
SpreadMapEntryElementKeyTypeMismatchNullability:
problemMessage: "Can't assign spread entry keys of type '#type' to map entry keys of type '#type2' because '#type' is nullable and '#type2' isn't."
analyzerCode: MAP_KEY_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
main() {
Map<String?, int> a = <String?, int>{"foo": 42, null: 87};
@ -5381,7 +5345,6 @@ SpreadMapEntryElementKeyTypeMismatchNullability:
SpreadMapEntryElementKeyTypeMismatchPartNullability:
problemMessage: "Can't assign spread entry keys of type '#type' to map entry keys of type '#type2' because '#type3' is nullable and '#type4' isn't."
analyzerCode: MAP_KEY_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
main() {
Map<List<String?>, int> a = <List<String?>, int>{["foo"]: 42, [null]: 87};
@ -5400,7 +5363,6 @@ SpreadMapEntryElementValueTypeMismatch:
SpreadMapEntryElementValueTypeMismatchNullability:
problemMessage: "Can't assign spread entry values of type '#type' to map entry values of type '#type2' because '#type' is nullable and '#type2' isn't."
analyzerCode: MAP_VALUE_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
main() {
Map<String, int?> a = <String, int?>{"foo": 42, "bar": null};
@ -5410,7 +5372,6 @@ SpreadMapEntryElementValueTypeMismatchNullability:
SpreadMapEntryElementValueTypeMismatchPartNullability:
problemMessage: "Can't assign spread entry values of type '#type' to map entry values of type '#type2' because '#type3' is nullable and '#type4' isn't."
analyzerCode: MAP_VALUE_TYPE_NOT_ASSIGNABLE
configuration: nnbd-strong
script: >
main() {
Map<String, List<int?>> a = <String, List<int?>>{"foo": [42], "bar": [null]};
@ -5540,11 +5501,11 @@ LanguageVersionMismatchInPart:
problemMessage: "The language version override has to be the same in the library and its part(s)."
script:
main.dart: >
// @dart = 2.4
// @dart = 2.13
part 'part.dart';
part.dart: >
// @dart = 2.3
// @dart = 2.12
part of 'main.dart';
@ -5751,7 +5712,6 @@ OptionalNonNullableWithoutInitializerError:
problemMessage: "The parameter '#name' can't have a value of 'null' because of its type '#type', but the implicit default value is 'null'."
correctionMessage: "Try adding either an explicit non-'null' default value or the 'required' modifier."
analyzerCode: MISSING_DEFAULT_VALUE_FOR_PARAMETER
configuration: nnbd-strong
script:
- method1({int a}) {}
- method2([int a]) {}
@ -6006,7 +5966,6 @@ JsInteropStaticInteropWithNonStaticSupertype:
NonNullableNotAssignedError:
problemMessage: "Non-nullable variable '#name' must be assigned before it can be used."
configuration: nnbd-strong
script: |
method<T>() {
T t; t;
@ -6015,7 +5974,6 @@ NonNullableNotAssignedError:
FinalNotAssignedError:
problemMessage: "Final variable '#name' must be assigned before it can be used."
analyzerCode: READ_POTENTIALLY_UNASSIGNED_FINAL
configuration: nnbd-strong
script: >
method(bool b) {
final int i;
@ -6027,7 +5985,6 @@ FinalNotAssignedError:
LateDefinitelyUnassignedError:
problemMessage: "Late variable '#name' without initializer is definitely unassigned."
configuration: nnbd-strong
script: |
method<T>() {
late T t; t;
@ -6035,7 +5992,6 @@ LateDefinitelyUnassignedError:
LateDefinitelyAssignedError:
problemMessage: "Late final variable '#name' definitely assigned."
configuration: nnbd-strong
script: |
method() {
late final int t;
@ -6046,7 +6002,6 @@ LateDefinitelyAssignedError:
FinalPossiblyAssignedError:
problemMessage: "Final variable '#name' might already be assigned at this point."
analyzerCode: ASSIGNMENT_TO_FINAL_LOCAL
configuration: nnbd-strong
script: |
method() {
final int i;
@ -6135,13 +6090,11 @@ NeverValueError:
MainNotFunctionDeclaration:
problemMessage: "The 'main' declaration must be a function declaration."
configuration: nnbd-strong
script:
- var main;
MainNotFunctionDeclarationExported:
problemMessage: "The exported 'main' declaration must be a function declaration."
configuration: nnbd-strong
exampleAllowMoreCodes: true
script:
main.dart:
@ -6151,13 +6104,11 @@ MainNotFunctionDeclarationExported:
MainTooManyRequiredParameters:
problemMessage: "The 'main' method must have at most 2 required parameters."
configuration: nnbd-strong
script:
- main(a, b, c) {}
MainTooManyRequiredParametersExported:
problemMessage: "The exported 'main' method must have at most 2 required parameters."
configuration: nnbd-strong
exampleAllowMoreCodes: true
script:
main.dart:
@ -6167,13 +6118,11 @@ MainTooManyRequiredParametersExported:
MainRequiredNamedParameters:
problemMessage: "The 'main' method cannot have required named parameters."
configuration: nnbd-strong
script:
- main({required a}) {}
MainRequiredNamedParametersExported:
problemMessage: "The exported 'main' method cannot have required named parameters."
configuration: nnbd-strong
exampleAllowMoreCodes: true
script:
main.dart:
@ -6183,13 +6132,11 @@ MainRequiredNamedParametersExported:
MainWrongParameterType:
problemMessage: "The type '#type' of the first parameter of the 'main' method is not a supertype of '#type2'."
configuration: nnbd-strong
script:
- main(Set<String> args) {}
MainWrongParameterTypeExported:
problemMessage: "The type '#type' of the first parameter of the exported 'main' method is not a supertype of '#type2'."
configuration: nnbd-strong
exampleAllowMoreCodes: true
script:
main.dart:

View File

@ -9,6 +9,7 @@ import 'package:front_end/src/api_prototype/compiler_options.dart';
import 'package:front_end/src/api_prototype/experimental_flags.dart';
import 'package:front_end/src/api_prototype/kernel_generator.dart';
import 'package:front_end/src/api_prototype/language_version.dart';
import 'package:front_end/src/base/nnbd_mode.dart';
import 'package:front_end/src/compute_platform_binaries_location.dart';
import 'package:kernel/ast.dart';
@ -62,6 +63,7 @@ Future<void> test(
required Version versionImpliesOptIn,
required Version versionOptsInAllowed}) async {
CompilerOptions options = new CompilerOptions();
options.nnbdMode = NnbdMode.Weak;
if (enableNonNullableByDefault) {
// Pretend non-nullable is on by default.
options.defaultExperimentFlagsForTesting = {

View File

@ -19,6 +19,7 @@ import "package:front_end/src/api_prototype/memory_file_system.dart"
show MemoryFileSystem;
import "package:front_end/src/api_prototype/terminal_color_support.dart"
show printDiagnosticMessage;
import 'package:front_end/src/base/nnbd_mode.dart' show NnbdMode;
import 'package:front_end/src/base/processed_options.dart'
show ProcessedOptions;
import 'package:front_end/src/compute_platform_binaries_location.dart'
@ -692,6 +693,8 @@ Future<Context> createContext(
errors.add(message);
}
..environmentDefines = const {}
// TODO(johnniwinther): We should default to strong mode.
..nnbdMode = NnbdMode.Weak
..explicitExperimentalFlags = {}
..allowedExperimentalFlagsForTesting = const AllowedExperimentalFlags();
@ -709,6 +712,7 @@ Future<Context> createContext(
errors.add(message);
}
..environmentDefines = const {}
..nnbdMode = NnbdMode.Weak
..explicitExperimentalFlags = {ExperimentalFlag.nonNullable: false}
..allowedExperimentalFlagsForTesting = const AllowedExperimentalFlags();

View File

@ -5,47 +5,34 @@
library fasta.test.incremental_test;
import "dart:convert" show JsonEncoder;
import "dart:io" show File;
import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
import 'package:front_end/src/api_prototype/experimental_flags.dart';
import "package:kernel/ast.dart" show Component;
import "package:testing/testing.dart"
show Chain, ChainContext, Result, Step, TestDescription;
import "package:testing/src/log.dart" show splitLines;
import "package:yaml/yaml.dart" show YamlMap, loadYamlNode;
import "package:front_end/src/api_prototype/compiler_options.dart"
show CompilerOptions, DiagnosticMessage;
import 'package:front_end/src/api_prototype/experimental_flags.dart';
import "package:front_end/src/api_prototype/incremental_kernel_generator.dart"
show IncrementalKernelGenerator;
import "package:front_end/src/api_prototype/memory_file_system.dart"
show MemoryFileSystem;
import "package:front_end/src/api_prototype/terminal_color_support.dart"
show printDiagnosticMessage;
import 'package:front_end/src/compute_platform_binaries_location.dart'
show computePlatformBinariesLocation;
import 'package:front_end/src/base/nnbd_mode.dart' show NnbdMode;
import 'package:front_end/src/base/processed_options.dart'
show ProcessedOptions;
import 'package:front_end/src/compute_platform_binaries_location.dart'
show computePlatformBinariesLocation;
import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
import 'package:front_end/src/fasta/incremental_compiler.dart'
show IncrementalCompiler;
import "package:kernel/ast.dart" show Component;
import "package:testing/src/log.dart" show splitLines;
import "package:testing/testing.dart"
show Chain, ChainContext, Result, Step, TestDescription;
import "package:yaml/yaml.dart" show YamlMap, loadYamlNode;
import "incremental_expectations.dart"
show IncrementalExpectation, extractJsonExpectations;
import "incremental_source_files.dart" show expandDiff, expandUpdates;
import "suite_utils.dart";
@ -231,6 +218,7 @@ Future<Context> createContext(
..fileSystem = fs
..sdkSummary = sdkSummary
..explicitExperimentalFlags = {ExperimentalFlag.nonNullable: false}
..nnbdMode = NnbdMode.Weak
..onDiagnostic = (DiagnosticMessage message) {
printDiagnosticMessage(message, print);
if (message.severity == Severity.error) {

View File

@ -76,7 +76,7 @@ class ProcessedOptionsTest {
fileUri: Uri.parse('org-dartlang-test:///a/b.dart'))
])
..setMainMethodAndMode(
null, false, NonNullableByDefaultCompiledMode.Weak);
null, false, NonNullableByDefaultCompiledMode.Strong);
void test_compileSdk_false() {
for (var value in [false, true]) {

View File

@ -2,11 +2,12 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:io' show exitCode, File, stdout;
import 'dart:io' show File, stdout;
import 'package:front_end/src/api_prototype/compiler_options.dart';
import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart';
import 'package:front_end/src/api_prototype/memory_file_system.dart';
import 'package:front_end/src/base/nnbd_mode.dart';
import 'package:front_end/src/compute_platform_binaries_location.dart';
import 'package:front_end/src/fasta/kernel/utils.dart';
import 'package:front_end/src/fasta/messages.dart';
@ -57,7 +58,7 @@ Future<void> main() async {
print(source);
print("----");
}
exitCode = 1;
throw "Errors found!";
}
if (!hasNewline) print("");
}
@ -135,6 +136,7 @@ class TestCompiler {
fs.entityForUri(sdkSummary).writeAsBytesSync(sdkSummaryData);
CompilerOptions options = helper.getOptions();
options.nnbdMode = NnbdMode.Weak;
options.fileSystem = fs;
options.sdkRoot = null;
options.sdkSummary = sdkSummary;

View File

@ -63,7 +63,7 @@ static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=_interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=_interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as js_::JSObject /* erasure=_interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as js_::JSObject /* erasure=_interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");

View File

@ -63,7 +63,7 @@ static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=_interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=_interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as js_::JSObject /* erasure=_interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as js_::JSObject /* erasure=_interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");

View File

@ -28,7 +28,7 @@ static method asyncMethod(asy::Stream<core::int> stream) → dynamic async /* em
#L1:
for (; ; ) {
:async_temporary_0 = await #forIterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>};
if(#jumpSentinel = :async_temporary_0 as{ForLegacy} dynamic) {
if(#jumpSentinel = :async_temporary_0 as dynamic) {
core::int i = #forIterator.{asy::_StreamIterator::current}{core::int};
{
core::print(i);

View File

@ -16,18 +16,18 @@ static method runBench([typ::Uint8List? data = #C1]) → void async /* emittedVa
typ::Uint8List? :async_temporary_1;
if(data == null) {
:async_temporary_0 = await self::getBinaryTestProto();
:async_temporary_1 = data = :async_temporary_0 as{ForLegacy} dynamic;
:async_temporary_1 = data = :async_temporary_0 as dynamic;
}
else {
:async_temporary_1 = null;
}
:async_temporary_1 as{ForLegacy} dynamic;
:async_temporary_1 as dynamic;
core::print(data{typ::Uint8List});
}
static method main() → void async /* emittedValueType= void */ {
typ::Uint8List :async_temporary_0;
:async_temporary_0 = await self::getBinaryTestProto();
typ::Uint8List data = :async_temporary_0 as{ForLegacy} dynamic;
typ::Uint8List data = :async_temporary_0 as dynamic;
core::print("File successfully read, contents: ${data}");
self::runBench(data);
}

View File

@ -35,7 +35,7 @@ static method asyncMethod(asy::Stream<core::int> stream) → asy::Stream<core::i
#controller.{asy::StreamController::add}(1){(core::Object?) → void};
if(#controller.{asy::StreamController::isPaused}{core::bool}) {
:async_temporary_0 = await(#paused = asy::Completer::•<void>()).{asy::Completer::future}{asy::Future<void>};
:async_temporary_0 as{ForLegacy} dynamic;
:async_temporary_0 as dynamic;
}
if(#controller.{asy::StreamController::hasListener}{core::bool}) {
}
@ -46,7 +46,7 @@ static method asyncMethod(asy::Stream<core::int> stream) → asy::Stream<core::i
#controller.{asy::StreamController::add}(2){(core::Object?) → void};
if(#controller.{asy::StreamController::isPaused}{core::bool}) {
:async_temporary_1 = await(#paused = asy::Completer::•<void>()).{asy::Completer::future}{asy::Future<void>};
:async_temporary_1 as{ForLegacy} dynamic;
:async_temporary_1 as dynamic;
}
if(#controller.{asy::StreamController::hasListener}{core::bool}) {
}

View File

@ -63,7 +63,7 @@ static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as js_::JSObject /* erasure=dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as js_::JSObject /* erasure=dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");

View File

@ -63,7 +63,7 @@ static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as js_::JSObject /* erasure=dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as js_::JSObject /* erasure=dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");

View File

@ -1,4 +1,4 @@
Errors: {
}
method /*isNonNullableByDefault, from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
return 0;

View File

@ -12,7 +12,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///hello.dart" show main;
export "org-dartlang-testcase:///map.dart" show main;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self2;

View File

@ -12,7 +12,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///hello.dart" show main;
export "org-dartlang-testcase:///map.dart" show main;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self2;

View File

@ -12,7 +12,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///hello.dart" show main;
export "org-dartlang-testcase:///map.dart" show main;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self2;

View File

@ -12,7 +12,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///hello.dart" show main;
export "org-dartlang-testcase:///map.dart" show main;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self2;

View File

@ -11,7 +11,7 @@ import self as self;
export "org-dartlang-testcase:///hello.dart" show main;
export "org-dartlang-testcase:///map.dart" show main;
static const field dynamic _exports# = "{\"main\":\"'main' is exported from both 'pkg/front_end/testcases/general/hello.dart' and 'pkg/front_end/testcases/general/map.dart'.\"}" /*isLegacy*/;
static const field dynamic _exports# = "{\"main\":\"'main' is exported from both 'pkg/front_end/testcases/general/hello.dart' and 'pkg/front_end/testcases/general/map.dart'.\"}";
library;
import self as self2;

View File

@ -12,7 +12,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///hello.dart" show main;
export "org-dartlang-testcase:///map.dart" show main;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self2;

View File

@ -179,7 +179,7 @@ export "dart:core";
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self3;

View File

@ -175,7 +175,7 @@ export "dart:core";
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self3;

View File

@ -179,7 +179,7 @@ export "dart:core";
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self3;

View File

@ -114,7 +114,7 @@ export "dart:core";
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self3;

View File

@ -175,7 +175,7 @@ export "dart:core";
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
import self as self3;

View File

@ -75,7 +75,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
//

View File

@ -69,7 +69,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
//

View File

@ -75,7 +75,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
//

View File

@ -34,7 +34,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
//

View File

@ -69,7 +69,7 @@ import "dart:core" as core;
export "org-dartlang-testcase:///main_lib2.dart";
export "org-dartlang-testcase:///main_lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
library;
//

View File

@ -59,17 +59,17 @@ abstract class Class<T extends core::Object? = dynamic> extends self::Super<self
forwarding-stub forwarding-semi-stub set /* signature-type: (core::List<self::Class::T%>) → void */ setter4(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter4} = a;
forwarding-stub method method1(covariant-by-declaration core::num a) → void
return super.{self::Super::method1}(a as{ForLegacy} core::int);
return super.{self::Super::method1}(a as core::int);
forwarding-stub method method2({covariant-by-declaration core::num? a = #C1}) → void
return super.{self::Super::method2}(a: a as{ForLegacy} core::int?);
return super.{self::Super::method2}(a: a as core::int?);
forwarding-stub method method7(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::method7}(a as{ForLegacy} core::List<self::Class::T%>);
return super.{self::Super::method7}(a as core::List<self::Class::T%>);
forwarding-stub method method8({covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%>? a = #C1}) → void
return super.{self::Super::method8}(a: a as{ForLegacy} core::List<self::Class::T%>?);
return super.{self::Super::method8}(a: a as core::List<self::Class::T%>?);
forwarding-stub set setter1(covariant-by-declaration core::num a) → void
return super.{self::Super::setter1} = a as{ForLegacy} core::int;
return super.{self::Super::setter1} = a as core::int;
forwarding-stub set setter3(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter3} = a as{ForLegacy} core::List<self::Class::T%>;
return super.{self::Super::setter3} = a as core::List<self::Class::T%>;
}
class Subclass<T extends core::Object? = dynamic> extends self::Class<self::Subclass::T%> {
synthetic constructor •() → self::Subclass<self::Subclass::T%>

View File

@ -59,17 +59,17 @@ abstract class Class<T extends core::Object? = dynamic> extends self::Super<self
forwarding-stub forwarding-semi-stub set /* signature-type: (core::List<self::Class::T%>) → void */ setter4(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter4} = a;
forwarding-stub method method1(covariant-by-declaration core::num a) → void
return super.{self::Super::method1}(a as{ForLegacy} core::int);
return super.{self::Super::method1}(a as core::int);
forwarding-stub method method2({covariant-by-declaration core::num? a = #C1}) → void
return super.{self::Super::method2}(a: a as{ForLegacy} core::int?);
return super.{self::Super::method2}(a: a as core::int?);
forwarding-stub method method7(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::method7}(a as{ForLegacy} core::List<self::Class::T%>);
return super.{self::Super::method7}(a as core::List<self::Class::T%>);
forwarding-stub method method8({covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%>? a = #C1}) → void
return super.{self::Super::method8}(a: a as{ForLegacy} core::List<self::Class::T%>?);
return super.{self::Super::method8}(a: a as core::List<self::Class::T%>?);
forwarding-stub set setter1(covariant-by-declaration core::num a) → void
return super.{self::Super::setter1} = a as{ForLegacy} core::int;
return super.{self::Super::setter1} = a as core::int;
forwarding-stub set setter3(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter3} = a as{ForLegacy} core::List<self::Class::T%>;
return super.{self::Super::setter3} = a as core::List<self::Class::T%>;
}
class Subclass<T extends core::Object? = dynamic> extends self::Class<self::Subclass::T%> {
synthetic constructor •() → self::Subclass<self::Subclass::T%>

View File

@ -59,17 +59,17 @@ abstract class Class<T extends core::Object? = dynamic> extends self::Super<self
forwarding-stub forwarding-semi-stub set /* signature-type: (core::List<self::Class::T%>) → void */ setter4(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter4} = a;
forwarding-stub method method1(covariant-by-declaration core::num a) → void
return super.{self::Super::method1}(a as{ForLegacy} core::int);
return super.{self::Super::method1}(a as core::int);
forwarding-stub method method2({covariant-by-declaration core::num? a = #C1}) → void
return super.{self::Super::method2}(a: a as{ForLegacy} core::int?);
return super.{self::Super::method2}(a: a as core::int?);
forwarding-stub method method7(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::method7}(a as{ForLegacy} core::List<self::Class::T%>);
return super.{self::Super::method7}(a as core::List<self::Class::T%>);
forwarding-stub method method8({covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%>? a = #C1}) → void
return super.{self::Super::method8}(a: a as{ForLegacy} core::List<self::Class::T%>?);
return super.{self::Super::method8}(a: a as core::List<self::Class::T%>?);
forwarding-stub set setter1(covariant-by-declaration core::num a) → void
return super.{self::Super::setter1} = a as{ForLegacy} core::int;
return super.{self::Super::setter1} = a as core::int;
forwarding-stub set setter3(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter3} = a as{ForLegacy} core::List<self::Class::T%>;
return super.{self::Super::setter3} = a as core::List<self::Class::T%>;
}
class Subclass<T extends core::Object? = dynamic> extends self::Class<self::Subclass::T%> {
synthetic constructor •() → self::Subclass<self::Subclass::T%>

View File

@ -59,17 +59,17 @@ abstract class Class<T extends core::Object? = dynamic> extends self::Super<self
forwarding-stub forwarding-semi-stub set /* signature-type: (core::List<self::Class::T%>) → void */ setter4(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter4} = a;
forwarding-stub method method1(covariant-by-declaration core::num a) → void
return super.{self::Super::method1}(a as{ForLegacy} core::int);
return super.{self::Super::method1}(a as core::int);
forwarding-stub method method2({covariant-by-declaration core::num? a = #C1}) → void
return super.{self::Super::method2}(a: a as{ForLegacy} core::int?);
return super.{self::Super::method2}(a: a as core::int?);
forwarding-stub method method7(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::method7}(a as{ForLegacy} core::List<self::Class::T%>);
return super.{self::Super::method7}(a as core::List<self::Class::T%>);
forwarding-stub method method8({covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%>? a = #C1}) → void
return super.{self::Super::method8}(a: a as{ForLegacy} core::List<self::Class::T%>?);
return super.{self::Super::method8}(a: a as core::List<self::Class::T%>?);
forwarding-stub set setter1(covariant-by-declaration core::num a) → void
return super.{self::Super::setter1} = a as{ForLegacy} core::int;
return super.{self::Super::setter1} = a as core::int;
forwarding-stub set setter3(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter3} = a as{ForLegacy} core::List<self::Class::T%>;
return super.{self::Super::setter3} = a as core::List<self::Class::T%>;
}
class Subclass<T extends core::Object? = dynamic> extends self::Class<self::Subclass::T%> {
synthetic constructor •() → self::Subclass<self::Subclass::T%>

View File

@ -78,17 +78,17 @@ abstract class Class<T extends core::Object? = dynamic> extends self::Super<self
forwarding-stub forwarding-semi-stub set /* signature-type: (core::List<self::Class::T%>) → void */ setter4(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter4} = a;
forwarding-stub method method1(covariant-by-declaration core::num a) → void
return super.{self::Super::method1}(a as{ForLegacy} core::int);
return super.{self::Super::method1}(a as core::int);
forwarding-stub method method2({covariant-by-declaration core::num? a}) → void
return super.{self::Super::method2}(a: a as{ForLegacy} core::int?);
return super.{self::Super::method2}(a: a as core::int?);
forwarding-stub method method7(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::method7}(a as{ForLegacy} core::List<self::Class::T%>);
return super.{self::Super::method7}(a as core::List<self::Class::T%>);
forwarding-stub method method8({covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%>? a}) → void
return super.{self::Super::method8}(a: a as{ForLegacy} core::List<self::Class::T%>?);
return super.{self::Super::method8}(a: a as core::List<self::Class::T%>?);
forwarding-stub set setter1(covariant-by-declaration core::num a) → void
return super.{self::Super::setter1} = a as{ForLegacy} core::int;
return super.{self::Super::setter1} = a as core::int;
forwarding-stub set setter3(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter3} = a as{ForLegacy} core::List<self::Class::T%>;
return super.{self::Super::setter3} = a as core::List<self::Class::T%>;
}
class Subclass<T extends core::Object? = dynamic> extends self::Class<self::Subclass::T%> {
synthetic constructor •() → self::Subclass<self::Subclass::T%>

View File

@ -59,17 +59,17 @@ abstract class Class<T extends core::Object? = dynamic> extends self::Super<self
forwarding-stub forwarding-semi-stub set /* signature-type: (core::List<self::Class::T%>) → void */ setter4(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter4} = a;
forwarding-stub method method1(covariant-by-declaration core::num a) → void
return super.{self::Super::method1}(a as{ForLegacy} core::int);
return super.{self::Super::method1}(a as core::int);
forwarding-stub method method2({covariant-by-declaration core::num? a = #C1}) → void
return super.{self::Super::method2}(a: a as{ForLegacy} core::int?);
return super.{self::Super::method2}(a: a as core::int?);
forwarding-stub method method7(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::method7}(a as{ForLegacy} core::List<self::Class::T%>);
return super.{self::Super::method7}(a as core::List<self::Class::T%>);
forwarding-stub method method8({covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%>? a = #C1}) → void
return super.{self::Super::method8}(a: a as{ForLegacy} core::List<self::Class::T%>?);
return super.{self::Super::method8}(a: a as core::List<self::Class::T%>?);
forwarding-stub set setter1(covariant-by-declaration core::num a) → void
return super.{self::Super::setter1} = a as{ForLegacy} core::int;
return super.{self::Super::setter1} = a as core::int;
forwarding-stub set setter3(covariant-by-declaration covariant-by-class core::Iterable<self::Class::T%> a) → void
return super.{self::Super::setter3} = a as{ForLegacy} core::List<self::Class::T%>;
return super.{self::Super::setter3} = a as core::List<self::Class::T%>;
}
class Subclass<T extends core::Object? = dynamic> extends self::Class<self::Subclass::T%> {
synthetic constructor •() → self::Subclass<self::Subclass::T%>

View File

@ -30,13 +30,13 @@ abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {
: super self::A::•()
;
forwarding-stub set boz(covariant-by-class core::num x) → void
return super.{self::A::boz} = x as{ForLegacy} core::int;
return super.{self::A::boz} = x as core::int;
forwarding-stub method foo(covariant-by-class core::num x) → core::num
return super.{self::A::foo}(x as{ForLegacy} core::int);
return super.{self::A::foo}(x as core::int);
forwarding-stub method bar({required covariant-by-class core::num x}) → core::num
return super.{self::A::bar}(x: x as{ForLegacy} core::int);
return super.{self::A::bar}(x: x as core::int);
forwarding-stub set baz(covariant-by-class core::num x) → void
return super.{self::A::baz} = x as{ForLegacy} core::int;
return super.{self::A::baz} = x as core::int;
}
class C extends self::_C&A&B {
synthetic constructor •() → self::C

View File

@ -30,13 +30,13 @@ abstract class _C&A&B extends self::A implements self::B<core::num> /*isAnonymou
: super self::A::•()
;
set boz(covariant-by-class core::num x) → void
return super.{self::A::boz} = x as{ForLegacy} core::int;
return super.{self::A::boz} = x as core::int;
method foo(covariant-by-class core::num x) → core::num
return super.{self::A::foo}(x as{ForLegacy} core::int);
return super.{self::A::foo}(x as core::int);
method bar({required covariant-by-class core::num x}) → core::num
return super.{self::A::bar}(x: x as{ForLegacy} core::int);
return super.{self::A::bar}(x: x as core::int);
set baz(covariant-by-class core::num x) → void
return super.{self::A::baz} = x as{ForLegacy} core::int;
return super.{self::A::baz} = x as core::int;
}
class C extends self::_C&A&B {
synthetic constructor •() → self::C

View File

@ -30,13 +30,13 @@ abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {
: super self::A::•()
;
forwarding-stub set boz(covariant-by-class core::num x) → void
return super.{self::A::boz} = x as{ForLegacy} core::int;
return super.{self::A::boz} = x as core::int;
forwarding-stub method foo(covariant-by-class core::num x) → core::num
return super.{self::A::foo}(x as{ForLegacy} core::int);
return super.{self::A::foo}(x as core::int);
forwarding-stub method bar({required covariant-by-class core::num x}) → core::num
return super.{self::A::bar}(x: x as{ForLegacy} core::int);
return super.{self::A::bar}(x: x as core::int);
forwarding-stub set baz(covariant-by-class core::num x) → void
return super.{self::A::baz} = x as{ForLegacy} core::int;
return super.{self::A::baz} = x as core::int;
}
class C extends self::_C&A&B {
synthetic constructor •() → self::C

View File

@ -30,13 +30,13 @@ abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {
: super self::A::•()
;
forwarding-stub set boz(covariant-by-class core::num x) → void
return super.{self::A::boz} = x as{ForLegacy} core::int;
return super.{self::A::boz} = x as core::int;
forwarding-stub method foo(covariant-by-class core::num x) → core::num
return super.{self::A::foo}(x as{ForLegacy} core::int);
return super.{self::A::foo}(x as core::int);
forwarding-stub method bar({required covariant-by-class core::num x}) → core::num
return super.{self::A::bar}(x: x as{ForLegacy} core::int);
return super.{self::A::bar}(x: x as core::int);
forwarding-stub set baz(covariant-by-class core::num x) → void
return super.{self::A::baz} = x as{ForLegacy} core::int;
return super.{self::A::baz} = x as core::int;
}
class C extends self::_C&A&B {
synthetic constructor •() → self::C

View File

@ -24,13 +24,13 @@ abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {
: super self::A::•()
;
forwarding-stub set boz(covariant-by-class core::num x) → void
return super.{self::A::boz} = x as{ForLegacy} core::int;
return super.{self::A::boz} = x as core::int;
forwarding-stub method foo(covariant-by-class core::num x) → core::num
return super.{self::A::foo}(x as{ForLegacy} core::int);
return super.{self::A::foo}(x as core::int);
forwarding-stub method bar({required covariant-by-class core::num x}) → core::num
return super.{self::A::bar}(x: x as{ForLegacy} core::int);
return super.{self::A::bar}(x: x as core::int);
forwarding-stub set baz(covariant-by-class core::num x) → void
return super.{self::A::baz} = x as{ForLegacy} core::int;
return super.{self::A::baz} = x as core::int;
}
class C extends self::_C&A&B {
synthetic constructor •() → self::C

View File

@ -30,13 +30,13 @@ abstract class _C&A&B extends self::A implements self::B<core::num> /*isAnonymou
: super self::A::•()
;
set boz(covariant-by-class core::num x) → void
return super.{self::A::boz} = x as{ForLegacy} core::int;
return super.{self::A::boz} = x as core::int;
method foo(covariant-by-class core::num x) → core::num
return super.{self::A::foo}(x as{ForLegacy} core::int);
return super.{self::A::foo}(x as core::int);
method bar({required covariant-by-class core::num x}) → core::num
return super.{self::A::bar}(x: x as{ForLegacy} core::int);
return super.{self::A::bar}(x: x as core::int);
set baz(covariant-by-class core::num x) → void
return super.{self::A::baz} = x as{ForLegacy} core::int;
return super.{self::A::baz} = x as core::int;
}
class C extends self::_C&A&B {
synthetic constructor •() → self::C

View File

@ -19,7 +19,7 @@ class C extends self::A implements self::I {
: super self::A::•()
;
forwarding-stub method m(covariant-by-declaration core::num n) → void
return super.{self::A::m}(n as{ForLegacy} core::int);
return super.{self::A::m}(n as core::int);
}
static method main() → void {
self::throws(() → void => (new self::C::•() as dynamic){dynamic}.m(1.1));

View File

@ -19,7 +19,7 @@ class C extends self::A implements self::I {
: super self::A::•()
;
forwarding-stub method m(covariant-by-declaration core::num n) → void
return super.{self::A::m}(n as{ForLegacy} core::int);
return super.{self::A::m}(n as core::int);
}
static method main() → void {
self::throws(() → void => (new self::C::•() as dynamic){dynamic}.m(1.1));

View File

@ -19,7 +19,7 @@ class C extends self::A implements self::I {
: super self::A::•()
;
forwarding-stub method m(covariant-by-declaration core::num n) → void
return super.{self::A::m}(n as{ForLegacy} core::int);
return super.{self::A::m}(n as core::int);
}
static method main() → void {
self::throws(() → void => (new self::C::•() as dynamic){dynamic}.m(1.1));

View File

@ -19,7 +19,7 @@ class C extends self::A implements self::I {
: super self::A::•()
;
forwarding-stub method m(covariant-by-declaration core::num n) → void
return super.{self::A::m}(n as{ForLegacy} core::int);
return super.{self::A::m}(n as core::int);
}
static method main() → void {
self::throws(() → void => (new self::C::•() as dynamic){dynamic}.m(1.1));

View File

@ -17,7 +17,7 @@ class C extends self::A implements self::I {
synthetic constructor •() → self::C
;
forwarding-stub method m(covariant-by-declaration core::num n) → void
return super.{self::A::m}(n as{ForLegacy} core::int);
return super.{self::A::m}(n as core::int);
}
static method main() → void
;

View File

@ -19,7 +19,7 @@ class C extends self::A implements self::I {
: super self::A::•()
;
forwarding-stub method m(covariant-by-declaration core::num n) → void
return super.{self::A::m}(n as{ForLegacy} core::int);
return super.{self::A::m}(n as core::int);
}
static method main() → void {
self::throws(() → void => (new self::C::•() as dynamic){dynamic}.m(1.1));

View File

@ -29,7 +29,7 @@ class D extends self::C implements self::I {
: super self::C::•()
;
forwarding-stub method f(covariant-by-declaration self::A a) → void
return super.{self::C::f}(a as{ForLegacy} self::B);
return super.{self::C::f}(a as self::B);
}
static method main() → void {
self::I i = new self::D::•();

View File

@ -29,7 +29,7 @@ class D extends self::C implements self::I {
: super self::C::•()
;
forwarding-stub method f(covariant-by-declaration self::A a) → void
return super.{self::C::f}(a as{ForLegacy} self::B);
return super.{self::C::f}(a as self::B);
}
static method main() → void {
self::I i = new self::D::•();

View File

@ -29,7 +29,7 @@ class D extends self::C implements self::I {
: super self::C::•()
;
forwarding-stub method f(covariant-by-declaration self::A a) → void
return super.{self::C::f}(a as{ForLegacy} self::B);
return super.{self::C::f}(a as self::B);
}
static method main() → void {
self::I i = new self::D::•();

View File

@ -29,7 +29,7 @@ class D extends self::C implements self::I {
: super self::C::•()
;
forwarding-stub method f(covariant-by-declaration self::A a) → void
return super.{self::C::f}(a as{ForLegacy} self::B);
return super.{self::C::f}(a as self::B);
}
static method main() → void {
self::I i = new self::D::•();

View File

@ -25,7 +25,7 @@ class D extends self::C implements self::I {
synthetic constructor •() → self::D
;
forwarding-stub method f(covariant-by-declaration self::A a) → void
return super.{self::C::f}(a as{ForLegacy} self::B);
return super.{self::C::f}(a as self::B);
}
static method main() → void
;

View File

@ -29,7 +29,7 @@ class D extends self::C implements self::I {
: super self::C::•()
;
forwarding-stub method f(covariant-by-declaration self::A a) → void
return super.{self::C::f}(a as{ForLegacy} self::B);
return super.{self::C::f}(a as self::B);
}
static method main() → void {
self::I i = new self::D::•();

View File

@ -69,7 +69,7 @@ class H<T extends core::Object? = dynamic> extends self::G<self::H::T%> implemen
;
method foo8<covariant-by-class Q extends self::H::T%>(self::H::foo8::Q% a, covariant-by-declaration core::int b, covariant-by-class self::H::T% c) → void {}
forwarding-stub method foo7<covariant-by-class Q extends self::H::T%>(self::H::foo7::Q% a, covariant-by-declaration core::num b, covariant-by-class self::H::T% c) → void
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as{ForLegacy} core::int, c);
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as core::int, c);
}
late static field core::List<core::Iterable<dynamic>> globalVar;
static method foo1(dynamic x) → dynamic {

View File

@ -69,7 +69,7 @@ class H<T extends core::Object? = dynamic> extends self::G<self::H::T%> implemen
;
method foo8<covariant-by-class Q extends self::H::T%>(self::H::foo8::Q% a, covariant-by-declaration core::int b, covariant-by-class self::H::T% c) → void {}
forwarding-stub method foo7<covariant-by-class Q extends self::H::T%>(self::H::foo7::Q% a, covariant-by-declaration core::num b, covariant-by-class self::H::T% c) → void
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as{ForLegacy} core::int, c);
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as core::int, c);
}
late static field core::List<core::Iterable<dynamic>> globalVar;
static method foo1(dynamic x) → dynamic {

View File

@ -69,7 +69,7 @@ class H<T extends core::Object? = dynamic> extends self::G<self::H::T%> implemen
;
method foo8<covariant-by-class Q extends self::H::T%>(self::H::foo8::Q% a, covariant-by-declaration core::int b, covariant-by-class self::H::T% c) → void {}
forwarding-stub method foo7<covariant-by-class Q extends self::H::T%>(self::H::foo7::Q% a, covariant-by-declaration core::num b, covariant-by-class self::H::T% c) → void
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as{ForLegacy} core::int, c);
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as core::int, c);
}
late static field core::List<core::Iterable<dynamic>> globalVar;
static method foo1(dynamic x) → dynamic {

View File

@ -69,7 +69,7 @@ class H<T extends core::Object? = dynamic> extends self::G<self::H::T%> implemen
;
method foo8<covariant-by-class Q extends self::H::T%>(self::H::foo8::Q% a, covariant-by-declaration core::int b, covariant-by-class self::H::T% c) → void {}
forwarding-stub method foo7<covariant-by-class Q extends self::H::T%>(self::H::foo7::Q% a, covariant-by-declaration core::num b, covariant-by-class self::H::T% c) → void
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as{ForLegacy} core::int, c);
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as core::int, c);
}
late static field core::List<core::Iterable<dynamic>> globalVar;
static method foo1(dynamic x) → dynamic {

View File

@ -49,7 +49,7 @@ class H<T extends core::Object? = dynamic> extends self::G<self::H::T%> implemen
method foo8<covariant-by-class Q extends self::H::T%>(self::H::foo8::Q% a, covariant-by-declaration core::int b, covariant-by-class self::H::T% c) → void
;
forwarding-stub method foo7<covariant-by-class Q extends self::H::T%>(self::H::foo7::Q% a, covariant-by-declaration core::num b, covariant-by-class self::H::T% c) → void
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as{ForLegacy} core::int, c);
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as core::int, c);
}
late static field core::List<core::Iterable<dynamic>> globalVar;
static method foo1(dynamic x) → dynamic

View File

@ -69,7 +69,7 @@ class H<T extends core::Object? = dynamic> extends self::G<self::H::T%> implemen
;
method foo8<covariant-by-class Q extends self::H::T%>(self::H::foo8::Q% a, covariant-by-declaration core::int b, covariant-by-class self::H::T% c) → void {}
forwarding-stub method foo7<covariant-by-class Q extends self::H::T%>(self::H::foo7::Q% a, covariant-by-declaration core::num b, covariant-by-class self::H::T% c) → void
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as{ForLegacy} core::int, c);
return super.{self::G::foo7}<self::H::foo7::Q%>(a, b as core::int, c);
}
late static field core::List<core::Iterable<dynamic>> globalVar;
static method foo1(dynamic x) → dynamic {

View File

@ -23,7 +23,7 @@ library from "org-dartlang-test:///main.dart" as main {
export "org-dartlang-test:///lib1.dart" show x;
export "org-dartlang-test:///lib2.dart" show x;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
static method main() → dynamic {
dart.core::print("exports");
}

View File

@ -23,7 +23,7 @@ library from "org-dartlang-test:///main.dart" as main {
export "org-dartlang-test:///lib1.dart" show x;
export "org-dartlang-test:///lib2.dart" show x;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
static method main() → dynamic {
dart.core::print("exports!");
}

View File

@ -84,7 +84,7 @@ additionalExports = (core::ArgumentError,
export "dart:core";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
static method method() → dynamic {
dart.core::print("hello");
}

View File

@ -84,7 +84,7 @@ additionalExports = (core::ArgumentError,
export "dart:core";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
static method method() → dynamic {
dart.core::print("hello");
}

View File

@ -11,7 +11,7 @@ library from "org-dartlang-test:///lib1.dart" as lib1 {
export "org-dartlang-test:///lib2.dart";
export "org-dartlang-test:///lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
}
library from "org-dartlang-test:///lib2.dart" as lib2 {

View File

@ -11,7 +11,7 @@ library from "org-dartlang-test:///lib1.dart" as lib1 {
export "org-dartlang-test:///lib2.dart";
export "org-dartlang-test:///lib3.dart";
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
}
library from "org-dartlang-test:///lib2.dart" as lib2 {

View File

@ -10,7 +10,7 @@ additionalExports = (wid::widgetFactory)
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -10,7 +10,7 @@ additionalExports = (wid::widgetFactory)
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -10,7 +10,7 @@ additionalExports = (wid::widgetFactory)
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -10,7 +10,7 @@ additionalExports = (wid::widgetFactory)
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
synthetic constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
synthetic constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
synthetic constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
synthetic constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -8,7 +8,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field dart.core::Object? key;
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({dart.core::Object? key = #C1, wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: fra::Widget::key = key, super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -8,7 +8,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field dart.core::Object? key;
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({dart.core::Object? key = #C1, wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: fra::Widget::key = key, super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -7,7 +7,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
;
}
abstract class Widget extends fra::Bar implements wid::_HasCreationLocation /*hasConstConstructor*/ {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
const constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super fra::Bar::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -27,7 +27,7 @@ library from "org-dartlang-test:///main.dart" as main {
export "org-dartlang-test:///lib1.dart" show x;
export "org-dartlang-test:///lib2.dart" show x;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
static method main() → dynamic {
dart.core::print("exports");
}

View File

@ -27,7 +27,7 @@ library from "org-dartlang-test:///main.dart" as main {
export "org-dartlang-test:///lib1.dart" show x;
export "org-dartlang-test:///lib2.dart" show x;
static const field dynamic _exports# = #C1 /*isLegacy*/;
static const field dynamic _exports# = #C1;
static method main() → dynamic {
dart.core::print("exports!");
}

View File

@ -4,7 +4,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
import "package:flutter/src/widgets/widget_inspector.dart";
abstract class Widget extends dart.core::Object implements wid::_HasCreationLocation {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
synthetic constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super dart.core::Object::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -4,7 +4,7 @@ library from "package:flutter/src/widgets/framework.dart" as fra {
import "package:flutter/src/widgets/widget_inspector.dart";
abstract class Widget extends dart.core::Object implements wid::_HasCreationLocation {
final field wid::_Location? _location /*isLegacy*/;
final field wid::_Location? _location;
synthetic constructor •({wid::_Location? $creationLocationd_0dea112b090073317d4 = #C1}) → fra::Widget
: super dart.core::Object::•(), fra::Widget::_location = $creationLocationd_0dea112b090073317d4
;

View File

@ -24,7 +24,7 @@ class C extends core::Object {
}
static method test(self::C c, core::num n) → void {
if(c.{self::C::_a}{self::A} is self::B) {
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{ForLegacy,Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
}
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ class C extends core::Object {
}
static method test(self::C c, core::num n) → void {
if(c.{self::C::_a}{self::A} is self::B) {
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{ForLegacy,Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
}
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ class C extends core::Object {
}
static method test(self::C c, core::num n) → void {
if(c.{self::C::_a}{self::A} is self::B) {
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{ForLegacy,Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
}
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ class C extends core::Object {
}
static method test(self::C c, core::num n) → void {
if(c.{self::C::_a}{self::A} is self::B) {
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{ForLegacy,Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
}
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ class C extends core::Object {
}
static method test(self::C c, core::num n) → void {
if(c.{self::C::_a}{self::A} is self::B) {
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{ForLegacy,Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
let final self::C #t1 = c in let final core::num #t2 = n in (#t1.{self::C::_a}{self::A} as{Unchecked} self::B).{self::B::call}(#t2){(core::num) → core::int};
}
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ static method cascadedNullAwarePropertyAccess(self::C? c) → void {
static method cascadedInvocation(self::C c) → void {
c.{self::C::_field}{core::Object?} as () → core::int;
let final self::C #t4 = c in block {
(#t4.{self::C::_field}{core::Object?} as{ForLegacy,Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
(#t4.{self::C::_field}{core::Object?} as{Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
} =>#t4;
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ static method cascadedNullAwarePropertyAccess(self::C? c) → void {
static method cascadedInvocation(self::C c) → void {
c.{self::C::_field}{core::Object?} as () → core::int;
let final self::C #t5 = c in block {
(#t5.{self::C::_field}{core::Object?} as{ForLegacy,Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
(#t5.{self::C::_field}{core::Object?} as{Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
} =>#t5;
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ static method cascadedNullAwarePropertyAccess(self::C? c) → void {
static method cascadedInvocation(self::C c) → void {
c.{self::C::_field}{core::Object?} as () → core::int;
let final self::C #t4 = c in block {
(#t4.{self::C::_field}{core::Object?} as{ForLegacy,Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
(#t4.{self::C::_field}{core::Object?} as{Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
} =>#t4;
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ static method cascadedNullAwarePropertyAccess(self::C? c) → void {
static method cascadedInvocation(self::C c) → void {
c.{self::C::_field}{core::Object?} as () → core::int;
let final self::C #t4 = c in block {
(#t4.{self::C::_field}{core::Object?} as{ForLegacy,Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
(#t4.{self::C::_field}{core::Object?} as{Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
} =>#t4;
}
static method main() → dynamic {}

View File

@ -24,7 +24,7 @@ static method cascadedNullAwarePropertyAccess(self::C? c) → void {
static method cascadedInvocation(self::C c) → void {
c.{self::C::_field}{core::Object?} as () → core::int;
let final self::C #t4 = c in block {
(#t4.{self::C::_field}{core::Object?} as{ForLegacy,Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
(#t4.{self::C::_field}{core::Object?} as{Unchecked} () → core::int)(){() → core::int}.{core::int::toString}(){() → core::String};
} =>#t4;
}
static method main() → dynamic {}

Some files were not shown because too many files have changed in this diff Show More