dart-sdk/runtime/lib/type_patch.dart
Ryan Macnak f005bd5a3e [vm] Harden access to unchecked natives.
Bug: https://github.com/dart-lang/sdk/issues/37234
Change-Id: I567b3fa177e89db50345e174a07c98b10c53f102
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105721
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-06-12 21:32:33 +00:00

40 lines
1 KiB
Dart

// Copyright (c) 2012, 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 "core_patch.dart";
// These Dart classes correspond to the VM internal implementation classes.
// Equivalent of RawAbstractType.
abstract class _AbstractType implements Type {
String toString() native "AbstractType_toString";
}
// Equivalent of RawType.
@pragma("vm:entry-point")
class _Type extends _AbstractType {
factory _Type._uninstantiable() {
throw "Unreachable";
}
@pragma("vm:exact-result-type", "dart:core#_Smi")
int get hashCode native "Type_getHashCode";
}
// Equivalent of RawTypeRef.
@pragma("vm:entry-point")
class _TypeRef extends _AbstractType {
factory _TypeRef._uninstantiable() {
throw "Unreachable";
}
}
// Equivalent of RawTypeParameter.
@pragma("vm:entry-point")
class _TypeParameter extends _AbstractType {
factory _TypeParameter._uninstantiable() {
throw "Unreachable";
}
}