| Index: pkg/kernel/lib/type_environment.dart
|
| diff --git a/pkg/kernel/lib/type_environment.dart b/pkg/kernel/lib/type_environment.dart
|
| index 9bf931828c7896d701c78bb668005161e2977d98..0b90cb4ba4742ec9856090ba65121553b44aaebf 100644
|
| --- a/pkg/kernel/lib/type_environment.dart
|
| +++ b/pkg/kernel/lib/type_environment.dart
|
| @@ -118,6 +118,21 @@ class TypeEnvironment extends SubtypeTester {
|
| if (type1 == doubleType || type2 == doubleType) return doubleType;
|
| return numType;
|
| }
|
| +
|
| + /// Returns true if [class_] has no proper subtypes that are usable as type
|
| + /// argument.
|
| + bool isSealedClass(Class class_) {
|
| + // The sealed core classes have subtypes in the patched SDK, but those
|
| + // classes cannot occur as type argument.
|
| + if (class_ == coreTypes.intClass ||
|
| + class_ == coreTypes.doubleClass ||
|
| + class_ == coreTypes.stringClass ||
|
| + class_ == coreTypes.boolClass ||
|
| + class_ == coreTypes.nullClass) {
|
| + return true;
|
| + }
|
| + return !hierarchy.hasProperSubtypes(class_);
|
| + }
|
| }
|
|
|
| /// The part of [TypeEnvironment] that deals with subtype tests.
|
|
|