diff --git a/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart b/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart index 0717c450a31..2ad7abbfe6b 100644 --- a/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart +++ b/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart @@ -350,21 +350,7 @@ void runSharedTests( 'runtimeKind': 'list', 'length': 3, }); - // Old type system incorrectly returns 'dart:_interceptors|List' - }, skip: !setup.canaryFeatures); - - test('getObjectMetadata (List) (old types)', () async { - await driver.checkRuntimeInFrame( - breakpointId: 'BP', - expression: 'dart.getObjectMetadata(list)', - expectedResult: { - 'className': 'List', - 'libraryId': 'dart:_interceptors', - 'runtimeKind': 'list', - 'length': 3, - }); - // Old type system incorrectly returns 'dart:_interceptors|List' - }, skip: setup.canaryFeatures); + }); test('getObjectMetadata (Map)', () async { await driver.checkRuntimeInFrame( @@ -538,15 +524,33 @@ void runSharedTests( }); test('getObjectMetadata (Record type)', () async { + var typeName = await driver.evaluateDartExpressionInFrame( + breakpointId: 'BP', + expression: 'recordType.toString()', + ); + expect(typeName, '(int, int, {String name})'); + await driver.checkRuntimeInFrame( breakpointId: 'BP', expression: 'dart.getObjectMetadata(recordType)', expectedResult: { - 'className': 'RecordType', - 'libraryId': 'dart:_runtime', + 'className': 'Type', + 'libraryId': 'dart:core', 'runtimeKind': 'recordType', 'length': 3, }); + + await driver.checkInFrame( + breakpointId: 'BP', + expression: 'record is Record', + expectedResult: 'true', + ); + + await driver.checkInFrame( + breakpointId: 'BP', + expression: 'recordType is Type', + expectedResult: 'true', + ); }); test('getObjectFieldNames (object)', () async { diff --git a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart index eb97c550b02..ff3f983a642 100644 --- a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart +++ b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart @@ -316,8 +316,8 @@ Object getObjectMetadata(@notNull Object object) { if (_isRecordType(object)) { var elements = _recordTypeElementTypes(object); var length = _get(elements, 'length'); - _set(result, 'libraryId', 'dart:_runtime'); - _set(result, 'className', 'RecordType'); + _set(result, 'libraryId', 'dart:core'); + _set(result, 'className', 'Type'); _set(result, 'runtimeKind', RuntimeObjectKind.recordType); _set(result, 'length', length); } else {