| Index: pkg/serialization/lib/src/serialization_rule.dart
|
| diff --git a/pkg/serialization/lib/src/serialization_rule.dart b/pkg/serialization/lib/src/serialization_rule.dart
|
| index d5853215a9f9466567ec26a7f88fdf4e534ea6b6..49e42ae7885db2724f4bb509a7f85c5a81af7a65 100644
|
| --- a/pkg/serialization/lib/src/serialization_rule.dart
|
| +++ b/pkg/serialization/lib/src/serialization_rule.dart
|
| @@ -410,18 +410,13 @@ class MirrorRule extends NamedObjectRule {
|
| if (name.contains(":")) {
|
| var uri = Uri.parse(name);
|
| var libMirror = currentMirrorSystem().libraries[uri];
|
| - var result = libMirror.declarations[new Symbol(type)];
|
| - return result is ClassMirror ? result : null;
|
| + return libMirror.classes[new Symbol(type)];
|
| } else {
|
| var symbol = new Symbol(name);
|
| var typeSymbol = new Symbol(type);
|
| - var libMirror = currentMirrorSystem().libraries.values.firstWhere((lib) {
|
| - if (lib.simpleName != symbol) return false;
|
| - var candidate = lib.declarations[typeSymbol];
|
| - return candidate != null && candidate is ClassMirror;
|
| - });
|
| - var result = libMirror.declarations[typeSymbol];
|
| - return result is ClassMirror ? result : null;
|
| + var libMirror = currentMirrorSystem().libraries.values.firstWhere(
|
| + (lib) => lib.simpleName == symbol && lib.classes[typeSymbol] != null);
|
| + return libMirror.classes[typeSymbol];
|
| }
|
| }
|
| }
|
|
|