diff options
author | 2021-09-24 15:33:02 -0700 | |
---|---|---|
committer | 2021-09-24 15:33:02 -0700 | |
commit | bdfb5a91b14a129df1b1a5d46aae5c8ef2ea2fd8 (patch) | |
tree | a05e1fff6e3cfbdaaf8fbbf247d62f4a0be56ced /src/ast/ast.js | |
parent | 29b986684dd157183b258a2598df102e0e4c9055 (diff) | |
download | bun-bdfb5a91b14a129df1b1a5d46aae5c8ef2ea2fd8.tar.gz bun-bdfb5a91b14a129df1b1a5d46aae5c8ef2ea2fd8.tar.zst bun-bdfb5a91b14a129df1b1a5d46aae5c8ef2ea2fd8.zip |
macro
Diffstat (limited to 'src/ast/ast.js')
-rw-r--r-- | src/ast/ast.js | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/ast/ast.js b/src/ast/ast.js new file mode 100644 index 000000000..06be333c5 --- /dev/null +++ b/src/ast/ast.js @@ -0,0 +1,106 @@ +globalThis.BunASTNode ??= class BunASTNode { + position = -1; +}; + +if (!globalThis.BunAST) { + globalThis.BunAST = { + EArray: class EArray extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EUnary: class EUnary extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EBinary: class EBinary extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EClass: class EClass extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ENew: class ENew extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EFunction: class EFunction extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ECall: class ECall extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EDot: class EDot extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EIndex: class EIndex extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EArrow: class EArrow extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EIdentifier: class EIdentifier extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EImportIdentifier: class EImportIdentifier extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EPrivateIdentifier: class EPrivateIdentifier extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EJsxElement: class EJsxElement extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EObject: class EObject extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ESpread: class ESpread extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ETemplatePart: class ETemplatePart extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ETemplate: class ETemplate extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ERegExp: class ERegExp extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EAwait: class EAwait extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EYield: class EYield extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EIf: class EIf extends BunASTNode { + no = Number.MAX_SAFE_INTEGER; + yes = Number.MAX_SAFE_INTEGER; + }, + ERequire: class ERequire extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EImport: class EImport extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EBoolean: class EBoolean extends BunASTNode { + val = false; + }, + ENumber: class ENumber extends BunASTNode { + val = 0; + }, + EBigInt: class EBigInt extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EString: class EString extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EMissing: class EMissing extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EThis: class EThis extends BunASTNode {}, + ESuper: class ESuper extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + ENull: class ENull extends BunASTNode {}, + EUndefined: class EUndefined extends BunASTNode {}, + ENewTarget: class ENewTarget extends BunASTNode { + #ptr = Number.MAX_SAFE_INTEGER; + }, + EImportMeta: class EImportMeta extends BunASTNode {}, + }; +} |