From 02b115d4201a1e74819309dc7e3eb1aaee5693b7 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Fri, 17 Mar 2023 17:45:06 -0700 Subject: [PATCH 1/3] Prepare for variable names changes due to patterns support in DDC --- dwds/lib/src/debugging/dart_scope.dart | 20 ++++-- .../src/services/expression_evaluator.dart | 4 ++ dwds/test/evaluate_common.dart | 28 +++++++++ dwds/test/variable_scope_test.dart | 62 ++++++++++++++----- 4 files changed, 96 insertions(+), 18 deletions(-) diff --git a/dwds/lib/src/debugging/dart_scope.dart b/dwds/lib/src/debugging/dart_scope.dart index 2142f9617..f929d971b 100644 --- a/dwds/lib/src/debugging/dart_scope.dart +++ b/dwds/lib/src/debugging/dart_scope.dart @@ -6,9 +6,19 @@ import 'package:dwds/src/debugging/debugger.dart'; import 'package:dwds/src/utilities/objects.dart'; import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'; -// TODO(sdk/issues/44262) - use an alternative way to identify synthetic -// variables. -final ddcTemporaryVariableRegExp = RegExp(r'^(t[0-9]+\$?[0-9]*|__t[\$\w*]+)$'); +/// The regular expressions used to filter out temp variables. +/// Needs to be kept in sync with SDK repo. +/// +/// TODO(annagrin) - use an alternative way to identify +/// synthetic variables. +/// Issue: https://github.com/dart-lang/sdk/issues/44262 +final ddcTemporaryVariableRegExp = RegExp(r'^t(\$[0-9]*)+\w*$'); +final ddcTemporaryTypeVariableRegExp = RegExp(r'^__t[\$\w*]+$'); + +/// Temporary variable regex before SDK changes for patterns. +/// TODO(annagrin): remove after dart 3.0 is stable. +final previousDdcTemporaryVariableRegExp = + RegExp(r'^(t[0-9]+\$?[0-9]*|__t[\$\w*]+)$'); /// Find the visible Dart properties from a JS Scope Chain, coming from the /// scopeChain attribute of a Chrome CallFrame corresponding to [frame]. @@ -65,7 +75,9 @@ Future> visibleProperties({ // Dart generic function, where the type arguments get passed in as // parameters. Hide those. return (type == 'function' && description.startsWith('class ')) || - (ddcTemporaryVariableRegExp.hasMatch(name)) || + previousDdcTemporaryVariableRegExp.hasMatch(name) || + ddcTemporaryVariableRegExp.hasMatch(name) || + ddcTemporaryTypeVariableRegExp.hasMatch(name) || (type == 'object' && description == 'dart.LegacyType.new'); }); diff --git a/dwds/lib/src/services/expression_evaluator.dart b/dwds/lib/src/services/expression_evaluator.dart index 55e53baa0..7344181ac 100644 --- a/dwds/lib/src/services/expression_evaluator.dart +++ b/dwds/lib/src/services/expression_evaluator.dart @@ -207,6 +207,10 @@ class ExpressionEvaluator { // Compile expression using an expression compiler, such as // frontend server or expression compiler worker. + // + // TODO(annagrin): map JS locals to dart locals in the expression + // and JS scope before passing them to the dart expression compiler. + // Issue: https://github.com/dart-lang/sdk/issues/40273 final compilationResult = await _compiler.compileExpressionToJs( isolateId, libraryUri.toString(), diff --git a/dwds/test/evaluate_common.dart b/dwds/test/evaluate_common.dart index 49613c976..408d62dfa 100644 --- a/dwds/test/evaluate_common.dart +++ b/dwds/test/evaluate_common.dart @@ -105,6 +105,27 @@ void testAll({ await context.service.resume(isolateId); }); + test('extension method scope variables can be evaluated', () async { + await onBreakPoint(isolateId, mainScript, 'extension', () async { + final event = await stream + .firstWhere((event) => event.kind == EventKind.kPauseBreakpoint); + + final stack = await context.service.getStack(isolateId); + final scope = _getFrameVariables(stack.frames!.first); + for (var p in scope.entries) { + final name = p.key; + final value = p.value as InstanceRef; + final result = await context.service + .evaluateInFrame(isolateId, event.topFrame!.index!, name!); + + expect( + result, + isA().having((instance) => instance.valueAsString, + 'valueAsString', value.valueAsString)); + } + }); + }, skip: 'https://github.com/dart-lang/webdev/issues/1371'); + test('uses correct null safety mode', () async { await onBreakPoint(isolateId, mainScript, 'printLocal', () async { final event = await stream @@ -695,3 +716,10 @@ void testAll({ }); }); } + +Map _getFrameVariables(Frame frame) { + return { + for (var variable in frame.vars!) + variable.name: variable.value as InstanceRef?, + }; +} diff --git a/dwds/test/variable_scope_test.dart b/dwds/test/variable_scope_test.dart index bdda5cb01..3c2f49f74 100644 --- a/dwds/test/variable_scope_test.dart +++ b/dwds/test/variable_scope_test.dart @@ -7,6 +7,7 @@ import 'package:dwds/src/debugging/dart_scope.dart'; import 'package:dwds/src/services/chrome_proxy_service.dart'; import 'package:test/test.dart'; +import 'package:test_common/logging.dart'; import 'package:test_common/test_sdk_configuration.dart'; import 'package:vm_service/vm_service.dart'; @@ -14,36 +15,67 @@ import 'fixtures/context.dart'; import 'fixtures/project.dart'; void main() { - final provider = TestSdkConfigurationProvider(); + // set to true for debug logging. + final debug = false; + + final provider = TestSdkConfigurationProvider(verbose: debug); tearDownAll(provider.dispose); final context = TestContext(TestProject.testScopesWithSoundNullSafety, provider); setUpAll(() async { - await context.setUp(); + setCurrentLogWriter(debug: debug); + await context.setUp(verboseCompiler: debug); }); tearDownAll(() async { await context.tearDown(); }); - group('ddcTemporaryVariableRegExp', () { - test('matches correctly', () { - expect(ddcTemporaryVariableRegExp.hasMatch(r't4$'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r't4$0'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r't4$10'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r't4$0'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r't1'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r't10'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r'__t$TL'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r'__t$StringN'), isTrue); - expect(ddcTemporaryVariableRegExp.hasMatch(r'__t$IdentityMapOfString$T'), + group('temporary variable regular expression', () { + setUpAll(() => setCurrentLogWriter(debug: debug)); + test('matches correctly for pre-patterns temporary variables', () { + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't4$'), isTrue); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't4$0'), isTrue); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't4$10'), isTrue); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't4$0'), isTrue); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't1'), isTrue); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't10'), isTrue); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r'__t$TL'), isTrue); + expect( + previousDdcTemporaryVariableRegExp.hasMatch(r'__t$StringN'), isTrue); + expect( + previousDdcTemporaryVariableRegExp + .hasMatch(r'__t$IdentityMapOfString$T'), + isTrue); + + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't'), isFalse); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't10foo'), isFalse); + expect(previousDdcTemporaryVariableRegExp.hasMatch(r't$10foo'), isFalse); + }); + + test('matches correctly for post-patterns temporary variables', () { + expect(ddcTemporaryVariableRegExp.hasMatch(r't$364$'), isTrue); + expect(ddcTemporaryVariableRegExp.hasMatch(r't$364$0'), isTrue); + expect(ddcTemporaryVariableRegExp.hasMatch(r't$364$10'), isTrue); + expect(ddcTemporaryVariableRegExp.hasMatch(r't$364$0'), isTrue); + expect(ddcTemporaryVariableRegExp.hasMatch(r't$361'), isTrue); + expect(ddcTemporaryVariableRegExp.hasMatch(r't$36$350$350'), isTrue); + expect( + ddcTemporaryVariableRegExp.hasMatch(r't$36$350$354$35isSet'), isTrue); + expect(ddcTemporaryTypeVariableRegExp.hasMatch(r'__t$TL'), isTrue); + expect(ddcTemporaryTypeVariableRegExp.hasMatch(r'__t$StringN'), isTrue); + expect( + ddcTemporaryTypeVariableRegExp.hasMatch(r'__t$IdentityMapOfString$T'), isTrue); expect(ddcTemporaryVariableRegExp.hasMatch(r't'), isFalse); + expect(ddcTemporaryVariableRegExp.hasMatch(r'this'), isFalse); + expect(ddcTemporaryVariableRegExp.hasMatch(r'\$this'), isFalse); + expect(ddcTemporaryVariableRegExp.hasMatch(r't10'), isFalse); expect(ddcTemporaryVariableRegExp.hasMatch(r't10foo'), isFalse); - expect(ddcTemporaryVariableRegExp.hasMatch(r't$10foo'), isFalse); + expect(ddcTemporaryVariableRegExp.hasMatch(r'ten'), isFalse); }); }); @@ -109,6 +141,8 @@ void main() { }; } + setUpAll(() => setCurrentLogWriter(debug: debug)); + setUp(() async { service = context.service; vm = await service.getVM(); From 5f6974bbc1e2a11c1765d3712027a51eada35e69 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Fri, 17 Mar 2023 17:58:24 -0700 Subject: [PATCH 2/3] Update version and build --- dwds/CHANGELOG.md | 4 + dwds/lib/src/injected/client.js | 132 ++++++++++++++------------------ dwds/lib/src/version.dart | 2 +- dwds/pubspec.yaml | 2 +- 4 files changed, 62 insertions(+), 78 deletions(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index f8ab2795c..848870a8e 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -1,3 +1,7 @@ +## 18.0.2-dev + +- Support new DDC temp names for patterns. - [#2042](https://github.com/dart-lang/webdev/pull/2042) + ## 18.0.1 - Fix failure to map JS exceptions to dart. - [#2004](https://github.com/dart-lang/webdev/pull/2004) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index df9a286be..8774cbc43 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, deferred-serialization, intern-composite-values), the Dart to JavaScript compiler version: 3.0.0-290.2.beta. +// Generated by dart2js (NullSafetyMode.sound, csp, deferred-serialization, intern-composite-values), the Dart to JavaScript compiler version: 3.0.0-322.0.dev. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -46,7 +46,7 @@ }; cls.prototype = {p: {}}; var object = new cls(); - if (!(object.__proto__ && object.__proto__.p === cls.prototype.p)) + if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p)) return false; try { if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) @@ -65,7 +65,7 @@ cls.prototype["$is" + cls.name] = cls; if (sup != null) { if (supportsDirectProtoAccess) { - cls.prototype.__proto__ = sup.prototype; + Object.setPrototypeOf(cls.prototype, sup.prototype); return; } var clsPrototype = Object.create(sup.prototype); @@ -2927,7 +2927,7 @@ return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; }, _Parser_parse(parser) { - var t2, i, ch, t3, array, head, base, end, item, + var t2, i, ch, t3, array, end, item, source = parser.r, t1 = parser.s; for (t2 = source.length, i = 0; i < t2;) { @@ -2969,24 +2969,7 @@ parser.p = t1.length; break; case 62: - t3 = parser.u; - array = t1.splice(parser.p); - A._Parser_toTypes(parser.u, parser.e, array); - parser.p = t1.pop(); - head = t1.pop(); - if (typeof head == "string") - t1.push(A._Universe__lookupInterfaceRti(t3, head, array)); - else { - base = A._Parser_toType(t3, parser.e, head); - switch (base._kind) { - case 12: - t1.push(A._Universe__lookupGenericFunctionRti(t3, base, array, parser.n)); - break; - default: - t1.push(A._Universe__lookupBindingRti(t3, base, array)); - break; - } - } + A._Parser_handleTypeArguments(parser, t1); break; case 38: A._Parser_handleExtendedOperations(parser, t1); @@ -3093,6 +3076,25 @@ stack.push(string); return i; }, + _Parser_handleTypeArguments(parser, stack) { + var base, + t1 = parser.u, + $arguments = A._Parser_collectArray(parser, stack), + head = stack.pop(); + if (typeof head == "string") + stack.push(A._Universe__lookupInterfaceRti(t1, head, $arguments)); + else { + base = A._Parser_toType(t1, parser.e, head); + switch (base._kind) { + case 12: + stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n)); + break; + default: + stack.push(A._Universe__lookupBindingRti(t1, base, $arguments)); + break; + } + } + }, _Parser_handleArguments(parser, stack) { var optionalPositional, named, requiredPositional, returnType, parameters, _null = null, t1 = parser.u, @@ -6900,7 +6902,7 @@ return t1; }, HttpRequest_request(url, method, responseType, withCredentials) { - var t2, t3, t4, + var t2, t3, t1 = new A._Future($.Zone__current, type$._Future_HttpRequest), completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest), xhr = new XMLHttpRequest(); @@ -6910,11 +6912,9 @@ if (responseType != null) xhr.responseType = responseType; t2 = type$.nullable_void_Function_ProgressEvent; - t3 = t2._as(new A.HttpRequest_request_closure(xhr, completer)); - type$.nullable_void_Function._as(null); - t4 = type$.ProgressEvent; - A._EventStreamSubscription$(xhr, "load", t3, false, t4); - A._EventStreamSubscription$(xhr, "error", t2._as(completer.get$completeError()), false, t4); + t3 = type$.ProgressEvent; + A._EventStreamSubscription$(xhr, "load", t2._as(new A.HttpRequest_request_closure(xhr, completer)), false, t3); + A._EventStreamSubscription$(xhr, "error", t2._as(completer.get$completeError()), false, t3); xhr.send(); return t1; }, @@ -8858,10 +8858,10 @@ }, LegacyRestarter: function LegacyRestarter() { }, - LegacyRestarter_restart_closure: function LegacyRestarter_restart_closure(t0) { + LegacyRestarter_restart_closure0: function LegacyRestarter_restart_closure0(t0) { this.reloadCompleter = t0; }, - LegacyRestarter_restart_closure0: function LegacyRestarter_restart_closure0(t0) { + LegacyRestarter_restart_closure: function LegacyRestarter_restart_closure(t0) { this.sub = t0; }, ReloadingManager: function ReloadingManager(t0, t1) { @@ -12526,7 +12526,6 @@ }, asFuture$1$1(futureValue, $E) { var result, t1 = {}; - $E._eval$1("0?")._as(futureValue); t1.resultValue = null; if (!$E._is(null)) throw A.wrapException(A.ArgumentError$notNull("futureValue")); @@ -15067,15 +15066,11 @@ }; A.JsonCodec.prototype = { decode$2$reviver(_, source, reviver) { - var t1; - type$.nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object._as(reviver); - t1 = A._parseJson(source, this.get$decoder()._reviver); + var t1 = A._parseJson(source, this.get$decoder()._reviver); return t1; }, encode$2$toEncodable(value, toEncodable) { - var t1; - type$.nullable_nullable_Object_Function_dynamic._as(toEncodable); - t1 = A._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null); + var t1 = A._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null); return t1; }, get$encoder() { @@ -18326,15 +18321,10 @@ _this.sanitizeTree$1(t1); } }, - $isNodeTreeSanitizer: 1 - }; - A._ValidatingTreeSanitizer_sanitizeTree_walk.prototype = { - call$2(node, $parent) { - var child, nextChild, t2, t3, t4, exception, - t1 = this.$this; + sanitizeNode$2(node, $parent) { switch (node.nodeType) { case 1: - t1._sanitizeUntrustedElement$2(node, $parent); + this._sanitizeUntrustedElement$2(node, $parent); break; case 8: case 11: @@ -18342,8 +18332,16 @@ case 4: break; default: - t1._removeNode$2(node, $parent); + this._removeNode$2(node, $parent); } + }, + $isNodeTreeSanitizer: 1 + }; + A._ValidatingTreeSanitizer_sanitizeTree_walk.prototype = { + call$2(node, $parent) { + var child, nextChild, t2, t3, t4, exception, + t1 = this.$this; + t1.sanitizeNode$2(node, $parent); child = node.lastChild; for (t2 = type$.Node; child != null;) { nextChild = null; @@ -23978,7 +23976,7 @@ A.PoolResource.prototype = {}; A.SseClient.prototype = { SseClient$2$debugKey(serverUrl, debugKey) { - var t2, t3, t4, _this = this, + var t2, _this = this, t1 = serverUrl + "?sseClientId=" + _this._clientId; _this.__SseClient__serverUrl_A = t1; t1 = A.EventSource__factoryEventSource(t1, A.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic)); @@ -23987,13 +23985,10 @@ t1.get$first(t1).whenComplete$1(new A.SseClient_closure(_this)); B.EventSource_methods.addEventListener$2(_this.__SseClient__eventSource_A, "message", _this.get$_onIncomingMessage()); B.EventSource_methods.addEventListener$2(_this.__SseClient__eventSource_A, "control", _this.get$_onIncomingControlMessage()); - t1 = _this.__SseClient__eventSource_A; - t2 = type$.nullable_void_Function_Event; - t3 = t2._as(new A.SseClient_closure0(_this)); - type$.nullable_void_Function._as(null); - t4 = type$.Event; - A._EventStreamSubscription$(t1, "open", t3, false, t4); - A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t2._as(new A.SseClient_closure1(_this)), false, t4); + t1 = type$.nullable_void_Function_Event; + t2 = type$.Event; + A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2); + A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2); }, close$0(_) { var _this = this, @@ -24480,9 +24475,7 @@ t1 = new A._EventStream(t2, "error", false, type$._EventStream_Event); t3 = type$.Null; t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t3); - t1 = type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)); - type$.nullable_void_Function._as(null); - A._EventStreamSubscription$(t2, "message", t1, false, type$.MessageEvent); + A._EventStreamSubscription$(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent); t2 = new A._EventStream(t2, "close", false, type$._EventStream_CloseEvent); t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3); }, @@ -24627,12 +24620,8 @@ self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String); self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function); client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); - if (A.boolConversionCheck(self.$dwdsEnableDevtoolsLaunch)) { - t1 = window; - t2 = type$.nullable_void_Function_KeyboardEvent._as(new A.main__closure6()); - type$.nullable_void_Function._as(null); - A._EventStreamSubscription$(t1, "keydown", t2, false, type$.KeyboardEvent); - } + if (A.boolConversionCheck(self.$dwdsEnableDevtoolsLaunch)) + A._EventStreamSubscription$(window, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.main__closure6()), false, type$.KeyboardEvent); if (B.JSString_methods.contains$1(window.navigator.vendor, "Google")) { t1 = client.get$sink(); t2 = $.$get$serializers(); @@ -24945,7 +24934,7 @@ restart$1$runId(runId) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, t1, t2, t3, dartLibrary; + $async$returnValue, t1, dartLibrary; var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24962,10 +24951,7 @@ dartLibrary.callMethod$2("reload", [A._wrapToDart(A.JsObject__convertDataTree(t1))]); } t1 = new A._Future($.Zone__current, type$._Future_bool); - t2 = window; - t3 = type$.nullable_void_Function_MessageEvent._as(new A.LegacyRestarter_restart_closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))); - type$.nullable_void_Function._as(null); - $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure0(A._EventStreamSubscription$(t2, "message", t3, false, type$.MessageEvent)), type$.bool); + $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(window, "message", type$.nullable_void_Function_MessageEvent._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, type$.MessageEvent)), type$.bool); // goto return $async$goto = 1; break; @@ -24978,7 +24964,7 @@ }, $isRestarter: 1 }; - A.LegacyRestarter_restart_closure.prototype = { + A.LegacyRestarter_restart_closure0.prototype = { call$1($event) { var t1, message = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true); @@ -24992,7 +24978,7 @@ }, $signature: 33 }; - A.LegacyRestarter_restart_closure0.prototype = { + A.LegacyRestarter_restart_closure.prototype = { call$1(value) { A._asBool(value); this.sub.cancel$0(0); @@ -25014,7 +25000,6 @@ // Function start t1 = $async$self._client.get$sink(); t2 = $.$get$serializers(); - type$.nullable_void_Function_IsolateExitBuilder._as(null); t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(new A.IsolateExitBuilder()._isolate_events$_build$0()), null)); $async$goto = 3; return A._asyncAwait($async$self._restarter.restart$1$runId(runId), $async$hotRestart$1$runId); @@ -25042,7 +25027,6 @@ return; t1 = this._client.get$sink(); t2 = $.$get$serializers(); - type$.nullable_void_Function_IsolateStartBuilder._as(null); t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(new A.IsolateStartBuilder()._isolate_events$_build$0()), null)); } }; @@ -25569,7 +25553,7 @@ _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin, A.CastSet, A.CastQueue]); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.stronglyConnectedComponents_strongConnect, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.LegacyRestarter_restart_closure, A.LegacyRestarter_restart_closure0, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.stronglyConnectedComponents_strongConnect, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]); _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A.SplayTreeSet__newSet_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); _inherit(A.CastList, A._CastListBase); _inherit(A.MapBase, A.MapMixin); @@ -26024,8 +26008,6 @@ nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"), nullable_dynamic_Function_Event: findType("@(Event)?"), nullable_int_Function_Node_Node: findType("int(Node,Node)?"), - nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object: findType("Object?(Object?,Object?)?"), - nullable_nullable_Object_Function_dynamic: findType("Object?(@)?"), nullable_void_Function: findType("~()?"), nullable_void_Function_BatchedDebugEventsBuilder: findType("~(BatchedDebugEventsBuilder)?"), nullable_void_Function_ConnectRequestBuilder: findType("~(ConnectRequestBuilder)?"), @@ -26033,8 +26015,6 @@ nullable_void_Function_DebugInfoBuilder: findType("~(DebugInfoBuilder)?"), nullable_void_Function_DevToolsRequestBuilder: findType("~(DevToolsRequestBuilder)?"), nullable_void_Function_Event: findType("~(Event)?"), - nullable_void_Function_IsolateExitBuilder: findType("~(IsolateExitBuilder)?"), - nullable_void_Function_IsolateStartBuilder: findType("~(IsolateStartBuilder)?"), nullable_void_Function_KeyboardEvent: findType("~(KeyboardEvent)?"), nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"), nullable_void_Function_ProgressEvent: findType("~(ProgressEvent)?"), diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart index 684467505..ced93aeba 100644 --- a/dwds/lib/src/version.dart +++ b/dwds/lib/src/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '18.0.1'; +const packageVersion = '18.0.2-dev'; diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml index 363229434..8fc97b5aa 100644 --- a/dwds/pubspec.yaml +++ b/dwds/pubspec.yaml @@ -1,6 +1,6 @@ name: dwds # Every time this changes you need to run `dart run build_runner build`. -version: 18.0.1 +version: 18.0.2-dev description: >- A service that proxies between the Chrome debug protocol and the Dart VM service protocol. From 6459ffdb928c244779daf11141780a1ba264dac0 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Mon, 20 Mar 2023 11:18:39 -0700 Subject: [PATCH 3/3] Update webdev to dev version and use local dwds in test_common --- test_common/pubspec.yaml | 6 ++---- webdev/CHANGELOG.md | 2 ++ webdev/lib/src/version.dart | 2 +- webdev/pubspec.yaml | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/test_common/pubspec.yaml b/test_common/pubspec.yaml index 9de35b274..4c1119d4d 100644 --- a/test_common/pubspec.yaml +++ b/test_common/pubspec.yaml @@ -6,7 +6,8 @@ environment: sdk: ">=3.0.0-134.0.dev <4.0.0" dependencies: - dwds: 18.0.1 + dwds: + path: ../dwds file: ^6.1.3 logging: ^1.0.1 path: ^1.8.1 @@ -15,6 +16,3 @@ dependencies: dev_dependencies: lints: ^2.0.0 -# dependency_overrides: -# dwds: -# path: ../dwds diff --git a/webdev/CHANGELOG.md b/webdev/CHANGELOG.md index 73c9f4a54..080e3d340 100644 --- a/webdev/CHANGELOG.md +++ b/webdev/CHANGELOG.md @@ -1,3 +1,5 @@ +## 3.0.3-dev + ## 3.0.2 - Update `build_daemon` constraint to `^4.0.0`. diff --git a/webdev/lib/src/version.dart b/webdev/lib/src/version.dart index a012e6b5c..5dce71129 100644 --- a/webdev/lib/src/version.dart +++ b/webdev/lib/src/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '3.0.2'; +const packageVersion = '3.0.3-dev'; diff --git a/webdev/pubspec.yaml b/webdev/pubspec.yaml index bf35ce0c7..db3df782d 100644 --- a/webdev/pubspec.yaml +++ b/webdev/pubspec.yaml @@ -1,6 +1,6 @@ name: webdev # Every time this changes you need to run `dart run build_runner build`. -version: 3.0.2 +version: 3.0.3-dev # We should not depend on a dev SDK before publishing. # publish_to: none description: >- @@ -52,9 +52,9 @@ dev_dependencies: webdriver: ^3.0.0 # Comment out before releasing webdev. -# dependency_overrides: -# dwds: -# path: ../dwds +dependency_overrides: + dwds: + path: ../dwds executables: webdev: