From 5845c1cac4e782975de03971acc8150526bed8c5 Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Wed, 24 Jul 2019 00:39:05 -0400 Subject: [PATCH] Print V8IntrinsicIdentifier --- .../babel-generator/src/generators/expressions.js | 5 +++++ .../fixtures/misc/V8IntrinsicIdentifier/input.js | 1 + .../misc/V8IntrinsicIdentifier/options.json | 3 +++ .../fixtures/misc/V8IntrinsicIdentifier/output.js | 1 + packages/babel-types/src/definitions/misc.js | 13 ++++++++++++- 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/input.js create mode 100644 packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/options.json create mode 100644 packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/output.js diff --git a/packages/babel-generator/src/generators/expressions.js b/packages/babel-generator/src/generators/expressions.js index 4f9a525bd05e..62c3aca83bc0 100644 --- a/packages/babel-generator/src/generators/expressions.js +++ b/packages/babel-generator/src/generators/expressions.js @@ -264,3 +264,8 @@ export function PrivateName(node: Object) { this.token("#"); this.print(node.id, node); } + +export function V8IntrinsicIdentifier(node: Object) { + this.token("%"); + this.word(node.name); +} diff --git a/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/input.js b/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/input.js new file mode 100644 index 000000000000..613a26cd98c7 --- /dev/null +++ b/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/input.js @@ -0,0 +1 @@ +%DebugPrint(foo); diff --git a/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/options.json b/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/options.json new file mode 100644 index 000000000000..609458c2c65e --- /dev/null +++ b/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["v8intrinsic"] +} diff --git a/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/output.js b/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/output.js new file mode 100644 index 000000000000..613a26cd98c7 --- /dev/null +++ b/packages/babel-generator/test/fixtures/misc/V8IntrinsicIdentifier/output.js @@ -0,0 +1 @@ +%DebugPrint(foo); diff --git a/packages/babel-types/src/definitions/misc.js b/packages/babel-types/src/definitions/misc.js index e319235b2c15..58b624380dbc 100644 --- a/packages/babel-types/src/definitions/misc.js +++ b/packages/babel-types/src/definitions/misc.js @@ -1,5 +1,9 @@ // @flow -import defineType, { assertNodeType, assertOneOf } from "./utils"; +import defineType, { + assertNodeType, + assertOneOf, + assertValueType, +} from "./utils"; import { PLACEHOLDERS } from "./placeholders"; defineType("Noop", { @@ -19,3 +23,10 @@ defineType("Placeholder", { }, }, }); + +defineType("V8IntrinsicIdentifier", { + builder: ["name"], + fields: { + name: assertValueType("string"), + }, +});