| Index: runtime/lib/mirrors_impl.dart
|
| diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart
|
| index 4efc47c57145a3dd56acb27d972f6398c2efcac1..283a59756c20a22e1b2fb02662f0986f88e6c2de 100644
|
| --- a/runtime/lib/mirrors_impl.dart
|
| +++ b/runtime/lib/mirrors_impl.dart
|
| @@ -1054,7 +1054,9 @@ class _LocalTypeVariableMirror extends _LocalDeclarationMirror
|
| }
|
|
|
| bool get hasReflectedType => false;
|
| - Type get reflectedType => throw new UnsupportedError();
|
| + Type get reflectedType {
|
| + throw new UnsupportedError('Type variables have no reflected type');
|
| + }
|
| Type get _reflectedType => _reflectee;
|
|
|
| List<TypeVariableMirror> get typeVariables => emptyList;
|
| @@ -1131,6 +1133,15 @@ class _LocalTypedefMirror extends _LocalDeclarationMirror
|
| return _referent;
|
| }
|
|
|
| + bool get hasReflectedType => !_isGenericDeclaration;
|
| + Type get reflectedType {
|
| + if (!hasReflectedType) {
|
| + throw new UnsupportedError(
|
| + "Declarations of generics have no reflected type");
|
| + }
|
| + return _reflectedType;
|
| + }
|
| +
|
| bool get isOriginalDeclaration => !_isGeneric || _isGenericDeclaration;
|
|
|
| TypedefMirror get originalDeclaration {
|
| @@ -1538,6 +1549,12 @@ class _SpecialTypeMirror extends _LocalMirror
|
|
|
| List<InstanceMirror> get metadata => emptyList;
|
|
|
| + bool get hasReflectedType => simpleName == #dynamic;
|
| + Type get reflectedType {
|
| + if (simpleName == #dynamic) return dynamic;
|
| + throw new UnsupportedError("void has no reflected type");
|
| + }
|
| +
|
| List<TypeVariableMirror> get typeVariables => emptyList;
|
| List<TypeMirror> get typeArguments => emptyList;
|
|
|
|
|