From 4cfd3da9654a02a1aea1500569d32f978b721f8f Mon Sep 17 00:00:00 2001 From: Johnni Winther Date: Wed, 1 Apr 2026 01:17:28 -0700 Subject: [PATCH] [cfe][PrimaryConstructors] Update reporting for mixin class with initializer/constructor body This update the position used for reporting a mixin class primary constructor with a primary constructor by declaration with initializers or an explicit body. Since mixin classes can have simple constructors, it makes more sense to report the error on the offending syntax than on the primary constructor itself. The CL also updates the offset used for field initializers to the field name rather than the `=`. This align the offset with what is used for property sets. Change-Id: Id5ccd55536b2c3b9d9336d2854772c1bcc5a175a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/490800 Reviewed-by: Konstantin Shcheglov Reviewed-by: Erik Ernst Commit-Queue: Johnni Winther --- .../src/fragment/constructor/declaration.dart | 12 ++ .../lib/src/kernel/body_builder.dart | 12 +- .../lib/src/kernel/expression_generator.dart | 1 - .../kernel/expression_generator_helper.dart | 1 - pkg/front_end/lib/src/kernel/resolver.dart | 16 ++- .../lib/src/kernel/resolver_helpers.dart | 8 +- .../erroneous_constructors.dart.strong.expect | 8 +- ...us_constructors.dart.strong.modular.expect | 8 +- ...onstructors.dart.strong.transformed.expect | 8 +- .../initializers.dart.strong.expect | 8 +- .../initializers.dart.strong.modular.expect | 8 +- ...nitializers.dart.strong.transformed.expect | 8 +- .../initialization_errors.dart.strong.expect | 108 +++++++++--------- ...lization_errors.dart.strong.modular.expect | 108 +++++++++--------- ...tion_errors.dart.strong.transformed.expect | 108 +++++++++--------- .../general/issue43363.dart.strong.expect | 8 +- .../issue43363.dart.strong.modular.expect | 8 +- .../issue43363.dart.strong.transformed.expect | 8 +- .../general/many_errors.dart.strong.expect | 16 +-- .../many_errors.dart.strong.modular.expect | 16 +-- .../many_errors.dart.strong.outline.expect | 16 +-- ...many_errors.dart.strong.transformed.expect | 16 +-- .../mixin_class.dart.strong.expect | 12 +- .../mixin_class.dart.strong.modular.expect | 12 +- ...mixin_class.dart.strong.transformed.expect | 12 +- .../super_initializer.dart.strong.expect | 24 ++-- ...per_initializer.dart.strong.modular.expect | 24 ++-- ...initializer.dart.strong.transformed.expect | 24 ++-- .../vmspecific_static_checks_test.dart | 10 +- .../const/constructor_syntax_test.dart | 1 - tests/language/const/syntax_test.dart | 1 - .../duplicate_initializers_test.dart | 2 - .../language/constructor/redirect2_test.dart | 1 - .../final/attempt_reinitialization_test.dart | 1 - .../variable/initializer_super_last_test.dart | 16 +-- 35 files changed, 336 insertions(+), 314 deletions(-) diff --git a/pkg/front_end/lib/src/fragment/constructor/declaration.dart b/pkg/front_end/lib/src/fragment/constructor/declaration.dart index e946af22d0c..4c4c26f1186 100644 --- a/pkg/front_end/lib/src/fragment/constructor/declaration.dart +++ b/pkg/front_end/lib/src/fragment/constructor/declaration.dart @@ -153,6 +153,8 @@ mixin _ConstructorDeclarationMixin List? get _typeParameters; + bool get _isPrimaryConstructor; + late final List? _initializerScopeParameters = _computeInitializerScopeParameters(); @@ -598,6 +600,7 @@ mixin _ConstructorDeclarationMixin fileUri: fileUri, beginInitializers: _beginInitializers!, isConst: isConst, + forPrimaryConstructor: _isPrimaryConstructor, ); } } @@ -1037,6 +1040,9 @@ class RegularConstructorDeclaration typeParameterScope: _fragment.typeParameterScope, ); } + + @override + bool get _isPrimaryConstructor => false; } class DefaultEnumConstructorDeclaration @@ -1190,6 +1196,9 @@ class DefaultEnumConstructorDeclaration @override // Coverage-ignore(suite): Not run. String? get _nativeMethodName => null; + + @override + bool get _isPrimaryConstructor => false; } class PrimaryConstructorDeclaration @@ -1434,6 +1443,9 @@ class PrimaryConstructorDeclaration @override Uri get fileUri => _fragment.fileUri; + + @override + bool get _isPrimaryConstructor => true; } /// Interface for using a [ConstructorFragment] or [PrimaryConstructorFragment] diff --git a/pkg/front_end/lib/src/kernel/body_builder.dart b/pkg/front_end/lib/src/kernel/body_builder.dart index 5e1c613ee4a..426a377d887 100644 --- a/pkg/front_end/lib/src/kernel/body_builder.dart +++ b/pkg/front_end/lib/src/kernel/body_builder.dart @@ -1125,7 +1125,6 @@ class BodyBuilderImpl extends StackListenerImpl initializers = createFieldInitializer( formal.name, formal.fileOffset, - formal.fileOffset, new VariableGet(formal.variable) ..fileOffset = formal.fileOffset, formal: formal, @@ -9895,7 +9894,6 @@ class BodyBuilderImpl extends StackListenerImpl List createFieldInitializer( String name, int fieldNameOffset, - int assignmentOffset, Expression expression, { FormalParameterBuilder? formal, }) { @@ -9960,12 +9958,12 @@ class BodyBuilderImpl extends StackListenerImpl builder, expression, name, - assignmentOffset, + fieldNameOffset, initializedFields![name]!, ), ]; } - initializedFields![name] = assignmentOffset; + initializedFields![name] = fieldNameOffset; if (builder.hasAbstractField) { return [ extern.createInvalidInitializer( @@ -9996,7 +9994,7 @@ class BodyBuilderImpl extends StackListenerImpl fieldName: name, ), fileUri: uri, - fileOffset: assignmentOffset, + fileOffset: fieldNameOffset, length: noLength, context: [ diag.fieldAlreadyInitializedAtDeclarationCause @@ -10026,7 +10024,7 @@ class BodyBuilderImpl extends StackListenerImpl parameterType: formalType, fieldType: builder.fieldType, ), - fileOffset: assignmentOffset, + fileOffset: fieldNameOffset, length: noLength, fileUri: uri, context: [ @@ -10042,7 +10040,7 @@ class BodyBuilderImpl extends StackListenerImpl } } return builder.buildInitializer( - assignmentOffset, + fieldNameOffset, expression, isSynthetic: formal != null, ); diff --git a/pkg/front_end/lib/src/kernel/expression_generator.dart b/pkg/front_end/lib/src/kernel/expression_generator.dart index 45edffe7e73..eedea40deb4 100644 --- a/pkg/front_end/lib/src/kernel/expression_generator.dart +++ b/pkg/front_end/lib/src/kernel/expression_generator.dart @@ -5846,7 +5846,6 @@ class DelayedAssignment extends ContextAwareGenerator { return _helper.createFieldInitializer( generator._plainNameForRead, offsetForToken(generator.token), - fileOffset, value, ); } diff --git a/pkg/front_end/lib/src/kernel/expression_generator_helper.dart b/pkg/front_end/lib/src/kernel/expression_generator_helper.dart index d755f6c14ac..5921dbc2886 100644 --- a/pkg/front_end/lib/src/kernel/expression_generator_helper.dart +++ b/pkg/front_end/lib/src/kernel/expression_generator_helper.dart @@ -106,7 +106,6 @@ abstract class ExpressionGeneratorHelper { List createFieldInitializer( String name, int fieldNameOffset, - int assignmentOffset, Expression expression, { FormalParameterBuilder? formal, }); diff --git a/pkg/front_end/lib/src/kernel/resolver.dart b/pkg/front_end/lib/src/kernel/resolver.dart index 5eabf01a60e..32795be9e6b 100644 --- a/pkg/front_end/lib/src/kernel/resolver.dart +++ b/pkg/front_end/lib/src/kernel/resolver.dart @@ -415,6 +415,7 @@ class Resolver { initializers: result.initializers, constantContext: constantContext, internalThisVariable: internalThisVariable, + forPrimaryConstructor: false, ); context.performBacklog(result.annotations); } on DebugAbort { @@ -437,6 +438,7 @@ class Resolver { required Uri fileUri, required Token beginInitializers, required bool isConst, + required bool forPrimaryConstructor, }) { _ResolverContext context = new _ResolverContext( typeInferenceEngine: _typeInferenceEngine, @@ -492,6 +494,7 @@ class Resolver { fileUri: fileUri, constantContext: constantContext, initializers: initializers, + forPrimaryConstructor: forPrimaryConstructor, ); } context.performBacklog(result.annotations); @@ -683,6 +686,7 @@ class Resolver { initializers: result.initializers, constantContext: constantContext, internalThisVariable: internalThisVariable, + forPrimaryConstructor: true, ); context.performBacklog(result.annotations); @@ -765,6 +769,7 @@ class Resolver { initializers: result.initializers, thisVariable: functionBodyBuildingContext.thisVariable, internalThisVariable: internalThisVariable, + forPrimaryConstructor: true, ); context.performBacklog(result.annotations); } @@ -1247,6 +1252,7 @@ class Resolver { required Uri fileUri, required ConstantContext constantContext, required List initializers, + required bool forPrimaryConstructor, }) { _InitializerBuilder initializerBuilder = new _InitializerBuilder( compilerContext: compilerContext, @@ -1263,6 +1269,7 @@ class Resolver { initializers: initializers, asyncMarker: asyncModifier, asyncModifierFileOffset: body?.fileOffset, + forPrimaryConstructor: forPrimaryConstructor, ); if (body == null && !bodyBuilderContext.isExternalConstructor) { @@ -1281,7 +1288,12 @@ class Resolver { className: bodyBuilderContext.className, ), fileUri: fileUri, - fileOffset: bodyBuilderContext.memberNameOffset, + // It is allowed to have a primary constructor without a body, so + // for primary constructors we report the error on the body and not + // the name of the constructor. + fileOffset: forPrimaryConstructor + ? body.fileOffset + : bodyBuilderContext.memberNameOffset, length: noLength, ); } @@ -1301,6 +1313,7 @@ class Resolver { required List initializers, required ConstantContext constantContext, required ThisVariable? internalThisVariable, + required bool forPrimaryConstructor, }) { AssignedVariables assignedVariables = context.assignedVariables; @@ -1387,6 +1400,7 @@ class Resolver { fileUri: fileUri, constantContext: constantContext, initializers: initializers, + forPrimaryConstructor: forPrimaryConstructor, ); } diff --git a/pkg/front_end/lib/src/kernel/resolver_helpers.dart b/pkg/front_end/lib/src/kernel/resolver_helpers.dart index f764f9c8f72..37854640bde 100644 --- a/pkg/front_end/lib/src/kernel/resolver_helpers.dart +++ b/pkg/front_end/lib/src/kernel/resolver_helpers.dart @@ -229,6 +229,7 @@ class _InitializerBuilder { required List initializers, required AsyncMarker asyncMarker, required int? asyncModifierFileOffset, + required bool forPrimaryConstructor, }) { if (initializers.isNotEmpty) { if (_bodyBuilderContext.isMixinClass) { @@ -240,7 +241,12 @@ class _InitializerBuilder { className: _bodyBuilderContext.className, ), fileUri: _fileUri, - fileOffset: _bodyBuilderContext.memberNameOffset, + // It is allowed to have a primary constructor without a body, so + // for primary constructors we report the error on the first + // initializer and not the name of the constructor. + fileOffset: forPrimaryConstructor + ? initializers.first.fileOffset + : _bodyBuilderContext.memberNameOffset, length: noLength, ); } diff --git a/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.expect b/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.expect index a4b06ee331e..c36bad6ca04 100644 --- a/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.expect +++ b/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.expect @@ -19,9 +19,9 @@ library; // E3.named(String it1, String it2) : this(it1), this(it2); // ^ // -// pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:26: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:23: Error: A redirecting constructor can't have other initializers. // E4.named(bool it) : it = false, this(it); -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -106,9 +106,9 @@ static extension-type-member synthetic method E4|constructor#_#new#tearOff(core: return self::E4|constructor#(it); static extension-type-member erroneous method E4|constructor#named(core::bool it) → self::E4% /* erasure=core::bool, declared=! */ { lowered final self::E4% /* erasure=core::bool, declared=! */ #this; - invalid-expression "pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:26: Error: A redirecting constructor can't have other initializers. + invalid-expression "pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:23: Error: A redirecting constructor can't have other initializers. E4.named(bool it) : it = false, this(it); - ^"; + ^"; #this = self::E4|constructor#(it); return #this; } diff --git a/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.modular.expect index a4b06ee331e..c36bad6ca04 100644 --- a/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.modular.expect +++ b/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.modular.expect @@ -19,9 +19,9 @@ library; // E3.named(String it1, String it2) : this(it1), this(it2); // ^ // -// pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:26: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:23: Error: A redirecting constructor can't have other initializers. // E4.named(bool it) : it = false, this(it); -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -106,9 +106,9 @@ static extension-type-member synthetic method E4|constructor#_#new#tearOff(core: return self::E4|constructor#(it); static extension-type-member erroneous method E4|constructor#named(core::bool it) → self::E4% /* erasure=core::bool, declared=! */ { lowered final self::E4% /* erasure=core::bool, declared=! */ #this; - invalid-expression "pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:26: Error: A redirecting constructor can't have other initializers. + invalid-expression "pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:23: Error: A redirecting constructor can't have other initializers. E4.named(bool it) : it = false, this(it); - ^"; + ^"; #this = self::E4|constructor#(it); return #this; } diff --git a/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.transformed.expect index a4b06ee331e..c36bad6ca04 100644 --- a/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/extension_types/erroneous_constructors.dart.strong.transformed.expect @@ -19,9 +19,9 @@ library; // E3.named(String it1, String it2) : this(it1), this(it2); // ^ // -// pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:26: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:23: Error: A redirecting constructor can't have other initializers. // E4.named(bool it) : it = false, this(it); -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -106,9 +106,9 @@ static extension-type-member synthetic method E4|constructor#_#new#tearOff(core: return self::E4|constructor#(it); static extension-type-member erroneous method E4|constructor#named(core::bool it) → self::E4% /* erasure=core::bool, declared=! */ { lowered final self::E4% /* erasure=core::bool, declared=! */ #this; - invalid-expression "pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:26: Error: A redirecting constructor can't have other initializers. + invalid-expression "pkg/front_end/testcases/extension_types/erroneous_constructors.dart:18:23: Error: A redirecting constructor can't have other initializers. E4.named(bool it) : it = false, this(it); - ^"; + ^"; #this = self::E4|constructor#(it); return #this; } diff --git a/pkg/front_end/testcases/extension_types/initializers.dart.strong.expect b/pkg/front_end/testcases/extension_types/initializers.dart.strong.expect index a448e82d425..616c4b9d4f1 100644 --- a/pkg/front_end/testcases/extension_types/initializers.dart.strong.expect +++ b/pkg/front_end/testcases/extension_types/initializers.dart.strong.expect @@ -6,9 +6,9 @@ library; // Class4(this.field, this.nonexisting); // Error // ^^^^^^^^^^^ // -// pkg/front_end/testcases/extension_types/initializers.dart:20:35: Error: 'field' was already initialized by this constructor. +// pkg/front_end/testcases/extension_types/initializers.dart:20:29: Error: 'field' was already initialized by this constructor. // Class5(this.field) : this.field = 42; // Error -// ^ +// ^ // // pkg/front_end/testcases/extension_types/initializers.dart:24:29: Error: 'nonexisting' isn't an instance field of this class. // Class6(this.field) : this.nonexisting = 42; // Error @@ -110,9 +110,9 @@ static extension-type-member synthetic method Class5|constructor#_#_#tearOff(cor return self::Class5|constructor#_(field); static extension-type-member method Class5|constructor#(core::int field) → self::Class5% /* erasure=core::int, declared=! */ { lowered final self::Class5% /* erasure=core::int, declared=! */ #this = field; - invalid-expression "pkg/front_end/testcases/extension_types/initializers.dart:20:35: Error: 'field' was already initialized by this constructor. + invalid-expression "pkg/front_end/testcases/extension_types/initializers.dart:20:29: Error: 'field' was already initialized by this constructor. Class5(this.field) : this.field = 42; // Error - ^"; + ^"; return #this; } static extension-type-member synthetic method Class5|constructor#_#new#tearOff(core::int field) → self::Class5% /* erasure=core::int, declared=! */ diff --git a/pkg/front_end/testcases/extension_types/initializers.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/initializers.dart.strong.modular.expect index a448e82d425..616c4b9d4f1 100644 --- a/pkg/front_end/testcases/extension_types/initializers.dart.strong.modular.expect +++ b/pkg/front_end/testcases/extension_types/initializers.dart.strong.modular.expect @@ -6,9 +6,9 @@ library; // Class4(this.field, this.nonexisting); // Error // ^^^^^^^^^^^ // -// pkg/front_end/testcases/extension_types/initializers.dart:20:35: Error: 'field' was already initialized by this constructor. +// pkg/front_end/testcases/extension_types/initializers.dart:20:29: Error: 'field' was already initialized by this constructor. // Class5(this.field) : this.field = 42; // Error -// ^ +// ^ // // pkg/front_end/testcases/extension_types/initializers.dart:24:29: Error: 'nonexisting' isn't an instance field of this class. // Class6(this.field) : this.nonexisting = 42; // Error @@ -110,9 +110,9 @@ static extension-type-member synthetic method Class5|constructor#_#_#tearOff(cor return self::Class5|constructor#_(field); static extension-type-member method Class5|constructor#(core::int field) → self::Class5% /* erasure=core::int, declared=! */ { lowered final self::Class5% /* erasure=core::int, declared=! */ #this = field; - invalid-expression "pkg/front_end/testcases/extension_types/initializers.dart:20:35: Error: 'field' was already initialized by this constructor. + invalid-expression "pkg/front_end/testcases/extension_types/initializers.dart:20:29: Error: 'field' was already initialized by this constructor. Class5(this.field) : this.field = 42; // Error - ^"; + ^"; return #this; } static extension-type-member synthetic method Class5|constructor#_#new#tearOff(core::int field) → self::Class5% /* erasure=core::int, declared=! */ diff --git a/pkg/front_end/testcases/extension_types/initializers.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/initializers.dart.strong.transformed.expect index a448e82d425..616c4b9d4f1 100644 --- a/pkg/front_end/testcases/extension_types/initializers.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/extension_types/initializers.dart.strong.transformed.expect @@ -6,9 +6,9 @@ library; // Class4(this.field, this.nonexisting); // Error // ^^^^^^^^^^^ // -// pkg/front_end/testcases/extension_types/initializers.dart:20:35: Error: 'field' was already initialized by this constructor. +// pkg/front_end/testcases/extension_types/initializers.dart:20:29: Error: 'field' was already initialized by this constructor. // Class5(this.field) : this.field = 42; // Error -// ^ +// ^ // // pkg/front_end/testcases/extension_types/initializers.dart:24:29: Error: 'nonexisting' isn't an instance field of this class. // Class6(this.field) : this.nonexisting = 42; // Error @@ -110,9 +110,9 @@ static extension-type-member synthetic method Class5|constructor#_#_#tearOff(cor return self::Class5|constructor#_(field); static extension-type-member method Class5|constructor#(core::int field) → self::Class5% /* erasure=core::int, declared=! */ { lowered final self::Class5% /* erasure=core::int, declared=! */ #this = field; - invalid-expression "pkg/front_end/testcases/extension_types/initializers.dart:20:35: Error: 'field' was already initialized by this constructor. + invalid-expression "pkg/front_end/testcases/extension_types/initializers.dart:20:29: Error: 'field' was already initialized by this constructor. Class5(this.field) : this.field = 42; // Error - ^"; + ^"; return #this; } static extension-type-member synthetic method Class5|constructor#_#new#tearOff(core::int field) → self::Class5% /* erasure=core::int, declared=! */ diff --git a/pkg/front_end/testcases/general/initialization_errors.dart.strong.expect b/pkg/front_end/testcases/general/initialization_errors.dart.strong.expect index 090e7c4ab90..34c4e8f72b8 100644 --- a/pkg/front_end/testcases/general/initialization_errors.dart.strong.expect +++ b/pkg/front_end/testcases/general/initialization_errors.dart.strong.expect @@ -2,68 +2,68 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/initialization_errors.dart:9:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:9:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:16:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:16:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:22:16: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/initialization_errors.dart:22:14: Error: 'x' is a final instance variable that was initialized at the declaration. // : this.x = 41, -// ^ +// ^ // pkg/front_end/testcases/general/initialization_errors.dart:20:13: Context: 'x' was initialized here. // final int x = 2; // ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:23:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:23:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:30:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:30:14: Error: A redirecting constructor can't have other initializers. // : this.x = 41, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:32:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:32:14: Error: A redirecting constructor can't have other initializers. // this.y = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:43:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:43:14: Error: A redirecting constructor can't have other initializers. // this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:44:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:44:14: Error: A redirecting constructor can't have other initializers. // this.y = 2 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:49:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:49:14: Error: A redirecting constructor can't have other initializers. // : this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:51:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:51:14: Error: A redirecting constructor can't have other initializers. // this.y = 2; -// ^ +// ^ // // pkg/front_end/testcases/general/initialization_errors.dart:53:9: Error: A redirecting constructor can't have a 'super' initializer. // : super(), // ^^^^^ // -// pkg/front_end/testcases/general/initialization_errors.dart:55:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:55:14: Error: Can't have initializers after 'super'. // this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:56:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:56:14: Error: Can't have initializers after 'super'. // this.y = 2; -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:58:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:58:14: Error: A redirecting constructor can't have other initializers. // : this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:59:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:59:14: Error: A redirecting constructor can't have other initializers. // this.y = 2, -// ^ +// ^ // // pkg/front_end/testcases/general/initialization_errors.dart:62:9: Error: A redirecting constructor can't have other initializers. // : assert(true), @@ -93,9 +93,9 @@ library; // super() {} // ^^^^^ // -// pkg/front_end/testcases/general/initialization_errors.dart:101:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:101:14: Error: Can't have initializers after 'super'. // this.x = 42 {} -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -103,35 +103,35 @@ import "dart:core" as core; class A extends core::Object { field core::int x; constructor •() → self::A - : self::A::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:9:16: Error: 'x' was already initialized by this constructor. + : self::A::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:9:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class B extends core::Object { final field core::int x; constructor •() → self::B - : self::B::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:16:16: Error: 'x' was already initialized by this constructor. + : self::B::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:16:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class C extends core::Object { final field core::int x = 2; constructor •() → self::C - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:22:16: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:22:14: Error: 'x' is a final instance variable that was initialized at the declaration. : this.x = 41, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:23:16: Error: 'x' was already initialized by this constructor. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:23:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class D extends core::Object { final field core::int x; final field core::int y; erroneous constructor •() → self::D - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:30:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:30:14: Error: A redirecting constructor can't have other initializers. : this.x = 41, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:32:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:32:14: Error: A redirecting constructor can't have other initializers. this.y = 42 {} - ^", this self::D::named() {} + ^", this self::D::named() {} constructor named() → self::D : self::D::x = 41, self::D::y = 42, super core::Object::•() {} } @@ -139,35 +139,35 @@ class E extends core::Object { final field core::int x; final field core::int y; erroneous constructor •() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:43:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:43:14: Error: A redirecting constructor can't have other initializers. this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:44:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:44:14: Error: A redirecting constructor can't have other initializers. this.y = 2 {} - ^", this self::E::named() {} + ^", this self::E::named() {} constructor named() → self::E : self::E::x = 41, self::E::y = 42, super core::Object::•() {} erroneous constructor named2() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:49:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:49:14: Error: A redirecting constructor can't have other initializers. : this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:51:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:51:14: Error: A redirecting constructor can't have other initializers. this.y = 2; - ^", this self::E::named() + ^", this self::E::named() ; erroneous constructor named3() → self::E : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:53:9: Error: A redirecting constructor can't have a 'super' initializer. : super(), - ^^^^^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:55:16: Error: Can't have initializers after 'super'. + ^^^^^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:55:14: Error: Can't have initializers after 'super'. this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:56:16: Error: Can't have initializers after 'super'. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:56:14: Error: Can't have initializers after 'super'. this.y = 2; - ^", super core::Object::•() + ^", super core::Object::•() ; erroneous constructor named4() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:58:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:58:14: Error: A redirecting constructor can't have other initializers. : this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:59:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:59:14: Error: A redirecting constructor can't have other initializers. this.y = 2, - ^", this self::E::named() + ^", this self::E::named() ; erroneous constructor named5() → self::E : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:62:9: Error: A redirecting constructor can't have other initializers. @@ -216,8 +216,8 @@ class I extends core::Object { class J extends core::Object { field core::int x; erroneous constructor •() → self::J - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:101:16: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:101:14: Error: Can't have initializers after 'super'. this.x = 42 {} - ^", super core::Object::•() {} + ^", super core::Object::•() {} } static method main() → dynamic {} diff --git a/pkg/front_end/testcases/general/initialization_errors.dart.strong.modular.expect b/pkg/front_end/testcases/general/initialization_errors.dart.strong.modular.expect index 090e7c4ab90..34c4e8f72b8 100644 --- a/pkg/front_end/testcases/general/initialization_errors.dart.strong.modular.expect +++ b/pkg/front_end/testcases/general/initialization_errors.dart.strong.modular.expect @@ -2,68 +2,68 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/initialization_errors.dart:9:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:9:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:16:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:16:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:22:16: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/initialization_errors.dart:22:14: Error: 'x' is a final instance variable that was initialized at the declaration. // : this.x = 41, -// ^ +// ^ // pkg/front_end/testcases/general/initialization_errors.dart:20:13: Context: 'x' was initialized here. // final int x = 2; // ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:23:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:23:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:30:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:30:14: Error: A redirecting constructor can't have other initializers. // : this.x = 41, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:32:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:32:14: Error: A redirecting constructor can't have other initializers. // this.y = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:43:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:43:14: Error: A redirecting constructor can't have other initializers. // this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:44:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:44:14: Error: A redirecting constructor can't have other initializers. // this.y = 2 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:49:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:49:14: Error: A redirecting constructor can't have other initializers. // : this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:51:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:51:14: Error: A redirecting constructor can't have other initializers. // this.y = 2; -// ^ +// ^ // // pkg/front_end/testcases/general/initialization_errors.dart:53:9: Error: A redirecting constructor can't have a 'super' initializer. // : super(), // ^^^^^ // -// pkg/front_end/testcases/general/initialization_errors.dart:55:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:55:14: Error: Can't have initializers after 'super'. // this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:56:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:56:14: Error: Can't have initializers after 'super'. // this.y = 2; -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:58:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:58:14: Error: A redirecting constructor can't have other initializers. // : this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:59:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:59:14: Error: A redirecting constructor can't have other initializers. // this.y = 2, -// ^ +// ^ // // pkg/front_end/testcases/general/initialization_errors.dart:62:9: Error: A redirecting constructor can't have other initializers. // : assert(true), @@ -93,9 +93,9 @@ library; // super() {} // ^^^^^ // -// pkg/front_end/testcases/general/initialization_errors.dart:101:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:101:14: Error: Can't have initializers after 'super'. // this.x = 42 {} -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -103,35 +103,35 @@ import "dart:core" as core; class A extends core::Object { field core::int x; constructor •() → self::A - : self::A::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:9:16: Error: 'x' was already initialized by this constructor. + : self::A::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:9:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class B extends core::Object { final field core::int x; constructor •() → self::B - : self::B::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:16:16: Error: 'x' was already initialized by this constructor. + : self::B::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:16:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class C extends core::Object { final field core::int x = 2; constructor •() → self::C - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:22:16: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:22:14: Error: 'x' is a final instance variable that was initialized at the declaration. : this.x = 41, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:23:16: Error: 'x' was already initialized by this constructor. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:23:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class D extends core::Object { final field core::int x; final field core::int y; erroneous constructor •() → self::D - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:30:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:30:14: Error: A redirecting constructor can't have other initializers. : this.x = 41, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:32:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:32:14: Error: A redirecting constructor can't have other initializers. this.y = 42 {} - ^", this self::D::named() {} + ^", this self::D::named() {} constructor named() → self::D : self::D::x = 41, self::D::y = 42, super core::Object::•() {} } @@ -139,35 +139,35 @@ class E extends core::Object { final field core::int x; final field core::int y; erroneous constructor •() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:43:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:43:14: Error: A redirecting constructor can't have other initializers. this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:44:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:44:14: Error: A redirecting constructor can't have other initializers. this.y = 2 {} - ^", this self::E::named() {} + ^", this self::E::named() {} constructor named() → self::E : self::E::x = 41, self::E::y = 42, super core::Object::•() {} erroneous constructor named2() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:49:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:49:14: Error: A redirecting constructor can't have other initializers. : this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:51:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:51:14: Error: A redirecting constructor can't have other initializers. this.y = 2; - ^", this self::E::named() + ^", this self::E::named() ; erroneous constructor named3() → self::E : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:53:9: Error: A redirecting constructor can't have a 'super' initializer. : super(), - ^^^^^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:55:16: Error: Can't have initializers after 'super'. + ^^^^^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:55:14: Error: Can't have initializers after 'super'. this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:56:16: Error: Can't have initializers after 'super'. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:56:14: Error: Can't have initializers after 'super'. this.y = 2; - ^", super core::Object::•() + ^", super core::Object::•() ; erroneous constructor named4() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:58:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:58:14: Error: A redirecting constructor can't have other initializers. : this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:59:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:59:14: Error: A redirecting constructor can't have other initializers. this.y = 2, - ^", this self::E::named() + ^", this self::E::named() ; erroneous constructor named5() → self::E : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:62:9: Error: A redirecting constructor can't have other initializers. @@ -216,8 +216,8 @@ class I extends core::Object { class J extends core::Object { field core::int x; erroneous constructor •() → self::J - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:101:16: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:101:14: Error: Can't have initializers after 'super'. this.x = 42 {} - ^", super core::Object::•() {} + ^", super core::Object::•() {} } static method main() → dynamic {} diff --git a/pkg/front_end/testcases/general/initialization_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/general/initialization_errors.dart.strong.transformed.expect index 090e7c4ab90..34c4e8f72b8 100644 --- a/pkg/front_end/testcases/general/initialization_errors.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/general/initialization_errors.dart.strong.transformed.expect @@ -2,68 +2,68 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/initialization_errors.dart:9:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:9:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:16:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:16:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:22:16: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/initialization_errors.dart:22:14: Error: 'x' is a final instance variable that was initialized at the declaration. // : this.x = 41, -// ^ +// ^ // pkg/front_end/testcases/general/initialization_errors.dart:20:13: Context: 'x' was initialized here. // final int x = 2; // ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:23:16: Error: 'x' was already initialized by this constructor. +// pkg/front_end/testcases/general/initialization_errors.dart:23:14: Error: 'x' was already initialized by this constructor. // this.x = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:30:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:30:14: Error: A redirecting constructor can't have other initializers. // : this.x = 41, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:32:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:32:14: Error: A redirecting constructor can't have other initializers. // this.y = 42 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:43:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:43:14: Error: A redirecting constructor can't have other initializers. // this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:44:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:44:14: Error: A redirecting constructor can't have other initializers. // this.y = 2 {} -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:49:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:49:14: Error: A redirecting constructor can't have other initializers. // : this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:51:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:51:14: Error: A redirecting constructor can't have other initializers. // this.y = 2; -// ^ +// ^ // // pkg/front_end/testcases/general/initialization_errors.dart:53:9: Error: A redirecting constructor can't have a 'super' initializer. // : super(), // ^^^^^ // -// pkg/front_end/testcases/general/initialization_errors.dart:55:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:55:14: Error: Can't have initializers after 'super'. // this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:56:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:56:14: Error: Can't have initializers after 'super'. // this.y = 2; -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:58:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:58:14: Error: A redirecting constructor can't have other initializers. // : this.x = 1, -// ^ +// ^ // -// pkg/front_end/testcases/general/initialization_errors.dart:59:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/initialization_errors.dart:59:14: Error: A redirecting constructor can't have other initializers. // this.y = 2, -// ^ +// ^ // // pkg/front_end/testcases/general/initialization_errors.dart:62:9: Error: A redirecting constructor can't have other initializers. // : assert(true), @@ -93,9 +93,9 @@ library; // super() {} // ^^^^^ // -// pkg/front_end/testcases/general/initialization_errors.dart:101:16: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/general/initialization_errors.dart:101:14: Error: Can't have initializers after 'super'. // this.x = 42 {} -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -103,35 +103,35 @@ import "dart:core" as core; class A extends core::Object { field core::int x; constructor •() → self::A - : self::A::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:9:16: Error: 'x' was already initialized by this constructor. + : self::A::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:9:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class B extends core::Object { final field core::int x; constructor •() → self::B - : self::B::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:16:16: Error: 'x' was already initialized by this constructor. + : self::B::x = 41, invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:16:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class C extends core::Object { final field core::int x = 2; constructor •() → self::C - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:22:16: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:22:14: Error: 'x' is a final instance variable that was initialized at the declaration. : this.x = 41, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:23:16: Error: 'x' was already initialized by this constructor. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:23:14: Error: 'x' was already initialized by this constructor. this.x = 42 {} - ^" {} + ^" {} } class D extends core::Object { final field core::int x; final field core::int y; erroneous constructor •() → self::D - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:30:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:30:14: Error: A redirecting constructor can't have other initializers. : this.x = 41, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:32:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:32:14: Error: A redirecting constructor can't have other initializers. this.y = 42 {} - ^", this self::D::named() {} + ^", this self::D::named() {} constructor named() → self::D : self::D::x = 41, self::D::y = 42, super core::Object::•() {} } @@ -139,35 +139,35 @@ class E extends core::Object { final field core::int x; final field core::int y; erroneous constructor •() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:43:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:43:14: Error: A redirecting constructor can't have other initializers. this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:44:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:44:14: Error: A redirecting constructor can't have other initializers. this.y = 2 {} - ^", this self::E::named() {} + ^", this self::E::named() {} constructor named() → self::E : self::E::x = 41, self::E::y = 42, super core::Object::•() {} erroneous constructor named2() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:49:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:49:14: Error: A redirecting constructor can't have other initializers. : this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:51:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:51:14: Error: A redirecting constructor can't have other initializers. this.y = 2; - ^", this self::E::named() + ^", this self::E::named() ; erroneous constructor named3() → self::E : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:53:9: Error: A redirecting constructor can't have a 'super' initializer. : super(), - ^^^^^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:55:16: Error: Can't have initializers after 'super'. + ^^^^^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:55:14: Error: Can't have initializers after 'super'. this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:56:16: Error: Can't have initializers after 'super'. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:56:14: Error: Can't have initializers after 'super'. this.y = 2; - ^", super core::Object::•() + ^", super core::Object::•() ; erroneous constructor named4() → self::E - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:58:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:58:14: Error: A redirecting constructor can't have other initializers. : this.x = 1, - ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:59:16: Error: A redirecting constructor can't have other initializers. + ^", invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:59:14: Error: A redirecting constructor can't have other initializers. this.y = 2, - ^", this self::E::named() + ^", this self::E::named() ; erroneous constructor named5() → self::E : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:62:9: Error: A redirecting constructor can't have other initializers. @@ -216,8 +216,8 @@ class I extends core::Object { class J extends core::Object { field core::int x; erroneous constructor •() → self::J - : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:101:16: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/general/initialization_errors.dart:101:14: Error: Can't have initializers after 'super'. this.x = 42 {} - ^", super core::Object::•() {} + ^", super core::Object::•() {} } static method main() → dynamic {} diff --git a/pkg/front_end/testcases/general/issue43363.dart.strong.expect b/pkg/front_end/testcases/general/issue43363.dart.strong.expect index 4816865636c..998eeeb6c09 100644 --- a/pkg/front_end/testcases/general/issue43363.dart.strong.expect +++ b/pkg/front_end/testcases/general/issue43363.dart.strong.expect @@ -38,9 +38,9 @@ library; // this.y = 2; // ^ // -// pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/issue43363.dart:9:14: Error: A redirecting constructor can't have other initializers. // this.x = 1; -// ^ +// ^ // // pkg/front_end/testcases/general/issue43363.dart:10:16: Error: Expected a function body or '=>'. // Try adding {}. @@ -81,9 +81,9 @@ Try removing the return type. this.y = 2; ^"; erroneous constructor •() → self::E - : invalid-initializer "pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/issue43363.dart:9:14: Error: A redirecting constructor can't have other initializers. this.x = 1; - ^", this self::E::named() + ^", this self::E::named() ; constructor named() → self::E : self::E::x = 5, self::E::y = 6, super core::Object::•() diff --git a/pkg/front_end/testcases/general/issue43363.dart.strong.modular.expect b/pkg/front_end/testcases/general/issue43363.dart.strong.modular.expect index 4816865636c..998eeeb6c09 100644 --- a/pkg/front_end/testcases/general/issue43363.dart.strong.modular.expect +++ b/pkg/front_end/testcases/general/issue43363.dart.strong.modular.expect @@ -38,9 +38,9 @@ library; // this.y = 2; // ^ // -// pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/issue43363.dart:9:14: Error: A redirecting constructor can't have other initializers. // this.x = 1; -// ^ +// ^ // // pkg/front_end/testcases/general/issue43363.dart:10:16: Error: Expected a function body or '=>'. // Try adding {}. @@ -81,9 +81,9 @@ Try removing the return type. this.y = 2; ^"; erroneous constructor •() → self::E - : invalid-initializer "pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/issue43363.dart:9:14: Error: A redirecting constructor can't have other initializers. this.x = 1; - ^", this self::E::named() + ^", this self::E::named() ; constructor named() → self::E : self::E::x = 5, self::E::y = 6, super core::Object::•() diff --git a/pkg/front_end/testcases/general/issue43363.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue43363.dart.strong.transformed.expect index 4816865636c..998eeeb6c09 100644 --- a/pkg/front_end/testcases/general/issue43363.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/general/issue43363.dart.strong.transformed.expect @@ -38,9 +38,9 @@ library; // this.y = 2; // ^ // -// pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers. +// pkg/front_end/testcases/general/issue43363.dart:9:14: Error: A redirecting constructor can't have other initializers. // this.x = 1; -// ^ +// ^ // // pkg/front_end/testcases/general/issue43363.dart:10:16: Error: Expected a function body or '=>'. // Try adding {}. @@ -81,9 +81,9 @@ Try removing the return type. this.y = 2; ^"; erroneous constructor •() → self::E - : invalid-initializer "pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers. + : invalid-initializer "pkg/front_end/testcases/general/issue43363.dart:9:14: Error: A redirecting constructor can't have other initializers. this.x = 1; - ^", this self::E::named() + ^", this self::E::named() ; constructor named() → self::E : self::E::x = 5, self::E::y = 6, super core::Object::•() diff --git a/pkg/front_end/testcases/general/many_errors.dart.strong.expect b/pkg/front_end/testcases/general/many_errors.dart.strong.expect index 0df3635f380..02fb3114994 100644 --- a/pkg/front_end/testcases/general/many_errors.dart.strong.expect +++ b/pkg/front_end/testcases/general/many_errors.dart.strong.expect @@ -15,16 +15,16 @@ library; // const A.named2() : x = new Object(); // ^^^ // -// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named2() : x = new Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ // -// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named3() : x = const Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ @@ -57,14 +57,14 @@ class A extends core::Object /*hasConstConstructor*/ { const A.named1() sync* {} ^" {} const constructor named2() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named2() : x = new Object(); - ^" + ^" ; const constructor named3() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named3() : x = const Object(); - ^" + ^" ; } class B extends core::Object { diff --git a/pkg/front_end/testcases/general/many_errors.dart.strong.modular.expect b/pkg/front_end/testcases/general/many_errors.dart.strong.modular.expect index 0df3635f380..02fb3114994 100644 --- a/pkg/front_end/testcases/general/many_errors.dart.strong.modular.expect +++ b/pkg/front_end/testcases/general/many_errors.dart.strong.modular.expect @@ -15,16 +15,16 @@ library; // const A.named2() : x = new Object(); // ^^^ // -// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named2() : x = new Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ // -// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named3() : x = const Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ @@ -57,14 +57,14 @@ class A extends core::Object /*hasConstConstructor*/ { const A.named1() sync* {} ^" {} const constructor named2() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named2() : x = new Object(); - ^" + ^" ; const constructor named3() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named3() : x = const Object(); - ^" + ^" ; } class B extends core::Object { diff --git a/pkg/front_end/testcases/general/many_errors.dart.strong.outline.expect b/pkg/front_end/testcases/general/many_errors.dart.strong.outline.expect index eb368baa818..c1ed90ae853 100644 --- a/pkg/front_end/testcases/general/many_errors.dart.strong.outline.expect +++ b/pkg/front_end/testcases/general/many_errors.dart.strong.outline.expect @@ -15,16 +15,16 @@ library; // const A.named2() : x = new Object(); // ^^^ // -// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named2() : x = new Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ // -// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named3() : x = const Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ @@ -37,14 +37,14 @@ class A extends core::Object /*hasConstConstructor*/ { constructor named1() → self::A ; const constructor named2() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named2() : x = new Object(); - ^" + ^" ; const constructor named3() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named3() : x = const Object(); - ^" + ^" ; } class B extends core::Object { diff --git a/pkg/front_end/testcases/general/many_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/general/many_errors.dart.strong.transformed.expect index 0df3635f380..02fb3114994 100644 --- a/pkg/front_end/testcases/general/many_errors.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/general/many_errors.dart.strong.transformed.expect @@ -15,16 +15,16 @@ library; // const A.named2() : x = new Object(); // ^^^ // -// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named2() : x = new Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ // -// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. +// pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. // const A.named3() : x = const Object(); -// ^ +// ^ // pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here. // final x = null; // ^ @@ -57,14 +57,14 @@ class A extends core::Object /*hasConstConstructor*/ { const A.named1() sync* {} ^" {} const constructor named2() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:10:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named2() : x = new Object(); - ^" + ^" ; const constructor named3() → self::A - : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration. + : invalid-initializer "pkg/front_end/testcases/general/many_errors.dart:12:22: Error: 'x' is a final instance variable that was initialized at the declaration. const A.named3() : x = const Object(); - ^" + ^" ; } class B extends core::Object { diff --git a/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.expect b/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.expect index 0c4c29cd9fd..4d601e8803f 100644 --- a/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.expect +++ b/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.expect @@ -2,13 +2,13 @@ library; // // Problems in library: // -// pkg/front_end/testcases/primary_constructors/mixin_class.dart:5:15: Error: Can't use 'M1' as a mixin because it has constructors. -// mixin class M1() { -// ^ +// pkg/front_end/testcases/primary_constructors/mixin_class.dart:6:8: Error: Can't use 'M1' as a mixin because it has constructors. +// this {} +// ^ // -// pkg/front_end/testcases/primary_constructors/mixin_class.dart:9:15: Error: Can't use 'M2' as a mixin because it has constructors. -// mixin class M2() { -// ^ +// pkg/front_end/testcases/primary_constructors/mixin_class.dart:11:9: Error: Can't use 'M2' as a mixin because it has constructors. +// this: v = 0; +// ^ // import self as self; import "dart:core" as core; diff --git a/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.modular.expect b/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.modular.expect index 0c4c29cd9fd..4d601e8803f 100644 --- a/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.modular.expect +++ b/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.modular.expect @@ -2,13 +2,13 @@ library; // // Problems in library: // -// pkg/front_end/testcases/primary_constructors/mixin_class.dart:5:15: Error: Can't use 'M1' as a mixin because it has constructors. -// mixin class M1() { -// ^ +// pkg/front_end/testcases/primary_constructors/mixin_class.dart:6:8: Error: Can't use 'M1' as a mixin because it has constructors. +// this {} +// ^ // -// pkg/front_end/testcases/primary_constructors/mixin_class.dart:9:15: Error: Can't use 'M2' as a mixin because it has constructors. -// mixin class M2() { -// ^ +// pkg/front_end/testcases/primary_constructors/mixin_class.dart:11:9: Error: Can't use 'M2' as a mixin because it has constructors. +// this: v = 0; +// ^ // import self as self; import "dart:core" as core; diff --git a/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.transformed.expect b/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.transformed.expect index 0c4c29cd9fd..4d601e8803f 100644 --- a/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/primary_constructors/mixin_class.dart.strong.transformed.expect @@ -2,13 +2,13 @@ library; // // Problems in library: // -// pkg/front_end/testcases/primary_constructors/mixin_class.dart:5:15: Error: Can't use 'M1' as a mixin because it has constructors. -// mixin class M1() { -// ^ +// pkg/front_end/testcases/primary_constructors/mixin_class.dart:6:8: Error: Can't use 'M1' as a mixin because it has constructors. +// this {} +// ^ // -// pkg/front_end/testcases/primary_constructors/mixin_class.dart:9:15: Error: Can't use 'M2' as a mixin because it has constructors. -// mixin class M2() { -// ^ +// pkg/front_end/testcases/primary_constructors/mixin_class.dart:11:9: Error: Can't use 'M2' as a mixin because it has constructors. +// this: v = 0; +// ^ // import self as self; import "dart:core" as core; diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.strong.expect index 6edeacfabf9..2f7e47a5c2e 100644 --- a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.expect +++ b/pkg/front_end/testcases/rasta/super_initializer.dart.strong.expect @@ -2,17 +2,17 @@ library; // // Problems in library: // -// pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:15:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // -// pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:18:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // -// pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:21:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -31,18 +31,18 @@ class Super extends core::Object { class Sub extends self::Super { field dynamic field; erroneous constructor arg0() → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:15:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg0() + ^", super self::Super::arg0() ; erroneous constructor arg1(dynamic a) → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:18:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg1(a) + ^", super self::Super::arg1(a) ; erroneous constructor arg2(dynamic a, dynamic b) → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:21:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg2(a, b) + ^", super self::Super::arg2(a, b) ; } diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.modular.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.strong.modular.expect index 6edeacfabf9..2f7e47a5c2e 100644 --- a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.modular.expect +++ b/pkg/front_end/testcases/rasta/super_initializer.dart.strong.modular.expect @@ -2,17 +2,17 @@ library; // // Problems in library: // -// pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:15:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // -// pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:18:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // -// pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:21:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -31,18 +31,18 @@ class Super extends core::Object { class Sub extends self::Super { field dynamic field; erroneous constructor arg0() → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:15:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg0() + ^", super self::Super::arg0() ; erroneous constructor arg1(dynamic a) → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:18:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg1(a) + ^", super self::Super::arg1(a) ; erroneous constructor arg2(dynamic a, dynamic b) → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:21:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg2(a, b) + ^", super self::Super::arg2(a, b) ; } diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.strong.transformed.expect index 6edeacfabf9..2f7e47a5c2e 100644 --- a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/rasta/super_initializer.dart.strong.transformed.expect @@ -2,17 +2,17 @@ library; // // Problems in library: // -// pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:15:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // -// pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:18:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // -// pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'. +// pkg/front_end/testcases/rasta/super_initializer.dart:21:9: Error: Can't have initializers after 'super'. // field = 42; -// ^ +// ^ // import self as self; import "dart:core" as core; @@ -31,18 +31,18 @@ class Super extends core::Object { class Sub extends self::Super { field dynamic field; erroneous constructor arg0() → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:15:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:15:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg0() + ^", super self::Super::arg0() ; erroneous constructor arg1(dynamic a) → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:18:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:18:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg1(a) + ^", super self::Super::arg1(a) ; erroneous constructor arg2(dynamic a, dynamic b) → self::Sub - : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:21:15: Error: Can't have initializers after 'super'. + : invalid-initializer "pkg/front_end/testcases/rasta/super_initializer.dart:21:9: Error: Can't have initializers after 'super'. field = 42; - ^", super self::Super::arg2(a, b) + ^", super self::Super::arg2(a, b) ; } diff --git a/tests/ffi/static_checks/vmspecific_static_checks_test.dart b/tests/ffi/static_checks/vmspecific_static_checks_test.dart index ca7494312b1..85314aca71d 100644 --- a/tests/ffi/static_checks/vmspecific_static_checks_test.dart +++ b/tests/ffi/static_checks/vmspecific_static_checks_test.dart @@ -603,9 +603,9 @@ class TestStruct3 extends TestStruct {} // ^^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED // [cfe] Class 'TestStruct' cannot be extended or implemented. +// [cfe] Deeply immutable classes must be final or sealed. // [cfe] TestStruct 'TestStruct3' is empty. Empty structs and unions are undefined behavior. // [cfe] The type 'TestStruct3' must be 'base', 'final' or 'sealed' because the supertype 'TestStruct' is 'final'. -// [cfe] Deeply immutable classes must be final or sealed. // ^^^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_STRUCT_CLASS @@ -671,8 +671,8 @@ final class TestStruct8 extends Struct { double z = 10.0; // ^ // [analyzer] COMPILE_TIME_ERROR.FIELD_MUST_BE_EXTERNAL_IN_STRUCT - // [cfe] Field 'z' is a dart:ffi Pointer to a struct field and therefore cannot be initialized before constructor execution. // [cfe] Deeply immutable classes must only have final non-late instance fields. + // [cfe] Field 'z' is a dart:ffi Pointer to a struct field and therefore cannot be initialized before constructor execution. external Pointer notEmpty; } @@ -683,13 +683,13 @@ final class TestStruct9 extends Struct { double z; // ^ // [analyzer] COMPILE_TIME_ERROR.FIELD_MUST_BE_EXTERNAL_IN_STRUCT - // [cfe] Field 'z' is a dart:ffi Pointer to a struct field and therefore cannot be initialized before constructor execution. // [cfe] Deeply immutable classes must only have final non-late instance fields. + // [cfe] Field 'z' is a dart:ffi Pointer to a struct field and therefore cannot be initialized before constructor execution. external Pointer notEmpty; TestStruct9() : z = 0.0 {} - // ^ + // ^ // [cfe] Field 'z' is a dart:ffi Pointer to a struct field and therefore cannot be initialized before constructor execution. } @@ -902,8 +902,8 @@ class IStruct implements Struct {} // ^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED // [cfe] Class 'Object' cannot be extended or implemented. -// [cfe] The type 'IStruct' must be 'base', 'final' or 'sealed' because the supertype 'Struct' is 'base'. // [cfe] Subtypes of deeply immutable classes must be deeply immutable. +// [cfe] The type 'IStruct' must be 'base', 'final' or 'sealed' because the supertype 'Struct' is 'base'. // ^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY // [cfe] The class 'Struct' can't be implemented outside of its library because it's a base class. diff --git a/tests/language/const/constructor_syntax_test.dart b/tests/language/const/constructor_syntax_test.dart index 1fb9bee2368..8d337d0a3df 100644 --- a/tests/language/const/constructor_syntax_test.dart +++ b/tests/language/const/constructor_syntax_test.dart @@ -48,7 +48,6 @@ class C3 { const C3() : field = new C0() // ^^^^^ // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION - // ^ // [cfe] 'field' is a final instance variable that was initialized at the declaration. // ^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.INVALID_CONSTANT diff --git a/tests/language/const/syntax_test.dart b/tests/language/const/syntax_test.dart index 3aa2c09af03..d83f41c05c2 100644 --- a/tests/language/const/syntax_test.dart +++ b/tests/language/const/syntax_test.dart @@ -118,7 +118,6 @@ class C1 { : x = C0.X //^ // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION - // ^ // [cfe] 'x' is a final instance variable that was initialized at the declaration. ; final x = null; diff --git a/tests/language/constructor/duplicate_initializers_test.dart b/tests/language/constructor/duplicate_initializers_test.dart index d96aa0f5dcf..4ad524346f7 100644 --- a/tests/language/constructor/duplicate_initializers_test.dart +++ b/tests/language/constructor/duplicate_initializers_test.dart @@ -10,7 +10,6 @@ class Class { field_ = 2; // ^^^^^^ // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS - // ^ // [cfe] 'field_' was already initialized by this constructor. Class.field(this.field_) @@ -19,7 +18,6 @@ class Class { : field_ = 2; // ^^^^^^ // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER - // ^ // [cfe] 'field_' was already initialized by this constructor. // Test against duplicate final field initialization in initializing formals. diff --git a/tests/language/constructor/redirect2_test.dart b/tests/language/constructor/redirect2_test.dart index 22db4065143..b30ece3d08b 100644 --- a/tests/language/constructor/redirect2_test.dart +++ b/tests/language/constructor/redirect2_test.dart @@ -17,7 +17,6 @@ class A { A.illegalInit() : this(3), x = 5; // ^^^^^ // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR - // ^ // [cfe] A redirecting constructor can't have other initializers. // Redirecting constructor must not have initializing formal parameters. diff --git a/tests/language/final/attempt_reinitialization_test.dart b/tests/language/final/attempt_reinitialization_test.dart index 0ae440c0d99..b1fb595b11d 100644 --- a/tests/language/final/attempt_reinitialization_test.dart +++ b/tests/language/final/attempt_reinitialization_test.dart @@ -15,7 +15,6 @@ class CoffeeShop { CoffeeShop.name(String shopName) : this.shopName = shopName; // ^^^^^^^^ // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION - // ^ // [cfe] 'shopName' is a final instance variable that was initialized at the declaration. } diff --git a/tests/language/variable/initializer_super_last_test.dart b/tests/language/variable/initializer_super_last_test.dart index 1b363b3b62f..5f88d8bf304 100644 --- a/tests/language/variable/initializer_super_last_test.dart +++ b/tests/language/variable/initializer_super_last_test.dart @@ -27,14 +27,14 @@ class C extends S { //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x; - // ^ + // ^ // [cfe] Can't have initializers after 'super'. C.cc10(int x) : super.named(), //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x; - // ^ + // ^ // [cfe] Can't have initializers after 'super'. C.cc11(this.x) : super(), @@ -55,7 +55,7 @@ class C extends S { //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x, - //^ + // [error column 7] // [cfe] Can't have initializers after 'super'. assert(x == x); // ^ @@ -65,7 +65,7 @@ class C extends S { //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x, - //^ + // [error column 7] // [cfe] Can't have initializers after 'super'. assert(x == x); // ^ @@ -100,14 +100,14 @@ class C extends S { //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x; - // ^ + // ^ // [cfe] Can't have initializers after 'super'. const C.cc26(int x) : super.named(), //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x; - // ^ + // ^ // [cfe] Can't have initializers after 'super'. const C.cc27(this.x) : super(), @@ -128,7 +128,7 @@ class C extends S { //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x, - //^ + // [error column 7] // [cfe] Can't have initializers after 'super'. assert(x == x); // ^ @@ -138,7 +138,7 @@ class C extends S { //^^^^^ // [analyzer] COMPILE_TIME_ERROR.SUPER_INVOCATION_NOT_LAST x = x, - //^ + // [error column 7] // [cfe] Can't have initializers after 'super'. assert(x == x); // ^