From d36cef7496fb6c9549eb599407bd8ebaeb3d7152 Mon Sep 17 00:00:00 2001 From: Sam Roberts Date: Mon, 16 Sep 2019 13:54:01 -0700 Subject: [PATCH] deps: V8: cherry-pick 35c6d4d Original commit message: Make code generator python3.7 compatible (async keyword). Change-Id: Ifcd8b8cb1de60a007c7bbd4564d7869e83cb7109 Fixes: https://github.com/nodejs/node/issues/29548 Refs: - https://github.com/nodejs/node/issues/29548#issuecomment-531717985 - https://github.com/nodejs/node/pull/29520 - https://github.com/nodejs/node/pull/29340 - https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/1781351 - https://chromium.googlesource.com/deps/inspector_protocol/+/35c6d4d0d80b42d81bd00bcb1eb2b1093c80ed0a PR-URL: https://github.com/nodejs/node/pull/29585 Refs: https://github.com/nodejs/node/pull/29520 Reviewed-By: Christian Clauss Reviewed-By: Richard Lau Reviewed-By: Colin Ihrig Reviewed-By: Ben Noordhuis Reviewed-By: Ruben Bridgewater --- deps/v8/third_party/inspector_protocol/code_generator.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/deps/v8/third_party/inspector_protocol/code_generator.py b/deps/v8/third_party/inspector_protocol/code_generator.py index 7c72cc70e4fbeb..5cf5a308c5e6a0 100755 --- a/deps/v8/third_party/inspector_protocol/code_generator.py +++ b/deps/v8/third_party/inspector_protocol/code_generator.py @@ -43,6 +43,9 @@ def json_object_hook(object_dict): items = [(k, os.path.join(output_base, v) if k == "output" else v) for (k, v) in items] keys, values = list(zip(*items)) + # 'async' is a keyword since Python 3.7. + # Avoid namedtuple(rename=True) for compatibility with Python 2.X. + keys = tuple('async_' if k == 'async' else k for k in keys) return collections.namedtuple('X', keys)(*values) return json.loads(data, object_hook=json_object_hook) @@ -555,7 +558,7 @@ def is_async_command(self, domain, command): if not self.config.protocol.options: return False return self.check_options(self.config.protocol.options, domain, command, - "async", None, False) + "async_", None, False) def is_exported(self, domain, name): if not self.config.protocol.options: