mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 15:09:45 +00:00
Disallow subtyping class Record.
Change-Id: I5f71e47cc0c60444cf0c7baebb4e9e9d3f105ef0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257921 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Samuel Rawlins <srawlins@google.com>
This commit is contained in:
parent
ed5587dc2d
commit
6546d85c50
|
@ -31,6 +31,7 @@ const Set<String> _nonSubtypableDartCoreClassNames = {
|
||||||
'int',
|
'int',
|
||||||
'Null',
|
'Null',
|
||||||
'num',
|
'num',
|
||||||
|
'Record',
|
||||||
'String',
|
'String',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,14 @@ class A extends num {}
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_class_Record() async {
|
||||||
|
await assertErrorsInCode('''
|
||||||
|
class A extends Record {}
|
||||||
|
''', [
|
||||||
|
error(CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, 16, 6),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
test_class_String() async {
|
test_class_String() async {
|
||||||
await assertErrorsInCode('''
|
await assertErrorsInCode('''
|
||||||
class A extends String {}
|
class A extends String {}
|
||||||
|
|
|
@ -116,6 +116,14 @@ class A implements num {}
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_class_Record() async {
|
||||||
|
await assertErrorsInCode('''
|
||||||
|
class A implements Record {}
|
||||||
|
''', [
|
||||||
|
error(CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS, 19, 6),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
test_class_String() async {
|
test_class_String() async {
|
||||||
await assertErrorsInCode('''
|
await assertErrorsInCode('''
|
||||||
class A implements String {}
|
class A implements String {}
|
||||||
|
|
|
@ -82,6 +82,14 @@ class A extends Object with num {}
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_class_Record() async {
|
||||||
|
await assertErrorsInCode('''
|
||||||
|
class A extends Object with Record {}
|
||||||
|
''', [
|
||||||
|
error(CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS, 28, 6),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
test_class_String() async {
|
test_class_String() async {
|
||||||
await assertErrorsInCode('''
|
await assertErrorsInCode('''
|
||||||
class A extends Object with String {}
|
class A extends Object with String {}
|
||||||
|
|
Loading…
Reference in a new issue