diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc index 81a6ae89d0a..3529c3d1881 100644 --- a/runtime/lib/mirrors.cc +++ b/runtime/lib/mirrors.cc @@ -530,6 +530,12 @@ static InstancePtr CreateTypeMirror(const AbstractType& type) { if (type.IsFunctionType()) { return CreateFunctionTypeMirror(type); } + if (type.IsRecordType()) { + const Class& cls = + Class::Handle(IsolateGroup::Current()->object_store()->record_class()); + return CreateClassMirror(cls, AbstractType::Handle(cls.DeclarationType()), + Bool::False(), Object::null_instance()); + } if (type.HasTypeClass()) { const Class& cls = Class::Handle(type.type_class()); // Handle void and dynamic types. diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart index 6e49e9b9359..3086a67eef7 100644 --- a/runtime/observatory/lib/src/service/object.dart +++ b/runtime/observatory/lib/src/service/object.dart @@ -2782,9 +2782,9 @@ M.InstanceKind stringToInstanceKind(String s) { return M.InstanceKind.typeRef; case 'ReceivePort': return M.InstanceKind.receivePort; - case '_RecordType': + case 'RecordType': return M.InstanceKind.recordType; - case '_Record': + case 'Record': return M.InstanceKind.record; case 'Finalizer': return M.InstanceKind.finalizer;