| Index: runtime/lib/mirrors.cc
|
| diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
|
| index 3f70c58d1d951021005c34c6a0349267283d5877..6ebb080bcb4ff79fdfbee744e482402e00a7b3f7 100644
|
| --- a/runtime/lib/mirrors.cc
|
| +++ b/runtime/lib/mirrors.cc
|
| @@ -418,7 +418,10 @@ DEFINE_NATIVE_ENTRY(Mirrors_makeLocalClassMirror, 1) {
|
| GET_NON_NULL_NATIVE_ARGUMENT(Type, type, arguments->NativeArgAt(0));
|
| const Class& cls = Class::Handle(type.type_class());
|
| ASSERT(!cls.IsNull());
|
| - if (cls.IsDynamicClass() || cls.IsVoidClass()) {
|
| + if (cls.IsDynamicClass() ||
|
| + cls.IsVoidClass() ||
|
| + (cls.IsSignatureClass() && !cls.IsCanonicalSignatureClass())) {
|
| + // dynamic, void or a function typedef.
|
| const Array& args = Array::Handle(Array::New(1));
|
| args.SetAt(0, type);
|
| Exceptions::ThrowByType(Exceptions::kArgument, args);
|
|
|