mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 21:20:36 +00:00
Revert "Reland "[cfe,corelib] Add class 'Record' to the core library""
This reverts commit 4b6a8f35b9
.
Reason for revert: Breakages in google3.
Original change's description:
> Reland "[cfe,corelib] Add class 'Record' to the core library"
>
> Part of https://github.com/dart-lang/sdk/issues/49713
>
> Change-Id: I56bfca49492d14bb561b32993fd9adfe775b7400
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259583
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Slava Egorov <vegorov@google.com>
> Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I61c4db244329615d7d218484cd86601b1c737ba6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259800
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Auto-Submit: Chloe Stefantsova <cstefantsova@google.com>
This commit is contained in:
parent
f83c6d5e99
commit
f8ef60a868
|
@ -78,7 +78,3 @@ class Type {}
|
|||
|
||||
/*class: Invocation:Invocation,Object*/
|
||||
class Invocation {}
|
||||
|
||||
/*cfe|cfe:builder.class: Record:Object,Record*/
|
||||
/*analyzer.class: Record:Record,Object*/
|
||||
class Record {}
|
||||
|
|
|
@ -83,7 +83,3 @@ class Type {}
|
|||
|
||||
/*class: Invocation:Invocation,Object*/
|
||||
class Invocation {}
|
||||
|
||||
/*analyzer.class Record:Record,Object*/
|
||||
/*cfe|cfe:builder.class: Record:Object,Record*/
|
||||
class Record {}
|
||||
|
|
|
@ -17,7 +17,6 @@ import 'package:analyzer/dart/element/type_provider.dart';
|
|||
import 'package:analyzer/diagnostic/diagnostic.dart';
|
||||
import 'package:analyzer/error/error.dart';
|
||||
import 'package:analyzer/error/listener.dart';
|
||||
import 'package:analyzer/src/dart/analysis/experiments.dart';
|
||||
import 'package:analyzer/src/dart/ast/ast.dart';
|
||||
import 'package:analyzer/src/dart/ast/extensions.dart';
|
||||
import 'package:analyzer/src/dart/element/class_hierarchy.dart';
|
||||
|
@ -1026,16 +1025,6 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
|
|||
@override
|
||||
void visitNamedType(NamedType node) {
|
||||
_typeArgumentsVerifier.checkNamedType(node);
|
||||
bool isDartCoreRecordVisible =
|
||||
_currentLibrary.featureSet.isEnabled(Feature.records) ||
|
||||
FeatureSet.latestLanguageVersion().isEnabled(Feature.records);
|
||||
if ((node.type?.isDartCoreRecord ?? false) && !isDartCoreRecordVisible) {
|
||||
errorReporter.reportErrorForToken(
|
||||
ParserErrorCode.EXPERIMENT_NOT_ENABLED, node.beginToken, [
|
||||
Feature.records.enableString,
|
||||
"${Feature.records.releaseVersion ?? ExperimentStatus.currentVersion}"
|
||||
]);
|
||||
}
|
||||
super.visitNamedType(node);
|
||||
}
|
||||
|
||||
|
@ -1176,23 +1165,6 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
|
|||
_checkForUnqualifiedReferenceToNonLocalStaticMember(node);
|
||||
}
|
||||
_checkUseVerifier.checkSimpleIdentifier(node);
|
||||
|
||||
bool isDartCoreRecordVisible =
|
||||
_currentLibrary.featureSet.isEnabled(Feature.records) ||
|
||||
FeatureSet.latestLanguageVersion().isEnabled(Feature.records);
|
||||
Element? staticElement = node.staticElement;
|
||||
if ((staticElement is ClassElement &&
|
||||
staticElement.thisType.isDartCoreRecord ||
|
||||
staticElement is TypeAliasElement &&
|
||||
staticElement.aliasedType.isDartCoreRecord) &&
|
||||
!isDartCoreRecordVisible) {
|
||||
errorReporter.reportErrorForToken(
|
||||
ParserErrorCode.EXPERIMENT_NOT_ENABLED, node.beginToken, [
|
||||
Feature.records.enableString,
|
||||
"${Feature.records.releaseVersion ?? ExperimentStatus.currentVersion}"
|
||||
]);
|
||||
}
|
||||
|
||||
super.visitSimpleIdentifier(node);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ import 'package:kernel/ast.dart'
|
|||
DynamicType,
|
||||
FutureOrType,
|
||||
InterfaceType,
|
||||
InvalidType,
|
||||
Member,
|
||||
Name,
|
||||
NullType,
|
||||
|
@ -347,15 +346,6 @@ abstract class ClassBuilderImpl extends DeclarationBuilderImpl
|
|||
int charOffset,
|
||||
ClassHierarchyBase? hierarchy,
|
||||
{required bool hasExplicitTypeArguments}) {
|
||||
if (name == "Record" &&
|
||||
libraryBuilder.importUri.scheme == "dart" &&
|
||||
libraryBuilder.importUri.path == "core" &&
|
||||
library is SourceLibraryBuilder &&
|
||||
!library.libraryFeatures.records.isEnabled) {
|
||||
library.reportFeatureNotEnabled(
|
||||
library.libraryFeatures.records, fileUri, charOffset, name.length);
|
||||
return const InvalidType();
|
||||
}
|
||||
return buildAliasedTypeWithBuiltArguments(
|
||||
library,
|
||||
nullabilityBuilder.build(library),
|
||||
|
|
|
@ -55,7 +55,8 @@ class ConstructorReferenceBuilder {
|
|||
PrefixBuilder prefix = declaration;
|
||||
declaration = prefix.lookup(middle, name.charOffset, fileUri);
|
||||
} else if (declaration is ClassBuilder) {
|
||||
declaration = declaration.findConstructorOrFactory(
|
||||
ClassBuilder cls = declaration;
|
||||
declaration = cls.findConstructorOrFactory(
|
||||
middle, name.charOffset, fileUri, accessingLibrary);
|
||||
if (suffix == null) {
|
||||
target = declaration;
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
library fasta.named_type_builder;
|
||||
|
||||
import 'package:front_end/src/fasta/util/helpers.dart';
|
||||
import 'package:kernel/ast.dart';
|
||||
import 'package:kernel/class_hierarchy.dart';
|
||||
import 'package:kernel/src/legacy_erasure.dart';
|
||||
|
@ -409,16 +408,7 @@ abstract class NamedTypeBuilder extends TypeBuilder {
|
|||
DartType buildAliased(
|
||||
LibraryBuilder library, TypeUse typeUse, ClassHierarchyBase? hierarchy) {
|
||||
assert(hierarchy != null || isExplicit, "Cannot build $this.");
|
||||
|
||||
DartType builtType = _buildAliasedInternal(library, typeUse, hierarchy);
|
||||
|
||||
if (library is SourceLibraryBuilder &&
|
||||
!checkRecordOrItsAliasAccessAllowed(builtType, library)) {
|
||||
library.reportFeatureNotEnabled(library.libraryFeatures.records,
|
||||
fileUri ?? library.fileUri, charOffset!, nameText.length);
|
||||
}
|
||||
|
||||
return builtType;
|
||||
return _buildAliasedInternal(library, typeUse, hierarchy);
|
||||
}
|
||||
|
||||
DartType _buildAliasedInternal(
|
||||
|
@ -705,15 +695,7 @@ class _ExplicitNamedTypeBuilder extends NamedTypeBuilder {
|
|||
@override
|
||||
DartType build(LibraryBuilder library, TypeUse typeUse,
|
||||
{ClassHierarchyBase? hierarchy}) {
|
||||
DartType builtType = _buildInternal(library, typeUse, hierarchy);
|
||||
|
||||
if (library is SourceLibraryBuilder &&
|
||||
!checkRecordOrItsAliasAccessAllowed(builtType, library)) {
|
||||
library.reportFeatureNotEnabled(library.libraryFeatures.records,
|
||||
fileUri ?? library.fileUri, charOffset!, nameText.length);
|
||||
}
|
||||
|
||||
return _type ??= builtType;
|
||||
return _type ??= _buildInternal(library, typeUse, hierarchy);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,6 @@ class PrefixBuilder extends BuilderImpl {
|
|||
@override
|
||||
Uri get fileUri => parent.fileUri;
|
||||
|
||||
/// Lookup a member with [name] in the export scope.
|
||||
Builder? lookup(String name, int charOffset, Uri fileUri) {
|
||||
return exportScope.lookup(name, charOffset, fileUri);
|
||||
}
|
||||
|
|
|
@ -9,8 +9,7 @@ const List<String> denylistedCoreClasses = [
|
|||
"num",
|
||||
"double",
|
||||
"String",
|
||||
"Null",
|
||||
"Record",
|
||||
"Null"
|
||||
];
|
||||
|
||||
// List of special classes in dart:typed_data that can't be subclassed.
|
||||
|
|
|
@ -106,7 +106,7 @@ import '../type_inference/inference_results.dart'
|
|||
import '../type_inference/type_inferrer.dart'
|
||||
show TypeInferrer, InferredFunctionBody;
|
||||
import '../type_inference/type_schema.dart' show UnknownType;
|
||||
import '../util/helpers.dart';
|
||||
import '../util/helpers.dart' show DelayedActionPerformer;
|
||||
import 'collections.dart';
|
||||
import 'constness.dart' show Constness;
|
||||
import 'constructor_tearoff_lowering.dart';
|
||||
|
|
|
@ -419,7 +419,6 @@ class Scope extends MutableScope {
|
|||
}
|
||||
}
|
||||
|
||||
/// Lookup a member with [name] in the scope.
|
||||
Builder? lookup(String name, int charOffset, Uri fileUri,
|
||||
{bool isInstanceScope = true}) {
|
||||
recordUse(name, charOffset);
|
||||
|
|
|
@ -2743,8 +2743,6 @@ class int extends num {}
|
|||
class num {}
|
||||
|
||||
class Function {}
|
||||
|
||||
class Record {}
|
||||
""";
|
||||
|
||||
/// A minimal implementation of dart:async that is sufficient to create an
|
||||
|
|
|
@ -2,31 +2,7 @@
|
|||
// 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 'package:kernel/ast.dart';
|
||||
|
||||
import '../source/source_library_builder.dart';
|
||||
|
||||
abstract class DelayedActionPerformer {
|
||||
bool get hasDelayedActions;
|
||||
void performDelayedActions({required bool allowFurtherDelays});
|
||||
}
|
||||
|
||||
bool checkRecordOrItsAliasAccessAllowed(
|
||||
DartType type, SourceLibraryBuilder accessorLibrary) {
|
||||
Class? targetClass;
|
||||
if (type is InterfaceType) {
|
||||
targetClass = type.classNode;
|
||||
} else if (type is TypedefType) {
|
||||
DartType unaliasedType = type.unalias;
|
||||
if (unaliasedType is InterfaceType) {
|
||||
targetClass = unaliasedType.classNode;
|
||||
}
|
||||
}
|
||||
return accessorLibrary.libraryFeatures.records.isEnabled ||
|
||||
accessorLibrary.libraryFeatures.records.flag.isEnabledByDefault ||
|
||||
!(targetClass != null &&
|
||||
targetClass.parent != null &&
|
||||
targetClass.name == "Record" &&
|
||||
targetClass.enclosingLibrary.importUri.scheme == "dart" &&
|
||||
targetClass.enclosingLibrary.importUri.path == "core");
|
||||
}
|
||||
|
|
|
@ -1257,7 +1257,6 @@ following
|
|||
follows
|
||||
food
|
||||
for
|
||||
forbid
|
||||
forbidden
|
||||
force
|
||||
forced
|
||||
|
@ -1389,7 +1388,6 @@ head
|
|||
header
|
||||
headers
|
||||
heading
|
||||
heavier
|
||||
help
|
||||
helper
|
||||
helpers
|
||||
|
|
|
@ -560,7 +560,6 @@ risky
|
|||
rk
|
||||
row
|
||||
rows
|
||||
rr
|
||||
runtimes
|
||||
rv
|
||||
sanitize
|
||||
|
|
|
@ -137,7 +137,6 @@ additionalExports = (core::Deprecated,
|
|||
core::Object,
|
||||
core::Pattern,
|
||||
core::Match,
|
||||
core::Record,
|
||||
core::RegExp,
|
||||
core::RegExpMatch,
|
||||
core::Set,
|
||||
|
|
|
@ -72,7 +72,6 @@ additionalExports = (core::Deprecated,
|
|||
core::Object,
|
||||
core::Pattern,
|
||||
core::Match,
|
||||
core::Record,
|
||||
core::RegExp,
|
||||
core::RegExpMatch,
|
||||
core::Set,
|
||||
|
|
|
@ -133,7 +133,6 @@ additionalExports = (core::Deprecated,
|
|||
core::Object,
|
||||
core::Pattern,
|
||||
core::Match,
|
||||
core::Record,
|
||||
core::RegExp,
|
||||
core::RegExpMatch,
|
||||
core::Set,
|
||||
|
|
|
@ -50,7 +50,6 @@ additionalExports = (asy::Future,
|
|||
core::Pattern,
|
||||
core::Provisional,
|
||||
core::RangeError,
|
||||
core::Record,
|
||||
core::RegExp,
|
||||
core::RegExpMatch,
|
||||
core::RuneIterator,
|
||||
|
|
|
@ -50,7 +50,6 @@ additionalExports = (asy::Future,
|
|||
core::Pattern,
|
||||
core::Provisional,
|
||||
core::RangeError,
|
||||
core::Record,
|
||||
core::RegExp,
|
||||
core::RegExpMatch,
|
||||
core::RuneIterator,
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
// @dart=2.17
|
||||
|
||||
abstract class Record {
|
||||
Record create();
|
||||
}
|
||||
|
||||
main() {}
|
|
@ -1,11 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
abstract class Record extends core::Object {
|
||||
synthetic constructor •() → self::Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method create() → self::Record;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,11 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
abstract class Record extends core::Object {
|
||||
synthetic constructor •() → self::Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method create() → self::Record;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,6 +0,0 @@
|
|||
// @dart = 2.17
|
||||
abstract class Record {
|
||||
Record create();
|
||||
}
|
||||
|
||||
main() {}
|
|
@ -1,6 +0,0 @@
|
|||
// @dart = 2.17
|
||||
abstract class Record {
|
||||
Record create();
|
||||
}
|
||||
|
||||
main() {}
|
|
@ -1,11 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
abstract class Record extends core::Object {
|
||||
synthetic constructor •() → self::Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method create() → self::Record;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,11 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
abstract class Record extends core::Object {
|
||||
synthetic constructor •() → self::Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method create() → self::Record;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,11 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
abstract class Record extends core::Object {
|
||||
synthetic constructor •() → self::Record
|
||||
;
|
||||
abstract method create() → self::Record;
|
||||
}
|
||||
static method main() → dynamic
|
||||
;
|
|
@ -1,11 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
abstract class Record extends core::Object {
|
||||
synthetic constructor •() → self::Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method create() → self::Record;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,69 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
abstract class A<X> {}
|
||||
|
||||
typedef R = Record;
|
||||
|
||||
typedef AR = A<Record>;
|
||||
|
||||
typedef RR = R;
|
||||
|
||||
typedef AR2 = A<R>;
|
||||
|
||||
typedef AR3 = A<RR>;
|
||||
|
||||
typedef AR4 = A<AR>;
|
||||
|
||||
Record foo1() => throw '';
|
||||
|
||||
dynamic foo2() => <Record>[];
|
||||
|
||||
dynamic foo3() => Record;
|
||||
|
||||
dynamic foo4() => List<Record>;
|
||||
|
||||
dynamic foo5(Record r) => null;
|
||||
|
||||
dynamic foo6({required Record r}) => null;
|
||||
|
||||
List<Record> foo7() => throw '';
|
||||
|
||||
dynamic foo8(List<Record> l) => null;
|
||||
|
||||
R foo9() => throw '';
|
||||
|
||||
AR foo10() => throw '';
|
||||
|
||||
RR foo11() => throw '';
|
||||
|
||||
dynamic foo12(R r) => null;
|
||||
|
||||
dynamic foo13(AR l) => null;
|
||||
|
||||
dynamic foo14(RR l) => null;
|
||||
|
||||
abstract class A1 extends A<Record> {}
|
||||
|
||||
abstract class A2 implements A<Record> {}
|
||||
|
||||
abstract class A3 with A<Record> {}
|
||||
|
||||
abstract class A4 extends AR {}
|
||||
|
||||
abstract class A5 extends AR2 {}
|
||||
|
||||
abstract class A6 extends AR3 {}
|
||||
|
||||
abstract class A7 extends AR4 {}
|
||||
|
||||
foo((int, String) record) {
|
||||
bar(record); // Ok.
|
||||
}
|
||||
|
||||
bar(Record record) {
|
||||
foo(record); // Error.
|
||||
}
|
||||
|
||||
main() {}
|
|
@ -1,105 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
// foo(record); // Error.
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef AR = self::A<core::Record>;
|
||||
typedef RR = core::Record;
|
||||
typedef AR2 = self::A<core::Record>;
|
||||
typedef AR3 = self::A<core::Record>;
|
||||
typedef AR4 = self::A<self::A<core::Record>>;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::A<self::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A1
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object implements self::A<core::Record> {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&A = core::Object with self::A<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&A {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends self::A<self::A<core::Record>> {
|
||||
synthetic constructor •() → self::A7
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → core::Record
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return <core::Record>[];
|
||||
static method foo3() → dynamic
|
||||
return #C1;
|
||||
static method foo4() → dynamic
|
||||
return #C2;
|
||||
static method foo5(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo6({required core::Record r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo7() → core::List<core::Record>
|
||||
return throw "";
|
||||
static method foo8(core::List<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::Record
|
||||
return throw "";
|
||||
static method foo10() → self::A<core::Record>
|
||||
return throw "";
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo13(self::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo14(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo((core::int, core::String) record) → dynamic {
|
||||
self::bar(record);
|
||||
}
|
||||
static method bar(core::Record record) → dynamic {
|
||||
self::foo(invalid-expression "pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
foo(record); // Error.
|
||||
^" in record as{TypeError,ForNonNullableByDefault} (core::int, core::String));
|
||||
}
|
||||
static method main() → dynamic {}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(core::Record)
|
||||
#C2 = TypeLiteralConstant(core::List<core::Record>)
|
||||
#C3 = null
|
||||
}
|
|
@ -1,105 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
// foo(record); // Error.
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef AR = self::A<core::Record>;
|
||||
typedef RR = core::Record;
|
||||
typedef AR2 = self::A<core::Record>;
|
||||
typedef AR3 = self::A<core::Record>;
|
||||
typedef AR4 = self::A<self::A<core::Record>>;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::A<self::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A1
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object implements self::A<core::Record> {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&A extends core::Object implements self::A<core::Record> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&A {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends self::A<self::A<core::Record>> {
|
||||
synthetic constructor •() → self::A7
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → core::Record
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return core::_GrowableList::•<core::Record>(0);
|
||||
static method foo3() → dynamic
|
||||
return #C1;
|
||||
static method foo4() → dynamic
|
||||
return #C2;
|
||||
static method foo5(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo6({required core::Record r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo7() → core::List<core::Record>
|
||||
return throw "";
|
||||
static method foo8(core::List<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::Record
|
||||
return throw "";
|
||||
static method foo10() → self::A<core::Record>
|
||||
return throw "";
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo13(self::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo14(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo((core::int, core::String) record) → dynamic {
|
||||
self::bar(record);
|
||||
}
|
||||
static method bar(core::Record record) → dynamic {
|
||||
self::foo(invalid-expression "pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
foo(record); // Error.
|
||||
^" in record as{TypeError,ForNonNullableByDefault} (core::int, core::String));
|
||||
}
|
||||
static method main() → dynamic {}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(core::Record)
|
||||
#C2 = TypeLiteralConstant(core::List<core::Record>)
|
||||
#C3 = null
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
abstract class A<X> {}
|
||||
typedef R = Record;
|
||||
typedef AR = A<Record>;
|
||||
typedef RR = R;
|
||||
typedef AR2 = A<R>;
|
||||
typedef AR3 = A<RR>;
|
||||
typedef AR4 = A<AR>;
|
||||
Record foo1() => throw '';
|
||||
dynamic foo2() => <Record>[];
|
||||
dynamic foo3() => Record;
|
||||
dynamic foo4() => List<Record>;
|
||||
dynamic foo5(Record r) => null;
|
||||
dynamic foo6({required Record r}) => null;
|
||||
List<Record> foo7() => throw '';
|
||||
dynamic foo8(List<Record> l) => null;
|
||||
R foo9() => throw '';
|
||||
AR foo10() => throw '';
|
||||
RR foo11() => throw '';
|
||||
dynamic foo12(R r) => null;
|
||||
dynamic foo13(AR l) => null;
|
||||
dynamic foo14(RR l) => null;
|
||||
abstract class A1 extends A<Record> {}
|
||||
abstract class A2 implements A<Record> {}
|
||||
abstract class A3 with A<Record> {}
|
||||
abstract class A4 extends AR {}
|
||||
abstract class A5 extends AR2 {}
|
||||
abstract class A6 extends AR3 {}
|
||||
abstract class A7 extends AR4 {}
|
||||
foo((int, String) record) {}
|
||||
bar(Record record) {}
|
||||
main() {}
|
|
@ -1,105 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
// foo(record); // Error.
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef AR = self::A<core::Record>;
|
||||
typedef RR = core::Record;
|
||||
typedef AR2 = self::A<core::Record>;
|
||||
typedef AR3 = self::A<core::Record>;
|
||||
typedef AR4 = self::A<self::A<core::Record>>;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::A<self::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A1
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object implements self::A<core::Record> {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&A = core::Object with self::A<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&A {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends self::A<self::A<core::Record>> {
|
||||
synthetic constructor •() → self::A7
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → core::Record
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return <core::Record>[];
|
||||
static method foo3() → dynamic
|
||||
return #C1;
|
||||
static method foo4() → dynamic
|
||||
return #C2;
|
||||
static method foo5(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo6({required core::Record r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo7() → core::List<core::Record>
|
||||
return throw "";
|
||||
static method foo8(core::List<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::Record
|
||||
return throw "";
|
||||
static method foo10() → self::A<core::Record>
|
||||
return throw "";
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo13(self::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo14(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo((core::int, core::String) record) → dynamic {
|
||||
self::bar(record);
|
||||
}
|
||||
static method bar(core::Record record) → dynamic {
|
||||
self::foo(invalid-expression "pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
foo(record); // Error.
|
||||
^" in record as{TypeError,ForNonNullableByDefault} (core::int, core::String));
|
||||
}
|
||||
static method main() → dynamic {}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(core::Record*)
|
||||
#C2 = TypeLiteralConstant(core::List<core::Record*>*)
|
||||
#C3 = null
|
||||
}
|
|
@ -1,105 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
// foo(record); // Error.
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef AR = self::A<core::Record>;
|
||||
typedef RR = core::Record;
|
||||
typedef AR2 = self::A<core::Record>;
|
||||
typedef AR3 = self::A<core::Record>;
|
||||
typedef AR4 = self::A<self::A<core::Record>>;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::A<self::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A1
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object implements self::A<core::Record> {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&A = core::Object with self::A<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&A {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends self::A<self::A<core::Record>> {
|
||||
synthetic constructor •() → self::A7
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → core::Record
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return <core::Record>[];
|
||||
static method foo3() → dynamic
|
||||
return #C1;
|
||||
static method foo4() → dynamic
|
||||
return #C2;
|
||||
static method foo5(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo6({required core::Record r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo7() → core::List<core::Record>
|
||||
return throw "";
|
||||
static method foo8(core::List<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::Record
|
||||
return throw "";
|
||||
static method foo10() → self::A<core::Record>
|
||||
return throw "";
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo13(self::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo14(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo((core::int, core::String) record) → dynamic {
|
||||
self::bar(record);
|
||||
}
|
||||
static method bar(core::Record record) → dynamic {
|
||||
self::foo(invalid-expression "pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
foo(record); // Error.
|
||||
^" in record as{TypeError,ForNonNullableByDefault} (core::int, core::String));
|
||||
}
|
||||
static method main() → dynamic {}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(core::Record*)
|
||||
#C2 = TypeLiteralConstant(core::List<core::Record*>*)
|
||||
#C3 = null
|
||||
}
|
|
@ -1,81 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef AR = self::A<core::Record>;
|
||||
typedef RR = core::Record;
|
||||
typedef AR2 = self::A<core::Record>;
|
||||
typedef AR3 = self::A<core::Record>;
|
||||
typedef AR4 = self::A<self::A<core::Record>>;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::A<self::A::X%>
|
||||
;
|
||||
}
|
||||
abstract class A1 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A1
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object implements self::A<core::Record> {
|
||||
synthetic constructor •() → self::A2
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&A = core::Object with self::A<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&A {
|
||||
synthetic constructor •() → self::A3
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
;
|
||||
}
|
||||
abstract class A5 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A5
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A6
|
||||
;
|
||||
}
|
||||
abstract class A7 extends self::A<self::A<core::Record>> {
|
||||
synthetic constructor •() → self::A7
|
||||
;
|
||||
}
|
||||
static method foo1() → core::Record
|
||||
;
|
||||
static method foo2() → dynamic
|
||||
;
|
||||
static method foo3() → dynamic
|
||||
;
|
||||
static method foo4() → dynamic
|
||||
;
|
||||
static method foo5(core::Record r) → dynamic
|
||||
;
|
||||
static method foo6({required core::Record r}) → dynamic
|
||||
;
|
||||
static method foo7() → core::List<core::Record>
|
||||
;
|
||||
static method foo8(core::List<core::Record> l) → dynamic
|
||||
;
|
||||
static method foo9() → core::Record
|
||||
;
|
||||
static method foo10() → self::A<core::Record>
|
||||
;
|
||||
static method foo11() → core::Record
|
||||
;
|
||||
static method foo12(core::Record r) → dynamic
|
||||
;
|
||||
static method foo13(self::A<core::Record> l) → dynamic
|
||||
;
|
||||
static method foo14(core::Record l) → dynamic
|
||||
;
|
||||
static method foo((core::int, core::String) record) → dynamic
|
||||
;
|
||||
static method bar(core::Record record) → dynamic
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
|
@ -1,105 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
// foo(record); // Error.
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef AR = self::A<core::Record>;
|
||||
typedef RR = core::Record;
|
||||
typedef AR2 = self::A<core::Record>;
|
||||
typedef AR3 = self::A<core::Record>;
|
||||
typedef AR4 = self::A<self::A<core::Record>>;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::A<self::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A1
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object implements self::A<core::Record> {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&A extends core::Object implements self::A<core::Record> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&A {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::A<core::Record> {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends self::A<self::A<core::Record>> {
|
||||
synthetic constructor •() → self::A7
|
||||
: super self::A::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → core::Record
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return core::_GrowableList::•<core::Record>(0);
|
||||
static method foo3() → dynamic
|
||||
return #C1;
|
||||
static method foo4() → dynamic
|
||||
return #C2;
|
||||
static method foo5(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo6({required core::Record r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo7() → core::List<core::Record>
|
||||
return throw "";
|
||||
static method foo8(core::List<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::Record
|
||||
return throw "";
|
||||
static method foo10() → self::A<core::Record>
|
||||
return throw "";
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo13(self::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo14(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo((core::int, core::String) record) → dynamic {
|
||||
self::bar(record);
|
||||
}
|
||||
static method bar(core::Record record) → dynamic {
|
||||
self::foo(invalid-expression "pkg/front_end/testcases/records/type_record.dart:66:7: Error: The argument type 'Record' can't be assigned to the parameter type '(int, String)'.
|
||||
foo(record); // Error.
|
||||
^" in record as{TypeError,ForNonNullableByDefault} (core::int, core::String));
|
||||
}
|
||||
static method main() → dynamic {}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(core::Record*)
|
||||
#C2 = TypeLiteralConstant(core::List<core::Record*>*)
|
||||
#C3 = null
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
typedef R = Record;
|
||||
|
||||
typedef RR = R;
|
||||
|
||||
class G<X> {}
|
||||
|
||||
abstract class A1 extends Record {} // Error.
|
||||
abstract class A2 extends RR {} // Error.
|
||||
abstract class A3 extends G<Record> {} // Ok.
|
||||
abstract class A4 extends G<RR> {} // Ok.
|
||||
|
||||
abstract class B1 implements Record {} // Error.
|
||||
abstract class B2 implements RR {} // Error.
|
||||
abstract class B3 implements G<Record> {} // Ok.
|
||||
abstract class B4 implements G<RR> {} // Ok.
|
||||
|
||||
abstract class C1 with Record {} // Error.
|
||||
abstract class C2 with RR {} // Error.
|
||||
abstract class C3 with G<Record> {} // Ok.
|
||||
abstract class C4 with G<RR> {} // Ok.
|
||||
|
||||
main() {}
|
|
@ -1,135 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:11:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:12:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 extends RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:16:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B1 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:17:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B2 implements RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:21:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C1 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'RR' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// sdk/lib/core/record.dart:11:16: Context: This is the type denoted by the type alias.
|
||||
// abstract class Record {}
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
class G<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::G<self::G::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends core::Record {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Record {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class B1 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B2 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B3 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B3
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B4 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _C1&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C1&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C1 extends self::_C1&Object&Record {
|
||||
synthetic constructor •() → self::C1
|
||||
: super self::_C1&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class _C2&Object&RR = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C2&Object&RR
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C2 extends self::_C2&Object&RR {
|
||||
synthetic constructor •() → self::C2
|
||||
: super self::_C2&Object&RR::•()
|
||||
;
|
||||
}
|
||||
abstract class _C3&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C3&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C3 extends self::_C3&Object&G {
|
||||
synthetic constructor •() → self::C3
|
||||
: super self::_C3&Object&G::•()
|
||||
;
|
||||
}
|
||||
abstract class _C4&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C4&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C4 extends self::_C4&Object&G {
|
||||
synthetic constructor •() → self::C4
|
||||
: super self::_C4&Object&G::•()
|
||||
;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,135 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:11:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:12:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 extends RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:16:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B1 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:17:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B2 implements RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:21:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C1 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'RR' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// sdk/lib/core/record.dart:11:16: Context: This is the type denoted by the type alias.
|
||||
// abstract class Record {}
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
class G<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::G<self::G::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends core::Record {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Record {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class B1 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B2 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B3 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B3
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B4 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _C1&Object&Record extends core::Object implements core::Record /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C1&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C1 extends self::_C1&Object&Record {
|
||||
synthetic constructor •() → self::C1
|
||||
: super self::_C1&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class _C2&Object&RR extends core::Object implements core::Record /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C2&Object&RR
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C2 extends self::_C2&Object&RR {
|
||||
synthetic constructor •() → self::C2
|
||||
: super self::_C2&Object&RR::•()
|
||||
;
|
||||
}
|
||||
abstract class _C3&Object&G extends core::Object implements self::G<core::Record> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C3&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C3 extends self::_C3&Object&G {
|
||||
synthetic constructor •() → self::C3
|
||||
: super self::_C3&Object&G::•()
|
||||
;
|
||||
}
|
||||
abstract class _C4&Object&G extends core::Object implements self::G<core::Record> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C4&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C4 extends self::_C4&Object&G {
|
||||
synthetic constructor •() → self::C4
|
||||
: super self::_C4&Object&G::•()
|
||||
;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,30 +0,0 @@
|
|||
typedef R = Record;
|
||||
typedef RR = R;
|
||||
|
||||
class G<X> {}
|
||||
|
||||
abstract class A1 extends Record {}
|
||||
|
||||
abstract class A2 extends RR {}
|
||||
|
||||
abstract class A3 extends G<Record> {}
|
||||
|
||||
abstract class A4 extends G<RR> {}
|
||||
|
||||
abstract class B1 implements Record {}
|
||||
|
||||
abstract class B2 implements RR {}
|
||||
|
||||
abstract class B3 implements G<Record> {}
|
||||
|
||||
abstract class B4 implements G<RR> {}
|
||||
|
||||
abstract class C1 with Record {}
|
||||
|
||||
abstract class C2 with RR {}
|
||||
|
||||
abstract class C3 with G<Record> {}
|
||||
|
||||
abstract class C4 with G<RR> {}
|
||||
|
||||
main() {}
|
|
@ -1,29 +0,0 @@
|
|||
abstract class A1 extends Record {}
|
||||
|
||||
abstract class A2 extends RR {}
|
||||
|
||||
abstract class A3 extends G<Record> {}
|
||||
|
||||
abstract class A4 extends G<RR> {}
|
||||
|
||||
abstract class B1 implements Record {}
|
||||
|
||||
abstract class B2 implements RR {}
|
||||
|
||||
abstract class B3 implements G<Record> {}
|
||||
|
||||
abstract class B4 implements G<RR> {}
|
||||
|
||||
abstract class C1 with Record {}
|
||||
|
||||
abstract class C2 with RR {}
|
||||
|
||||
abstract class C3 with G<Record> {}
|
||||
|
||||
abstract class C4 with G<RR> {}
|
||||
|
||||
class G<X> {}
|
||||
|
||||
main() {}
|
||||
typedef R = Record;
|
||||
typedef RR = R;
|
|
@ -1,135 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:11:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:12:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 extends RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:16:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B1 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:17:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B2 implements RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:21:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C1 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'RR' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// sdk/lib/core/record.dart:11:16: Context: This is the type denoted by the type alias.
|
||||
// abstract class Record {}
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
class G<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::G<self::G::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends core::Record {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Record {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class B1 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B2 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B3 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B3
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B4 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _C1&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C1&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C1 extends self::_C1&Object&Record {
|
||||
synthetic constructor •() → self::C1
|
||||
: super self::_C1&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class _C2&Object&RR = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C2&Object&RR
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C2 extends self::_C2&Object&RR {
|
||||
synthetic constructor •() → self::C2
|
||||
: super self::_C2&Object&RR::•()
|
||||
;
|
||||
}
|
||||
abstract class _C3&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C3&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C3 extends self::_C3&Object&G {
|
||||
synthetic constructor •() → self::C3
|
||||
: super self::_C3&Object&G::•()
|
||||
;
|
||||
}
|
||||
abstract class _C4&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C4&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C4 extends self::_C4&Object&G {
|
||||
synthetic constructor •() → self::C4
|
||||
: super self::_C4&Object&G::•()
|
||||
;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,135 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:11:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:12:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 extends RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:16:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B1 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:17:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B2 implements RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:21:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C1 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'RR' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// sdk/lib/core/record.dart:11:16: Context: This is the type denoted by the type alias.
|
||||
// abstract class Record {}
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
class G<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::G<self::G::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends core::Record {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Record {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class B1 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B2 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B3 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B3
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B4 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _C1&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C1&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C1 extends self::_C1&Object&Record {
|
||||
synthetic constructor •() → self::C1
|
||||
: super self::_C1&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class _C2&Object&RR = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C2&Object&RR
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C2 extends self::_C2&Object&RR {
|
||||
synthetic constructor •() → self::C2
|
||||
: super self::_C2&Object&RR::•()
|
||||
;
|
||||
}
|
||||
abstract class _C3&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C3&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C3 extends self::_C3&Object&G {
|
||||
synthetic constructor •() → self::C3
|
||||
: super self::_C3&Object&G::•()
|
||||
;
|
||||
}
|
||||
abstract class _C4&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C4&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C4 extends self::_C4&Object&G {
|
||||
synthetic constructor •() → self::C4
|
||||
: super self::_C4&Object&G::•()
|
||||
;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,123 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:11:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:12:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 extends RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:16:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B1 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:17:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B2 implements RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:21:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C1 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'RR' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// sdk/lib/core/record.dart:11:16: Context: This is the type denoted by the type alias.
|
||||
// abstract class Record {}
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
class G<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::G<self::G::X%>
|
||||
;
|
||||
}
|
||||
abstract class A1 extends core::Record {
|
||||
synthetic constructor •() → self::A1
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Record {
|
||||
synthetic constructor •() → self::A2
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A3
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
;
|
||||
}
|
||||
abstract class B1 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B1
|
||||
;
|
||||
}
|
||||
abstract class B2 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B2
|
||||
;
|
||||
}
|
||||
abstract class B3 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B3
|
||||
;
|
||||
}
|
||||
abstract class B4 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B4
|
||||
;
|
||||
}
|
||||
abstract class _C1&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C1&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C1 extends self::_C1&Object&Record {
|
||||
synthetic constructor •() → self::C1
|
||||
;
|
||||
}
|
||||
abstract class _C2&Object&RR = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C2&Object&RR
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C2 extends self::_C2&Object&RR {
|
||||
synthetic constructor •() → self::C2
|
||||
;
|
||||
}
|
||||
abstract class _C3&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C3&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C3 extends self::_C3&Object&G {
|
||||
synthetic constructor •() → self::C3
|
||||
;
|
||||
}
|
||||
abstract class _C4&Object&G = core::Object with self::G<core::Record> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C4&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C4 extends self::_C4&Object&G {
|
||||
synthetic constructor •() → self::C4
|
||||
;
|
||||
}
|
||||
static method main() → dynamic
|
||||
;
|
|
@ -1,135 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:11:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:12:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 extends RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:16:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B1 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:17:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class B2 implements RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:21:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C1 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef RR = R;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_as_supertype.dart:22:16: Error: 'RR' is restricted and can't be extended or implemented.
|
||||
// abstract class C2 with RR {} // Error.
|
||||
// ^
|
||||
// sdk/lib/core/record.dart:11:16: Context: This is the type denoted by the type alias.
|
||||
// abstract class Record {}
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
class G<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → self::G<self::G::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A1 extends core::Record {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Record {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends self::G<core::Record> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super self::G::•()
|
||||
;
|
||||
}
|
||||
abstract class B1 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B2 extends core::Object implements core::Record {
|
||||
synthetic constructor •() → self::B2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B3 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B3
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class B4 extends core::Object implements self::G<core::Record> {
|
||||
synthetic constructor •() → self::B4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _C1&Object&Record extends core::Object implements core::Record /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C1&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C1 extends self::_C1&Object&Record {
|
||||
synthetic constructor •() → self::C1
|
||||
: super self::_C1&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class _C2&Object&RR extends core::Object implements core::Record /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C2&Object&RR
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C2 extends self::_C2&Object&RR {
|
||||
synthetic constructor •() → self::C2
|
||||
: super self::_C2&Object&RR::•()
|
||||
;
|
||||
}
|
||||
abstract class _C3&Object&G extends core::Object implements self::G<core::Record> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C3&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C3 extends self::_C3&Object&G {
|
||||
synthetic constructor •() → self::C3
|
||||
: super self::_C3&Object&G::•()
|
||||
;
|
||||
}
|
||||
abstract class _C4&Object&G extends core::Object implements self::G<core::Record> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_C4&Object&G
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class C4 extends self::_C4&Object&G {
|
||||
synthetic constructor •() → self::C4
|
||||
: super self::_C4&Object&G::•()
|
||||
;
|
||||
}
|
||||
static method main() → dynamic {}
|
|
@ -1,12 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
typedef R = Record;
|
||||
typedef RR = R;
|
||||
|
||||
foo1() => Record(); // Error.
|
||||
foo2() => R(); // Error.
|
||||
foo3() => RR(); // Error.
|
||||
|
||||
main() {}
|
|
@ -1,28 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:8:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo1() => Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:9:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo2() => R(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:10:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo3() => RR(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
static method foo1() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method main() → dynamic {}
|
|
@ -1,28 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:8:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo1() => Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:9:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo2() => R(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:10:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo3() => RR(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
static method foo1() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method main() → dynamic {}
|
|
@ -1,6 +0,0 @@
|
|||
typedef R = Record;
|
||||
typedef RR = R;
|
||||
foo1() => Record();
|
||||
foo2() => R();
|
||||
foo3() => RR();
|
||||
main() {}
|
|
@ -1,6 +0,0 @@
|
|||
foo1() => Record();
|
||||
foo2() => R();
|
||||
foo3() => RR();
|
||||
main() {}
|
||||
typedef R = Record;
|
||||
typedef RR = R;
|
|
@ -1,28 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:8:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo1() => Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:9:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo2() => R(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:10:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo3() => RR(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
static method foo1() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method main() → dynamic {}
|
|
@ -1,28 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:8:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo1() => Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:9:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo2() => R(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:10:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo3() => RR(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
static method foo1() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method main() → dynamic {}
|
|
@ -1,14 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
static method foo1() → dynamic
|
||||
;
|
||||
static method foo2() → dynamic
|
||||
;
|
||||
static method foo3() → dynamic
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
|
@ -1,28 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:8:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo1() => Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:9:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo2() => R(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_constructor_forbidden.dart:10:11: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// foo3() => RR(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef R = core::Record;
|
||||
typedef RR = core::Record;
|
||||
static method foo1() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method main() → dynamic {}
|
|
@ -1,77 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
// @dart=2.17
|
||||
|
||||
import './type_record_unsupported_lib.dart';
|
||||
|
||||
typedef R = Record; // Error.
|
||||
|
||||
typedef AR = A<Record>; // Error.
|
||||
|
||||
typedef AR2 = A<FromSupportedR>; // Error.
|
||||
|
||||
typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
|
||||
typedef AR4 = A<FromSupportedAR>; // Ok: indirect use.
|
||||
|
||||
typedef RR = FromSupportedR; // Error.
|
||||
|
||||
Record foo1() => throw ''; // Error.
|
||||
|
||||
dynamic foo2() => new Record(); // Error.
|
||||
|
||||
dynamic foo3() => const Record(); // Error.
|
||||
|
||||
dynamic foo4() => <Record>[]; // Error.
|
||||
|
||||
dynamic foo5() => Record; // Error.
|
||||
|
||||
dynamic foo6() => List<Record>; // Error.
|
||||
|
||||
dynamic foo7(Record r) => null; // Error.
|
||||
|
||||
dynamic foo8({required Record r}) => null; // Error.
|
||||
|
||||
List<Record> foo9() => throw ''; // Error.
|
||||
|
||||
dynamic foo10(List<Record> l) => null; // Error.
|
||||
|
||||
FromSupportedR foo11() => throw ''; // Error.
|
||||
|
||||
FromSupportedAR foo12() => throw ''; // Ok: indirect use.
|
||||
|
||||
FromSupportedRR foo13() => throw ''; // Error.
|
||||
|
||||
dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
|
||||
dynamic foo15(FromSupportedAR l) => null; // Ok: indirect use.
|
||||
|
||||
dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
|
||||
dynamic foo17() => FromSupportedR; // Error.
|
||||
|
||||
dynamic foo18() => FromSupportedAR; // Ok: indirect use.
|
||||
|
||||
dynamic foo19() => FromSupportedRR; // Error.
|
||||
|
||||
abstract class A1 extends Record {} // Error.
|
||||
|
||||
abstract class A2 implements Record {} // Error.
|
||||
|
||||
abstract class A3 with Record {} // Error.
|
||||
|
||||
abstract class A4 extends A<Record> {} // Error.
|
||||
|
||||
abstract class A5 implements A<Record> {} // Error.
|
||||
|
||||
abstract class A6 with A<Record> {} // Error.
|
||||
|
||||
abstract class A7 extends FromSupportedR {} // Error.
|
||||
|
||||
abstract class A8 extends FromSupportedAR {} // Ok: indirect use.
|
||||
|
||||
abstract class A9 extends FromSupportedRR {} // Error.
|
||||
|
||||
main() {}
|
|
@ -1,401 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedR = Record;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:11:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedRR = FromSupportedR;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:9:13: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef R = Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:11:16: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR = A<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:13:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR2 = A<FromSupportedR>; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:15:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:19:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef RR = FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:21:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// Record foo1() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:33:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo7(Record r) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:35:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo8({required Record r}) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:37:6: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// List<Record> foo9() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:39:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo10(List<Record> l) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:41:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedR foo11() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:45:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedRR foo13() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:47:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:51:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:65:29: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A4 extends A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:67:32: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A5 implements A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:69:26: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A6 with A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:23:23: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo2() => new Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
// Try using a constructor or factory that is 'const'.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:27:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo4() => <Record>[]; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:29:19: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo5() => Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:31:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo6() => List<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:53:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo17() => FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:57:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo19() => FromSupportedRR; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "type_record_unsupported_lib.dart" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "org-dartlang-testcase:///type_record_unsupported_lib.dart";
|
||||
|
||||
typedef R = invalid-type;
|
||||
typedef AR = typ::A<invalid-type>;
|
||||
typedef AR2 = typ::A<core::Record>;
|
||||
typedef AR3 = typ::A<core::Record>;
|
||||
typedef AR4 = typ::A<typ::A<core::Record>>;
|
||||
typedef RR = core::Record;
|
||||
abstract class A1 extends core::Object {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&Record {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends core::Object implements typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A6&Object&A = core::Object with typ::A<invalid-type> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A6&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::_A6&Object&A {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::_A6&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends core::Record {
|
||||
synthetic constructor •() → self::A7
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A8 extends typ::A<core::Record> {
|
||||
synthetic constructor •() → self::A8
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A9 extends core::Record {
|
||||
synthetic constructor •() → self::A9
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → invalid-type
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw invalid-expression "pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
Try using a constructor or factory that is 'const'.
|
||||
dynamic foo3() => const Record(); // Error.
|
||||
^";
|
||||
static method foo4() → dynamic
|
||||
return <invalid-type>[];
|
||||
static method foo5() → dynamic
|
||||
return #C1;
|
||||
static method foo6() → dynamic
|
||||
return #C2;
|
||||
static method foo7(invalid-type r) → dynamic
|
||||
return null;
|
||||
static method foo8({required invalid-type r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::List<invalid-type>
|
||||
return throw "";
|
||||
static method foo10(core::List<invalid-type> l) → dynamic
|
||||
return null;
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12() → typ::A<core::Record>
|
||||
return throw "";
|
||||
static method foo13() → core::Record
|
||||
return throw "";
|
||||
static method foo14(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo15(typ::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo16(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo17() → dynamic
|
||||
return #C4;
|
||||
static method foo18() → dynamic
|
||||
return #C5;
|
||||
static method foo19() → dynamic
|
||||
return #C4;
|
||||
static method main() → dynamic {}
|
||||
|
||||
library /*isNonNullableByDefault*/;
|
||||
import self as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef FromSupportedR = core::Record;
|
||||
typedef FromSupportedAR = typ::A<core::Record>;
|
||||
typedef FromSupportedRR = core::Record;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → typ::A<typ::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(invalid-type)
|
||||
#C2 = TypeLiteralConstant(core::List<invalid-type>)
|
||||
#C3 = null
|
||||
#C4 = TypeLiteralConstant(core::Record)
|
||||
#C5 = TypeLiteralConstant(typ::A<core::Record>)
|
||||
}
|
|
@ -1,401 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedR = Record;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:11:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedRR = FromSupportedR;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:9:13: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef R = Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:11:16: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR = A<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:13:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR2 = A<FromSupportedR>; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:15:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:19:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef RR = FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:21:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// Record foo1() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:33:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo7(Record r) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:35:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo8({required Record r}) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:37:6: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// List<Record> foo9() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:39:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo10(List<Record> l) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:41:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedR foo11() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:45:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedRR foo13() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:47:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:51:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:65:29: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A4 extends A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:67:32: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A5 implements A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:69:26: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A6 with A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:23:23: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo2() => new Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
// Try using a constructor or factory that is 'const'.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:27:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo4() => <Record>[]; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:29:19: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo5() => Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:31:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo6() => List<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:53:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo17() => FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:57:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo19() => FromSupportedRR; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "type_record_unsupported_lib.dart" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "org-dartlang-testcase:///type_record_unsupported_lib.dart";
|
||||
|
||||
typedef R = invalid-type;
|
||||
typedef AR = typ::A<invalid-type>;
|
||||
typedef AR2 = typ::A<core::Record>;
|
||||
typedef AR3 = typ::A<core::Record>;
|
||||
typedef AR4 = typ::A<typ::A<core::Record>>;
|
||||
typedef RR = core::Record;
|
||||
abstract class A1 extends core::Object {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&Record extends core::Object implements core::Record /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&Record {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends core::Object implements typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A6&Object&A extends core::Object implements typ::A<invalid-type> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A6&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::_A6&Object&A {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::_A6&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends core::Record {
|
||||
synthetic constructor •() → self::A7
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A8 extends typ::A<core::Record> {
|
||||
synthetic constructor •() → self::A8
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A9 extends core::Record {
|
||||
synthetic constructor •() → self::A9
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → invalid-type
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw invalid-expression "pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
Try using a constructor or factory that is 'const'.
|
||||
dynamic foo3() => const Record(); // Error.
|
||||
^";
|
||||
static method foo4() → dynamic
|
||||
return core::_GrowableList::•<invalid-type>(0);
|
||||
static method foo5() → dynamic
|
||||
return #C1;
|
||||
static method foo6() → dynamic
|
||||
return #C2;
|
||||
static method foo7(invalid-type r) → dynamic
|
||||
return null;
|
||||
static method foo8({required invalid-type r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::List<invalid-type>
|
||||
return throw "";
|
||||
static method foo10(core::List<invalid-type> l) → dynamic
|
||||
return null;
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12() → typ::A<core::Record>
|
||||
return throw "";
|
||||
static method foo13() → core::Record
|
||||
return throw "";
|
||||
static method foo14(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo15(typ::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo16(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo17() → dynamic
|
||||
return #C4;
|
||||
static method foo18() → dynamic
|
||||
return #C5;
|
||||
static method foo19() → dynamic
|
||||
return #C4;
|
||||
static method main() → dynamic {}
|
||||
|
||||
library /*isNonNullableByDefault*/;
|
||||
import self as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef FromSupportedR = core::Record;
|
||||
typedef FromSupportedAR = typ::A<core::Record>;
|
||||
typedef FromSupportedRR = core::Record;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → typ::A<typ::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(invalid-type)
|
||||
#C2 = TypeLiteralConstant(core::List<invalid-type>)
|
||||
#C3 = null
|
||||
#C4 = TypeLiteralConstant(core::Record)
|
||||
#C5 = TypeLiteralConstant(typ::A<core::Record>)
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
// @dart = 2.17
|
||||
import './type_record_unsupported_lib.dart';
|
||||
|
||||
typedef R = Record;
|
||||
typedef AR = A<Record>;
|
||||
typedef AR2 = A<FromSupportedR>;
|
||||
typedef AR3 = A<FromSupportedRR>;
|
||||
typedef AR4 = A<FromSupportedAR>;
|
||||
typedef RR = FromSupportedR;
|
||||
Record foo1() => throw '';
|
||||
dynamic foo2() => new Record();
|
||||
dynamic foo3() => const Record();
|
||||
dynamic foo4() => <Record>[];
|
||||
dynamic foo5() => Record;
|
||||
dynamic foo6() => List<Record>;
|
||||
dynamic foo7(Record r) => null;
|
||||
dynamic foo8({required Record r}) => null;
|
||||
List<Record> foo9() => throw '';
|
||||
dynamic foo10(List<Record> l) => null;
|
||||
FromSupportedR foo11() => throw '';
|
||||
FromSupportedAR foo12() => throw '';
|
||||
FromSupportedRR foo13() => throw '';
|
||||
dynamic foo14(FromSupportedR r) => null;
|
||||
dynamic foo15(FromSupportedAR l) => null;
|
||||
dynamic foo16(FromSupportedRR l) => null;
|
||||
dynamic foo17() => FromSupportedR;
|
||||
dynamic foo18() => FromSupportedAR;
|
||||
dynamic foo19() => FromSupportedRR;
|
||||
|
||||
abstract class A1 extends Record {}
|
||||
|
||||
abstract class A2 implements Record {}
|
||||
|
||||
abstract class A3 with Record {}
|
||||
|
||||
abstract class A4 extends A<Record> {}
|
||||
|
||||
abstract class A5 implements A<Record> {}
|
||||
|
||||
abstract class A6 with A<Record> {}
|
||||
|
||||
abstract class A7 extends FromSupportedR {}
|
||||
|
||||
abstract class A8 extends FromSupportedAR {}
|
||||
|
||||
abstract class A9 extends FromSupportedRR {}
|
||||
|
||||
main() {}
|
|
@ -1,48 +0,0 @@
|
|||
// @dart = 2.17
|
||||
import './type_record_unsupported_lib.dart';
|
||||
|
||||
FromSupportedAR foo12() => throw '';
|
||||
FromSupportedR foo11() => throw '';
|
||||
FromSupportedRR foo13() => throw '';
|
||||
List<Record> foo9() => throw '';
|
||||
Record foo1() => throw '';
|
||||
|
||||
abstract class A1 extends Record {}
|
||||
|
||||
abstract class A2 implements Record {}
|
||||
|
||||
abstract class A3 with Record {}
|
||||
|
||||
abstract class A4 extends A<Record> {}
|
||||
|
||||
abstract class A5 implements A<Record> {}
|
||||
|
||||
abstract class A6 with A<Record> {}
|
||||
|
||||
abstract class A7 extends FromSupportedR {}
|
||||
|
||||
abstract class A8 extends FromSupportedAR {}
|
||||
|
||||
abstract class A9 extends FromSupportedRR {}
|
||||
|
||||
dynamic foo10(List<Record> l) => null;
|
||||
dynamic foo14(FromSupportedR r) => null;
|
||||
dynamic foo15(FromSupportedAR l) => null;
|
||||
dynamic foo16(FromSupportedRR l) => null;
|
||||
dynamic foo17() => FromSupportedR;
|
||||
dynamic foo18() => FromSupportedAR;
|
||||
dynamic foo19() => FromSupportedRR;
|
||||
dynamic foo2() => new Record();
|
||||
dynamic foo3() => const Record();
|
||||
dynamic foo4() => <Record>[];
|
||||
dynamic foo5() => Record;
|
||||
dynamic foo6() => List<Record>;
|
||||
dynamic foo7(Record r) => null;
|
||||
dynamic foo8({required Record r}) => null;
|
||||
main() {}
|
||||
typedef AR = A<Record>;
|
||||
typedef AR2 = A<FromSupportedR>;
|
||||
typedef AR3 = A<FromSupportedRR>;
|
||||
typedef AR4 = A<FromSupportedAR>;
|
||||
typedef R = Record;
|
||||
typedef RR = FromSupportedR;
|
|
@ -1,401 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedR = Record;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:11:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedRR = FromSupportedR;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:9:13: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef R = Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:11:16: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR = A<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:13:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR2 = A<FromSupportedR>; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:15:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:19:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef RR = FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:21:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// Record foo1() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:33:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo7(Record r) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:35:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo8({required Record r}) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:37:6: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// List<Record> foo9() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:39:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo10(List<Record> l) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:41:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedR foo11() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:45:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedRR foo13() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:47:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:51:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:65:29: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A4 extends A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:67:32: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A5 implements A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:69:26: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A6 with A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:23:23: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo2() => new Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
// Try using a constructor or factory that is 'const'.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:27:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo4() => <Record>[]; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:29:19: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo5() => Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:31:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo6() => List<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:53:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo17() => FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:57:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo19() => FromSupportedRR; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "type_record_unsupported_lib.dart" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "org-dartlang-testcase:///type_record_unsupported_lib.dart";
|
||||
|
||||
typedef R = invalid-type;
|
||||
typedef AR = typ::A<invalid-type>;
|
||||
typedef AR2 = typ::A<core::Record>;
|
||||
typedef AR3 = typ::A<core::Record>;
|
||||
typedef AR4 = typ::A<typ::A<core::Record>>;
|
||||
typedef RR = core::Record;
|
||||
abstract class A1 extends core::Object {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&Record {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends core::Object implements typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A6&Object&A = core::Object with typ::A<invalid-type> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A6&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::_A6&Object&A {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::_A6&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends core::Record {
|
||||
synthetic constructor •() → self::A7
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A8 extends typ::A<core::Record> {
|
||||
synthetic constructor •() → self::A8
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A9 extends core::Record {
|
||||
synthetic constructor •() → self::A9
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → invalid-type
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw invalid-expression "pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
Try using a constructor or factory that is 'const'.
|
||||
dynamic foo3() => const Record(); // Error.
|
||||
^";
|
||||
static method foo4() → dynamic
|
||||
return <invalid-type>[];
|
||||
static method foo5() → dynamic
|
||||
return #C1;
|
||||
static method foo6() → dynamic
|
||||
return #C2;
|
||||
static method foo7(invalid-type r) → dynamic
|
||||
return null;
|
||||
static method foo8({required invalid-type r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::List<invalid-type>
|
||||
return throw "";
|
||||
static method foo10(core::List<invalid-type> l) → dynamic
|
||||
return null;
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12() → typ::A<core::Record>
|
||||
return throw "";
|
||||
static method foo13() → core::Record
|
||||
return throw "";
|
||||
static method foo14(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo15(typ::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo16(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo17() → dynamic
|
||||
return #C4;
|
||||
static method foo18() → dynamic
|
||||
return #C5;
|
||||
static method foo19() → dynamic
|
||||
return #C4;
|
||||
static method main() → dynamic {}
|
||||
|
||||
library /*isNonNullableByDefault*/;
|
||||
import self as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef FromSupportedR = core::Record;
|
||||
typedef FromSupportedAR = typ::A<core::Record>;
|
||||
typedef FromSupportedRR = core::Record;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → typ::A<typ::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(invalid-type)
|
||||
#C2 = TypeLiteralConstant(core::List<invalid-type>*)
|
||||
#C3 = null
|
||||
#C4 = TypeLiteralConstant(core::Record*)
|
||||
#C5 = TypeLiteralConstant(typ::A<core::Record*>*)
|
||||
}
|
|
@ -1,401 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedR = Record;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:11:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedRR = FromSupportedR;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:9:13: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef R = Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:11:16: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR = A<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:13:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR2 = A<FromSupportedR>; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:15:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:19:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef RR = FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:21:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// Record foo1() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:33:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo7(Record r) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:35:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo8({required Record r}) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:37:6: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// List<Record> foo9() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:39:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo10(List<Record> l) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:41:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedR foo11() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:45:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedRR foo13() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:47:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:51:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:65:29: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A4 extends A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:67:32: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A5 implements A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:69:26: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A6 with A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:23:23: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo2() => new Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
// Try using a constructor or factory that is 'const'.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:27:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo4() => <Record>[]; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:29:19: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo5() => Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:31:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo6() => List<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:53:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo17() => FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:57:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo19() => FromSupportedRR; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "type_record_unsupported_lib.dart" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "org-dartlang-testcase:///type_record_unsupported_lib.dart";
|
||||
|
||||
typedef R = invalid-type;
|
||||
typedef AR = typ::A<invalid-type>;
|
||||
typedef AR2 = typ::A<core::Record>;
|
||||
typedef AR3 = typ::A<core::Record>;
|
||||
typedef AR4 = typ::A<typ::A<core::Record>>;
|
||||
typedef RR = core::Record;
|
||||
abstract class A1 extends core::Object {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&Record {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends core::Object implements typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A6&Object&A = core::Object with typ::A<invalid-type> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A6&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::_A6&Object&A {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::_A6&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends core::Record {
|
||||
synthetic constructor •() → self::A7
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A8 extends typ::A<core::Record> {
|
||||
synthetic constructor •() → self::A8
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A9 extends core::Record {
|
||||
synthetic constructor •() → self::A9
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → invalid-type
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw invalid-expression "pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
Try using a constructor or factory that is 'const'.
|
||||
dynamic foo3() => const Record(); // Error.
|
||||
^";
|
||||
static method foo4() → dynamic
|
||||
return <invalid-type>[];
|
||||
static method foo5() → dynamic
|
||||
return #C1;
|
||||
static method foo6() → dynamic
|
||||
return #C2;
|
||||
static method foo7(invalid-type r) → dynamic
|
||||
return null;
|
||||
static method foo8({required invalid-type r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::List<invalid-type>
|
||||
return throw "";
|
||||
static method foo10(core::List<invalid-type> l) → dynamic
|
||||
return null;
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12() → typ::A<core::Record>
|
||||
return throw "";
|
||||
static method foo13() → core::Record
|
||||
return throw "";
|
||||
static method foo14(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo15(typ::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo16(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo17() → dynamic
|
||||
return #C4;
|
||||
static method foo18() → dynamic
|
||||
return #C5;
|
||||
static method foo19() → dynamic
|
||||
return #C4;
|
||||
static method main() → dynamic {}
|
||||
|
||||
library /*isNonNullableByDefault*/;
|
||||
import self as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef FromSupportedR = core::Record;
|
||||
typedef FromSupportedAR = typ::A<core::Record>;
|
||||
typedef FromSupportedRR = core::Record;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → typ::A<typ::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(invalid-type)
|
||||
#C2 = TypeLiteralConstant(core::List<invalid-type>*)
|
||||
#C3 = null
|
||||
#C4 = TypeLiteralConstant(core::Record*)
|
||||
#C5 = TypeLiteralConstant(typ::A<core::Record*>*)
|
||||
}
|
|
@ -1,328 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedR = Record;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:11:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedRR = FromSupportedR;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:9:13: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef R = Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:11:16: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR = A<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:13:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR2 = A<FromSupportedR>; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:15:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:19:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef RR = FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:21:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// Record foo1() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:33:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo7(Record r) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:35:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo8({required Record r}) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:37:6: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// List<Record> foo9() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:39:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo10(List<Record> l) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:41:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedR foo11() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:45:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedRR foo13() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:47:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:51:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:65:29: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A4 extends A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:67:32: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A5 implements A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:69:26: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A6 with A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "type_record_unsupported_lib.dart" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "org-dartlang-testcase:///type_record_unsupported_lib.dart";
|
||||
|
||||
typedef R = invalid-type;
|
||||
typedef AR = typ::A<invalid-type>;
|
||||
typedef AR2 = typ::A<core::Record>;
|
||||
typedef AR3 = typ::A<core::Record>;
|
||||
typedef AR4 = typ::A<typ::A<core::Record>>;
|
||||
typedef RR = core::Record;
|
||||
abstract class A1 extends core::Object {
|
||||
synthetic constructor •() → self::A1
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object {
|
||||
synthetic constructor •() → self::A2
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&Record = core::Object with core::Record /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&Record {
|
||||
synthetic constructor •() → self::A3
|
||||
;
|
||||
}
|
||||
abstract class A4 extends typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A4
|
||||
;
|
||||
}
|
||||
abstract class A5 extends core::Object implements typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A5
|
||||
;
|
||||
}
|
||||
abstract class _A6&Object&A = core::Object with typ::A<invalid-type> /*isAnonymousMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A6&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::_A6&Object&A {
|
||||
synthetic constructor •() → self::A6
|
||||
;
|
||||
}
|
||||
abstract class A7 extends core::Record {
|
||||
synthetic constructor •() → self::A7
|
||||
;
|
||||
}
|
||||
abstract class A8 extends typ::A<core::Record> {
|
||||
synthetic constructor •() → self::A8
|
||||
;
|
||||
}
|
||||
abstract class A9 extends core::Record {
|
||||
synthetic constructor •() → self::A9
|
||||
;
|
||||
}
|
||||
static method foo1() → invalid-type
|
||||
;
|
||||
static method foo2() → dynamic
|
||||
;
|
||||
static method foo3() → dynamic
|
||||
;
|
||||
static method foo4() → dynamic
|
||||
;
|
||||
static method foo5() → dynamic
|
||||
;
|
||||
static method foo6() → dynamic
|
||||
;
|
||||
static method foo7(invalid-type r) → dynamic
|
||||
;
|
||||
static method foo8({required invalid-type r}) → dynamic
|
||||
;
|
||||
static method foo9() → core::List<invalid-type>
|
||||
;
|
||||
static method foo10(core::List<invalid-type> l) → dynamic
|
||||
;
|
||||
static method foo11() → core::Record
|
||||
;
|
||||
static method foo12() → typ::A<core::Record>
|
||||
;
|
||||
static method foo13() → core::Record
|
||||
;
|
||||
static method foo14(core::Record r) → dynamic
|
||||
;
|
||||
static method foo15(typ::A<core::Record> l) → dynamic
|
||||
;
|
||||
static method foo16(core::Record l) → dynamic
|
||||
;
|
||||
static method foo17() → dynamic
|
||||
;
|
||||
static method foo18() → dynamic
|
||||
;
|
||||
static method foo19() → dynamic
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
library /*isNonNullableByDefault*/;
|
||||
import self as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef FromSupportedR = core::Record;
|
||||
typedef FromSupportedAR = typ::A<core::Record>;
|
||||
typedef FromSupportedRR = core::Record;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → typ::A<typ::A::X%>
|
||||
;
|
||||
}
|
|
@ -1,401 +0,0 @@
|
|||
library /*isNonNullableByDefault*/;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:7:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedR = Record;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:16: Error: 'Record' is restricted and can't be extended or implemented.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported_lib.dart:11:9: Context: The issue arises via this type alias.
|
||||
// typedef FromSupportedRR = FromSupportedR;
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:9:13: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef R = Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:11:16: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR = A<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:13:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR2 = A<FromSupportedR>; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:15:17: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef AR3 = A<FromSupportedRR>; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:19:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// typedef RR = FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:21:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// Record foo1() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:33:14: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo7(Record r) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:35:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo8({required Record r}) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:37:6: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// List<Record> foo9() => throw ''; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:39:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo10(List<Record> l) => null; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:41:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedR foo11() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:45:1: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// FromSupportedRR foo13() => throw ''; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:47:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo14(FromSupportedR r) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:51:15: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo16(FromSupportedRR l) => null; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:59:27: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A1 extends Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:61:30: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A2 implements Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:65:29: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A4 extends A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:67:32: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A5 implements A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:69:26: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A6 with A<Record> {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:71:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A7 extends FromSupportedR {} // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:75:27: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A9 extends FromSupportedRR {} // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:63:24: Error: The type 'Record' can't be used as supertype.
|
||||
// abstract class A3 with Record {} // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:23:23: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo2() => new Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: The class 'Record' is abstract and can't be instantiated.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
// Try using a constructor or factory that is 'const'.
|
||||
// dynamic foo3() => const Record(); // Error.
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:27:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo4() => <Record>[]; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:29:19: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo5() => Record; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:31:24: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo6() => List<Record>; // Error.
|
||||
// ^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:53:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo17() => FromSupportedR; // Error.
|
||||
// ^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:57:20: Error: The 'records' language feature is disabled for this library.
|
||||
// Try removing the `@dart=` annotation or setting the language version to 2.19 or higher.
|
||||
// dynamic foo19() => FromSupportedRR; // Error.
|
||||
// ^^^^^^^^^^^^^^^
|
||||
// pkg/front_end/testcases/records/type_record_unsupported.dart:5:1: Context: This is the annotation that opts out this library from the 'records' language feature.
|
||||
// // @dart=2.17
|
||||
// ^^^^^^^^^^^^^
|
||||
//
|
||||
import self as self;
|
||||
import "type_record_unsupported_lib.dart" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "org-dartlang-testcase:///type_record_unsupported_lib.dart";
|
||||
|
||||
typedef R = invalid-type;
|
||||
typedef AR = typ::A<invalid-type>;
|
||||
typedef AR2 = typ::A<core::Record>;
|
||||
typedef AR3 = typ::A<core::Record>;
|
||||
typedef AR4 = typ::A<typ::A<core::Record>>;
|
||||
typedef RR = core::Record;
|
||||
abstract class A1 extends core::Object {
|
||||
synthetic constructor •() → self::A1
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A2 extends core::Object {
|
||||
synthetic constructor •() → self::A2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A3&Object&Record extends core::Object implements core::Record /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A3&Object&Record
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A3 extends self::_A3&Object&Record {
|
||||
synthetic constructor •() → self::A3
|
||||
: super self::_A3&Object&Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A4 extends typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A4
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A5 extends core::Object implements typ::A<invalid-type> {
|
||||
synthetic constructor •() → self::A5
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class _A6&Object&A extends core::Object implements typ::A<invalid-type> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
||||
const synthetic constructor •() → self::_A6&Object&A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
abstract class A6 extends self::_A6&Object&A {
|
||||
synthetic constructor •() → self::A6
|
||||
: super self::_A6&Object&A::•()
|
||||
;
|
||||
}
|
||||
abstract class A7 extends core::Record {
|
||||
synthetic constructor •() → self::A7
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
abstract class A8 extends typ::A<core::Record> {
|
||||
synthetic constructor •() → self::A8
|
||||
: super typ::A::•()
|
||||
;
|
||||
}
|
||||
abstract class A9 extends core::Record {
|
||||
synthetic constructor •() → self::A9
|
||||
: super core::Record::•()
|
||||
;
|
||||
}
|
||||
static method foo1() → invalid-type
|
||||
return throw "";
|
||||
static method foo2() → dynamic
|
||||
return throw new core::AbstractClassInstantiationError::•("Record");
|
||||
static method foo3() → dynamic
|
||||
return throw invalid-expression "pkg/front_end/testcases/records/type_record_unsupported.dart:25:25: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
|
||||
Try using a constructor or factory that is 'const'.
|
||||
dynamic foo3() => const Record(); // Error.
|
||||
^";
|
||||
static method foo4() → dynamic
|
||||
return core::_GrowableList::•<invalid-type>(0);
|
||||
static method foo5() → dynamic
|
||||
return #C1;
|
||||
static method foo6() → dynamic
|
||||
return #C2;
|
||||
static method foo7(invalid-type r) → dynamic
|
||||
return null;
|
||||
static method foo8({required invalid-type r = #C3}) → dynamic
|
||||
return null;
|
||||
static method foo9() → core::List<invalid-type>
|
||||
return throw "";
|
||||
static method foo10(core::List<invalid-type> l) → dynamic
|
||||
return null;
|
||||
static method foo11() → core::Record
|
||||
return throw "";
|
||||
static method foo12() → typ::A<core::Record>
|
||||
return throw "";
|
||||
static method foo13() → core::Record
|
||||
return throw "";
|
||||
static method foo14(core::Record r) → dynamic
|
||||
return null;
|
||||
static method foo15(typ::A<core::Record> l) → dynamic
|
||||
return null;
|
||||
static method foo16(core::Record l) → dynamic
|
||||
return null;
|
||||
static method foo17() → dynamic
|
||||
return #C4;
|
||||
static method foo18() → dynamic
|
||||
return #C5;
|
||||
static method foo19() → dynamic
|
||||
return #C4;
|
||||
static method main() → dynamic {}
|
||||
|
||||
library /*isNonNullableByDefault*/;
|
||||
import self as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
typedef FromSupportedR = core::Record;
|
||||
typedef FromSupportedAR = typ::A<core::Record>;
|
||||
typedef FromSupportedRR = core::Record;
|
||||
abstract class A<X extends core::Object? = dynamic> extends core::Object {
|
||||
synthetic constructor •() → typ::A<typ::A::X%>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = TypeLiteralConstant(invalid-type)
|
||||
#C2 = TypeLiteralConstant(core::List<invalid-type>*)
|
||||
#C3 = null
|
||||
#C4 = TypeLiteralConstant(core::Record*)
|
||||
#C5 = TypeLiteralConstant(typ::A<core::Record*>*)
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
abstract class A<X> {}
|
||||
|
||||
typedef FromSupportedR = Record;
|
||||
|
||||
typedef FromSupportedAR = A<Record>;
|
||||
|
||||
typedef FromSupportedRR = FromSupportedR;
|
|
@ -21,8 +21,8 @@ regress/issue_39035.crash: EmptyOutput
|
|||
regress/issue_39091_2: EmptyOutput
|
||||
regress/utf_16_le_content.crash: EmptyOutput
|
||||
|
||||
const_functions/const_functions_const_ctor: FormatterCrash
|
||||
const_functions/const_functions_const_ctor_error: FormatterCrash
|
||||
const_functions/const_functions_const_ctor: FormatterCrash
|
||||
const_functions/const_functions_const_factory: FormatterCrash
|
||||
constructor_tearoffs/issue46133: FormatterCrash
|
||||
constructor_tearoffs/issue47075: FormatterCrash
|
||||
|
@ -38,8 +38,8 @@ extension_types/simple_method_resolution: FormatterCrash
|
|||
extension_types/simple_operator_resolution: FormatterCrash
|
||||
extension_types/simple_setter_resolution: FormatterCrash
|
||||
extension_types/simple_show_and_hide: FormatterCrash
|
||||
extension_types/simple_show_hide: FormatterCrash
|
||||
extension_types/simple_show_hide_conflicts: FormatterCrash
|
||||
extension_types/simple_show_hide: FormatterCrash
|
||||
extension_types/type_variable_in_static_context: FormatterCrash
|
||||
extension_types/various_hide_elements: FormatterCrash
|
||||
extension_types/various_show_elements: FormatterCrash
|
||||
|
@ -52,13 +52,13 @@ general/annotation_eof: FormatterCrash
|
|||
general/bad_setter_abstract: FormatterCrash
|
||||
general/bug31124: FormatterCrash
|
||||
general/clone_function_type: FormatterCrash
|
||||
general/constants/js_semantics/number_folds: FormatterCrash
|
||||
general/constants/js_semantics/number_folds_opt_out: FormatterCrash
|
||||
general/constants/js_semantics/number_folds: FormatterCrash
|
||||
general/constants/non_const_constructor: FormatterCrash
|
||||
general/constants/number_folds: FormatterCrash
|
||||
general/constants/number_folds_opt_out: FormatterCrash
|
||||
general/constants/various2: FormatterCrash
|
||||
general/constants/number_folds: FormatterCrash
|
||||
general/constants/various: FormatterCrash
|
||||
general/constants/various2: FormatterCrash
|
||||
general/constructor_initializer_invalid: FormatterCrash
|
||||
general/duplicated_declarations: FormatterCrash
|
||||
general/enum_super_constructor: FormatterCrash
|
||||
|
@ -83,9 +83,10 @@ general/error_recovery/issue_43090.crash: FormatterCrash
|
|||
general/extension_types_feature_not_enabled: FormatterCrash
|
||||
general/function_type_default_value: FormatterCrash
|
||||
general/incomplete_field_formal_parameter: FormatterCrash
|
||||
general/invalid_operator2: FormatterCrash
|
||||
general/invalid_operator: FormatterCrash
|
||||
general/invalid_operator2: FormatterCrash
|
||||
general/invalid_super_initializer: FormatterCrash
|
||||
general/issue_46886: FormatterCrash
|
||||
general/issue28565: FormatterCrash
|
||||
general/issue41842: FormatterCrash
|
||||
general/issue42997: FormatterCrash
|
||||
|
@ -98,16 +99,14 @@ general/issue47922: FormatterCrash
|
|||
general/issue48487: FormatterCrash
|
||||
general/issue48487b: FormatterCrash
|
||||
general/issue48919: FormatterCrash
|
||||
general/issue_46886: FormatterCrash
|
||||
general/issue_46886: FormatterCrash
|
||||
general/macro_class: FormatterCrash
|
||||
general/many_errors2: FormatterCrash
|
||||
general/many_errors: FormatterCrash
|
||||
general/many_errors2: FormatterCrash
|
||||
general/missing_prefix_name: FormatterCrash
|
||||
general/new_as_selector: FormatterCrash
|
||||
general/null_aware_super: FormatterCrash
|
||||
general/null_safety_invalid_experiment: FormatterCrash
|
||||
general/null_safety_invalid_experiment_and_language_version: FormatterCrash
|
||||
general/null_safety_invalid_experiment: FormatterCrash
|
||||
general/records: FormatterCrash
|
||||
general/records_opt_out: FormatterCrash
|
||||
general/type_parameters_on_void: FormatterCrash
|
||||
|
@ -126,15 +125,15 @@ macros/macro_class: FormatterCrash
|
|||
macros/multiple_augment_class: FormatterCrash
|
||||
macros/multiple_imports: FormatterCrash
|
||||
macros/scope_access: FormatterCrash
|
||||
nnbd_mixed/inheritance_from_opt_in: FormatterCrash
|
||||
nnbd_mixed/issue41597: FormatterCrash
|
||||
nnbd_mixed/null_safety_invalid_language_version: FormatterCrash
|
||||
nnbd/abstract_field_errors: FormatterCrash
|
||||
nnbd/duplicates_instance_extension: FormatterCrash
|
||||
nnbd/field_vs_setter: FormatterCrash
|
||||
nnbd/forbidden_supers: FormatterCrash
|
||||
nnbd/later: FormatterCrash
|
||||
nnbd/nonfield_vs_setter: FormatterCrash
|
||||
nnbd_mixed/inheritance_from_opt_in: FormatterCrash
|
||||
nnbd_mixed/issue41597: FormatterCrash
|
||||
nnbd_mixed/null_safety_invalid_language_version: FormatterCrash
|
||||
nonfunction_type_aliases/old_version: FormatterCrash
|
||||
rasta/bad_redirection: FormatterCrash
|
||||
rasta/issue_000032: FormatterCrash
|
||||
|
@ -150,7 +149,6 @@ records/record_literal_errors: FormatterCrash
|
|||
records/record_type: FormatterCrash
|
||||
records/record_type_errors: FormatterCrash
|
||||
records/record_type_unsupported: FormatterCrash
|
||||
records/type_record: FormatterCrash
|
||||
regress/ambiguous_builder_01: FormatterCrash
|
||||
regress/issue_29942: FormatterCrash
|
||||
regress/issue_29944: FormatterCrash
|
||||
|
|
|
@ -28,7 +28,6 @@ class CoreTypes {
|
|||
'Function',
|
||||
'Invocation',
|
||||
'FallThroughError',
|
||||
'Record',
|
||||
],
|
||||
'dart:_internal': [
|
||||
'LateInitializationErrorImpl',
|
||||
|
|
|
@ -194,7 +194,6 @@ part "num.dart";
|
|||
part "object.dart";
|
||||
part "pattern.dart";
|
||||
part "print.dart";
|
||||
part "record.dart";
|
||||
part "regexp.dart";
|
||||
part "set.dart";
|
||||
part "sink.dart";
|
||||
|
|
|
@ -29,7 +29,6 @@ core_sdk_sources = [
|
|||
"object.dart",
|
||||
"pattern.dart",
|
||||
"print.dart",
|
||||
"record.dart",
|
||||
"regexp.dart",
|
||||
"set.dart",
|
||||
"sink.dart",
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
||||
// 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.
|
||||
|
||||
part of dart.core;
|
||||
|
||||
/// The base class for all record types.
|
||||
///
|
||||
/// The run-time type of a record object is a record type, and as such, a
|
||||
/// subtype of [Record].
|
||||
abstract class Record {}
|
|
@ -16,8 +16,8 @@ main() {
|
|||
// [cfe] Record type with one entry requires a trailing comma.
|
||||
|
||||
() emptyRecord = Record.empty;
|
||||
// ^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
|
||||
// [cfe] Member not found: 'empty'.
|
||||
// ^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER
|
||||
// [cfe] Undefined name 'Record'.
|
||||
print(emptyRecord);
|
||||
}
|
||||
|
|
|
@ -46,12 +46,6 @@ main() {
|
|||
|
||||
({int ok}) oneElementNamedRecord = (ok: 1);
|
||||
print(oneElementNamedRecord);
|
||||
|
||||
() emptyRecord = Record.empty;
|
||||
// ^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
|
||||
// [cfe] Member not found: 'empty'.
|
||||
print(emptyRecord);
|
||||
}
|
||||
|
||||
(int, T) f1<T>(T t) {
|
||||
|
|
|
@ -33,10 +33,8 @@ main() {
|
|||
//^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^^^^^^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// ^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
|
||||
// [cfe] Member not found: 'empty'.
|
||||
// ^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER
|
||||
// [cfe] Undefined name 'Record'.
|
||||
print(emptyRecord);
|
||||
}
|
||||
|
|
|
@ -134,17 +134,6 @@ main() {
|
|||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
print(oneElementNamedRecord);
|
||||
|
||||
() emptyRecord = Record.empty;
|
||||
//^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^^^^^^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// ^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
|
||||
// [cfe] Member not found: 'empty'.
|
||||
print(emptyRecord);
|
||||
}
|
||||
|
||||
(int, T) f1<T>(T t) {
|
||||
|
|
Loading…
Reference in a new issue