@ibyar/expressions 3.1.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/v8/factory.js CHANGED
@@ -325,9 +325,9 @@ export class ExpressionNodeFactory {
325
325
  const loc = this.rangeFactory?.createSourcePosition(range);
326
326
  return new ClassBody(body, range, loc);
327
327
  }
328
- createNamespaceExportDeclaration(specifiers, declaration, source, assertions, range) {
328
+ createNamespaceExportDeclaration(specifiers, declaration, source, attributes, range) {
329
329
  const loc = this.rangeFactory?.createSourcePosition(range);
330
- return new ExportNamedDeclaration(specifiers, declaration, source, assertions, range, loc);
330
+ return new ExportNamedDeclaration(specifiers, declaration, source, attributes, range, loc);
331
331
  }
332
332
  createExportSpecifier(local, exported, range) {
333
333
  const loc = this.rangeFactory?.createSourcePosition(range);
@@ -337,9 +337,9 @@ export class ExpressionNodeFactory {
337
337
  const loc = this.rangeFactory?.createSourcePosition(range);
338
338
  return new ImportSpecifier(local, imported, range, loc);
339
339
  }
340
- createImportDeclaration(source, specifiers, assertions, range) {
340
+ createImportDeclaration(source, specifiers, attributes, range) {
341
341
  const loc = this.rangeFactory?.createSourcePosition(range);
342
- return new ImportDeclaration(source, specifiers, assertions, range, loc);
342
+ return new ImportDeclaration(source, specifiers, attributes, range, loc);
343
343
  }
344
344
  createImportNamespaceSpecifier(local, range) {
345
345
  const loc = this.rangeFactory?.createSourcePosition(range);
@@ -353,7 +353,7 @@ export class ExpressionNodeFactory {
353
353
  const loc = this.rangeFactory?.createSourcePosition(range);
354
354
  return new ImportExpression(source, attributes, range, loc);
355
355
  }
356
- createAssertEntry(key, value, range) {
356
+ createImportWithEntry(key, value, range) {
357
357
  const loc = this.rangeFactory?.createSourcePosition(range);
358
358
  return new ImportAttribute(key, value, range, loc);
359
359
  }
@@ -361,9 +361,9 @@ export class ExpressionNodeFactory {
361
361
  const loc = this.rangeFactory?.createSourcePosition(range);
362
362
  return new ExportDefaultDeclaration(declaration, range, loc);
363
363
  }
364
- createExportAllDeclaration(source, exported, assertions, range) {
364
+ createExportAllDeclaration(source, exported, attributes, range) {
365
365
  const loc = this.rangeFactory?.createSourcePosition(range);
366
- return new ExportAllDeclaration(source, exported, assertions, range, loc);
366
+ return new ExportAllDeclaration(source, exported, attributes, range, loc);
367
367
  }
368
368
  createInfixExpression(op, left, right, range) {
369
369
  const loc = this.rangeFactory?.createSourcePosition(range);
package/v8/factory.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/expressions/v8/factory.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tAccessorProperty, ClassBody, ClassDeclaration, ClassExpression,\n\tMetaProperty, MethodDefinition, MethodDefinitionKind, PrivateIdentifier,\n\tPropertyDefinition, StaticBlock, Super\n} from '../api/class/class.js';\nimport { Decorator } from '../api/class/decorator.js';\nimport { CallExpression } from '../api/computing/call.js';\nimport { DebuggerStatement } from '../api/computing/debugger.js';\nimport { NewExpression } from '../api/computing/new.js';\nimport { RestElement } from '../api/computing/rest.js';\nimport { ReturnStatement } from '../api/computing/return.js';\nimport { SpreadElement } from '../api/computing/spread.js';\nimport {\n\tCatchClauseNode, ThrowStatement, TryCatchNode\n} from '../api/computing/throw.js';\nimport { YieldExpression } from '../api/computing/yield.js';\nimport { ArrayExpression, ArrayPattern } from '../api/definition/array.js';\nimport { BindExpression } from '../api/definition/bind.js';\nimport {\n\tArrowFunctionExpression, AssignmentPattern, FunctionDeclaration, FunctionExpression\n} from '../api/definition/function.js';\nimport { MemberExpression } from '../api/definition/member.js';\nimport {\n\tObjectExpression, ObjectPattern, Property\n} from '../api/definition/object.js';\nimport { ExpressionStatement } from '../api/definition/statement.js';\nimport {\n\tIdentifier, Literal, TaggedTemplateExpression, TemplateLiteral, ThisExpression\n} from '../api/definition/values.js';\nimport {\n\tDeclarationExpression, ExpressionNode, SourceLocation\n} from '../api/expression.js';\nimport { ImportAttribute } from '../api/module/common.js';\nimport {\n\tExportAllDeclaration, ExportDefaultDeclaration,\n\tExportNamedDeclaration, ExportSpecifier\n} from '../api/module/export.js';\nimport {\n\tImportDeclaration, ImportDefaultSpecifier, ImportExpression,\n\tImportNamespaceSpecifier, ImportSpecifier\n} from '../api/module/import.js';\nimport {\n\tAssignmentExpression, AssignmentOperator\n} from '../api/operators/assignment.js';\nimport { AwaitExpression } from '../api/operators/await.js';\nimport { BinaryExpression, BinaryOperator } from '../api/operators/binary.js';\nimport { ChainExpression } from '../api/operators/chaining.js';\nimport { SequenceExpression } from '../api/operators/comma.js';\nimport { GroupingExpression } from '../api/operators/grouping.js';\nimport { LogicalExpression, LogicalOperator } from '../api/operators/logical.js';\nimport { PipelineExpression } from '../api/operators/pipeline.js';\nimport { ConditionalExpression } from '../api/operators/ternary.js';\nimport { UnaryExpression, UnaryOperator } from '../api/operators/unary.js';\nimport { UpdateExpression, UpdateOperator } from '../api/operators/update.js';\nimport { Program, ProgramSourceType } from '../api/program.js';\nimport { BlockStatement } from '../api/statement/control/block.js';\nimport { EmptyStatement } from '../api/statement/control/empty.js';\nimport { IfStatement } from '../api/statement/control/if.js';\nimport {\n\tDefaultExpression, SwitchCase, SwitchStatement\n} from '../api/statement/control/switch.js';\nimport {\n\tBreakStatement, ContinueStatement, LabeledStatement\n} from '../api/statement/control/terminate.js';\nimport { WithStatement } from '../api/statement/control/with.js';\nimport {\n\tVariableDeclarationNode, VariableDeclarator\n} from '../api/statement/declarations/declares.js';\nimport {\n\tForAwaitOfNode, ForDeclaration, ForInNode, ForNode, ForOfNode\n} from '../api/statement/iterations/for.js';\nimport { DoWhileNode, WhileNode } from '../api/statement/iterations/while.js';\nimport type { NodeFactory, SourcePositionFactory } from './node.js';\n\n\nexport class ExpressionNodeSourcePosition implements SourcePositionFactory {\n\tprivate newLineRegex = new RegExp('\\n', 'g');\n\n\tconstructor(private source: string) { }\n\n\tprivate getLineNumber(index: number, defaultValue: number) {\n\t\treturn this.source.substring(0, index).match(this.newLineRegex)?.length ?? defaultValue;\n\t}\n\n\tprivate getColumnNumber(index: number) {\n\t\tconst end = this.source.lastIndexOf('\\n', index);\n\t\tif (end === -1) {\n\t\t\treturn index;\n\t\t}\n\t\treturn index - end - 1;\n\t}\n\n\tpublic createSourcePosition(range?: [number, number]): SourceLocation | undefined {\n\t\tif (!range || !this.source) {\n\t\t\treturn;\n\t\t}\n\t\tconst startLine = this.getLineNumber(range[0], 1);\n\t\tconst endLine = this.getLineNumber(range[1], startLine);\n\t\tconst startColumn = this.getColumnNumber(range[0]);\n\t\tconst endColumn = this.getColumnNumber(range[1]);\n\t\treturn {\n\t\t\tstart: { line: startLine, column: startColumn },\n\t\t\tend: { line: endLine, column: endColumn },\n\t\t};\n\t}\n\n}\n\nexport class ExpressionNodeFactory implements NodeFactory {\n\n\tconstructor(private rangeFactory?: SourcePositionFactory) { }\n\n\tcreateDebuggerStatement(range?: [number, number]): DebuggerStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DebuggerStatement(range, loc);\n\t}\n\n\tcreateSuper(range?: [number, number]): Super {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Super(range, loc);\n\t}\n\tcreateThis(range?: [number, number]): ThisExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThisExpression(range, loc);\n\t}\n\tcreateNull(range?: [number, number]): Literal<null> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(null, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateTrue(range?: [number, number]): Literal<true> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(true, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateFalse(range?: [number, number]): Literal<false> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(false, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateVoidZero(argument: ExpressionNode, range?: [number, number]): UnaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UnaryExpression('void', argument, range, loc);\n\t}\n\tcreateEmptyStatement(range?: [number, number]): EmptyStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new EmptyStatement(range, loc);\n\t}\n\tcreateExpressionStatement(list: ExpressionNode[], range?: [number, number]): ExpressionNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExpressionStatement(list, range, loc);\n\t}\n\tcreateCatchClause(block: BlockStatement, identifier?: ExpressionNode, range?: [number, number]): CatchClauseNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CatchClauseNode(block, identifier, range, loc);\n\t}\n\tcreateTryStatement(tryBlock: BlockStatement, catchBlock?: ExpressionNode, finallyBlock?: ExpressionNode, range?: [number, number]): TryCatchNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TryCatchNode(tryBlock, catchBlock, finallyBlock, range, loc);\n\t}\n\tcreateThrowStatement(exception: ExpressionNode, range?: [number, number]): ThrowStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThrowStatement(exception, range, loc);\n\t}\n\n\tcreateBlock(statements: ExpressionNode[], range?: [number, number]): BlockStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BlockStatement(statements, range, loc);\n\t}\n\tcreateIfStatement(condition: ExpressionNode, thenStatement: ExpressionNode, elseStatement?: ExpressionNode, range?: [number, number]): IfStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new IfStatement(condition, thenStatement, elseStatement, range, loc);\n\t}\n\tcreateDoStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): DoWhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DoWhileNode(condition, body, range, loc);\n\t}\n\tcreateClassDeclaration(body: ClassBody, decorators: Decorator[], id: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassDeclaration(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateFunctionDeclaration(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, name: Identifier, range?: [number, number]): FunctionDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionDeclaration(formals, bodyBlock, isAsync, isGenerator, name, range, loc);\n\t}\n\tcreateFunctionExpression(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, range?: [number, number]): FunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionExpression(formals, bodyBlock, isAsync, isGenerator, undefined, range, loc);\n\t}\n\tcreateWhileStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): WhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WhileNode(condition, body, range, loc);\n\t}\n\tcreateSwitchStatement(tag: ExpressionNode, cases: SwitchCase[], range?: [number, number] | undefined): SwitchStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchStatement(tag, cases, range, loc);\n\t}\n\tcreateCaseBlock(test: ExpressionNode, block: BlockStatement, range?: [number, number] | undefined): SwitchCase {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchCase(test, block, range, loc);\n\t}\n\tcreateDefaultClause(block: BlockStatement, range?: [number, number] | undefined): DefaultExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DefaultExpression(block, range, loc);\n\t}\n\tcreateWithStatement(object: ExpressionNode, body: ExpressionNode, range?: [number, number]): WithStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WithStatement(object, body, range, loc);\n\t}\n\tcreateForStatement(body: ExpressionNode, initializer: ExpressionNode, cond: ExpressionNode, next: ExpressionNode, range?: [number, number] | undefined): ForNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForNode(body, initializer, cond, next, range, loc);\n\t}\n\tcreateForOfStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForOfNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateForAwaitOfStatement(left: ForDeclaration, right: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForAwaitOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForAwaitOfNode(left, right, body, range, loc);\n\t}\n\tcreateForInStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number]): ForInNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForInNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateVariableDeclaration(id: DeclarationExpression, init?: ExpressionNode, range?: [number, number]): VariableDeclarator {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarator(id, init, range, loc);\n\t}\n\tcreateVariableStatement(variables: VariableDeclarator[], kind: 'let' | 'var' | 'const', range?: [number, number]): VariableDeclarationNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarationNode(variables, kind, range, loc);\n\t}\n\tcreateContinueStatement(label?: Identifier, range?: [number, number]): ContinueStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ContinueStatement(label, range, loc);\n\t}\n\tcreateBreakStatement(label?: Identifier, range?: [number, number]): BreakStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BreakStatement(label, range, loc);\n\t}\n\tcreateReturnStatement(argument?: ExpressionNode, range?: [number, number]): ReturnStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ReturnStatement(argument, range, loc);\n\t}\n\tcreateLabeledStatement(expression: Identifier, result: ExpressionNode, range?: [number, number]): LabeledStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LabeledStatement(expression, result, range, loc);\n\t}\n\tcreateAssignmentPattern(left: DeclarationExpression, right: ExpressionNode, range?: [number, number]): AssignmentPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentPattern(left, right, range, loc);\n\t}\n\tcreateSpreadElement(argument: ExpressionNode, range?: [number, number]): SpreadElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SpreadElement(argument, range, loc);\n\t}\n\tcreateCommaListExpression(expressions: ExpressionNode[], range?: [number, number] | undefined): SequenceExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SequenceExpression(expressions, range, loc);\n\t}\n\tcreateTemplateExpression(quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TemplateLiteral {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TemplateLiteral(quasis, expressions, range, loc);\n\t}\n\tcreateTaggedTemplateExpression(tag: ExpressionNode, quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TaggedTemplateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TaggedTemplateExpression(tag, quasis, expressions, range, loc);\n\t}\n\tcreateNewExpression(className: ExpressionNode, parameters?: ExpressionNode[], range?: [number, number]): NewExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new NewExpression(className, parameters, range, loc);\n\t}\n\tcreateObjectBindingPattern(properties: (Property | RestElement)[], range?: [number, number] | undefined): ObjectPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectPattern(properties, range, loc);\n\t}\n\tcreateObjectLiteralExpression(properties: Property[], range?: [number, number]): ObjectExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectExpression(properties, range, loc);\n\t}\n\tcreateArrayBindingPattern(elements: (DeclarationExpression | null)[], range?: [number, number]): ArrayPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayPattern(elements, range, loc);\n\t}\n\tcreateArrayLiteralExpression(elements: (ExpressionNode | SpreadElement | null)[], range?: [number, number]): ArrayExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayExpression(elements, range, loc);\n\t}\n\tcreateAssignment(operator: AssignmentOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentExpression(operator, left, right, range, loc);\n\t}\n\tcreateRestElement(argument: DeclarationExpression, range?: [number, number]): RestElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new RestElement(argument, range, loc);\n\t}\n\tcreateArrowFunction(params: DeclarationExpression[], body: ExpressionNode | ExpressionNode[], expression: boolean, async: boolean, range?: [number, number]): ArrowFunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrowFunctionExpression(params, body, expression, async, range, loc);\n\t}\n\tcreatePropertyDeclaration(key: ExpressionNode, value: DeclarationExpression | ExpressionNode, kind: 'init' | 'get' | 'set', method: boolean, shorthand: boolean, computed: boolean, range?: [number, number]): Property {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Property(key, value, kind, method, shorthand, computed, range, loc);\n\t}\n\tcreateIdentifier(name: string, range?: [number, number]): Identifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Identifier(name, range, loc);\n\t}\n\tcreatePropertyAssignment(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): MemberExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MemberExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreatePipelineExpression(left: ExpressionNode, right: ExpressionNode, params?: (ExpressionNode | '?' | '...?')[], range?: [number, number]): PipelineExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PipelineExpression(left, right, params, range, loc);\n\t}\n\tcreateCallExpression(callee: ExpressionNode, params: ExpressionNode[], optional?: boolean, range?: [number, number]): CallExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CallExpression(callee, params, optional, range, loc);\n\t}\n\tcreateBindExpression(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): BindExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BindExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreateChainExpression(expression: ExpressionNode, range?: [number, number]): ChainExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ChainExpression(expression, range, loc);\n\t}\n\tcreateLogicalExpression(operator: LogicalOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number],): LogicalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LogicalExpression(operator, left, right, range, loc);\n\t}\n\tcreateConditionalExpression(test: ExpressionNode, alternate: ExpressionNode, consequent: ExpressionNode, range?: [number, number]): ConditionalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ConditionalExpression(test, alternate, consequent, range, loc);\n\t}\n\tcreateYieldExpression(delegate: boolean, argument?: ExpressionNode, range?: [number, number]): YieldExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new YieldExpression(delegate, argument, range, loc);\n\t}\n\tcreateMetaProperty(meta: Identifier, property: Identifier, range?: [number, number]): MetaProperty {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MetaProperty(meta, property, range, loc);\n\t}\n\tcreateProgram(sourceType: ProgramSourceType, body: ExpressionNode[], range?: [number, number]): Program {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Program(sourceType, body, range, loc);\n\t}\n\tcreateClassExpression(body: ClassBody, decorators: Decorator[], id?: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassExpression(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateClassStaticBlockDeclaration(body: ExpressionNode[], range?: [number, number]): StaticBlock {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new StaticBlock(body, range, loc);\n\t}\n\tcreateMethodSignature(kind: MethodDefinitionKind, key: ExpressionNode | PrivateIdentifier, value: FunctionExpression, decorators: Decorator[], computed: boolean, isStatic: boolean, range?: [number, number]): MethodDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MethodDefinition(kind, key, value, decorators, computed, isStatic, range, loc);\n\t}\n\tcreatePropertySignature(key: ExpressionNode | PrivateIdentifier, decorators: Decorator[], computed: boolean, isStatic: boolean, value?: ExpressionNode, range?: [number, number]): PropertyDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PropertyDefinition(key, decorators, computed, isStatic, value, range, loc);\n\t}\n\tcreateClassBody(body: (MethodDefinition | PropertyDefinition | AccessorProperty | StaticBlock)[], range?: [number, number]): ClassBody {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassBody(body, range, loc);\n\t}\n\tcreateNamespaceExportDeclaration(specifiers: ExportSpecifier[], declaration?: DeclarationExpression, source?: Literal<string>, assertions?: ImportAttribute[], range?: [number, number]): ExportNamedDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportNamedDeclaration(specifiers, declaration, source, assertions, range, loc);\n\t}\n\tcreateExportSpecifier(local: Identifier, exported: Identifier, range?: [number, number]): ExportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportSpecifier(local, exported, range, loc);\n\t}\n\tcreateImportSpecifier(local: Identifier, imported: Identifier, range?: [number, number]): ImportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportSpecifier(local, imported, range, loc);\n\t}\n\tcreateImportDeclaration(source: Literal<string>, specifiers?: (ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier)[], assertions?: ImportAttribute[], range?: [number, number]): ImportDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDeclaration(source, specifiers, assertions, range, loc);\n\t}\n\tcreateImportNamespaceSpecifier(local: Identifier, range?: [number, number]): ImportNamespaceSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportNamespaceSpecifier(local, range, loc);\n\t}\n\tcreateImportDefaultSpecifier(local: Identifier, range?: [number, number]): ImportDefaultSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDefaultSpecifier(local, range, loc);\n\t}\n\tcreateImportExpression(source: Literal<string>, attributes?: ExpressionNode, range?: [number, number]): ImportExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportExpression(source, attributes, range, loc);\n\t}\n\tcreateAssertEntry(key: Identifier | Literal<string>, value: Literal<string>, range?: [number, number]): ImportAttribute {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportAttribute(key, value, range, loc);\n\t}\n\tcreateExportDefault(declaration: FunctionDeclaration | ClassDeclaration | ExpressionNode, range?: [number, number],): ExportDefaultDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportDefaultDeclaration(declaration, range, loc);\n\t}\n\tcreateExportAllDeclaration(source: Literal<string>, exported?: Identifier, assertions?: ImportAttribute[], range?: [number, number]): ExportAllDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportAllDeclaration(source, exported, assertions, range, loc);\n\t}\n\tcreateInfixExpression(op: AssignmentOperator | LogicalOperator | BinaryOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression | LogicalExpression | BinaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (op) {\n\t\t\tcase '=':\n\t\t\tcase '+=':\n\t\t\tcase '-=':\n\t\t\tcase '**=':\n\t\t\tcase '/=':\n\t\t\tcase '%=':\n\t\t\tcase '<<=':\n\t\t\tcase '>>=':\n\t\t\tcase '>>>=':\n\t\t\tcase '&=':\n\t\t\tcase '^=':\n\t\t\tcase '|=':\n\t\t\tcase '&&=':\n\t\t\tcase '||=':\n\t\t\tcase '??=':\n\t\t\t\treturn new AssignmentExpression(op, left, right, range, loc);\n\t\t\tcase '&&':\n\t\t\tcase '||':\n\t\t\tcase '??':\n\t\t\t\treturn new LogicalExpression(op, left, right, range, loc);\n\t\t\tcase '**':\n\t\t\tcase '*':\n\t\t\tcase '/':\n\t\t\tcase '%':\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '<':\n\t\t\tcase '<=':\n\t\t\tcase '>':\n\t\t\tcase '>=':\n\t\t\tcase 'in':\n\t\t\tcase 'instanceof':\n\t\t\tcase '==':\n\t\t\tcase '!=':\n\t\t\tcase '===':\n\t\t\tcase '!==':\n\t\t\tcase '<<':\n\t\t\tcase '>>':\n\t\t\tcase '>>>':\n\t\t\tcase '&':\n\t\t\tcase '^':\n\t\t\tcase '|':\n\t\t\tcase '>?':\n\t\t\tcase '<?':\n\t\t\tcase '<=>':\n\t\t\t\treturn new BinaryExpression(op, left, right, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Not Supported Operator: ${op}`);\n\t\t}\n\t}\n\tcreateUnaryExpression(operator: UpdateOperator | UnaryOperator | 'await', expression: ExpressionNode, range?: [number, number]): UpdateExpression | UnaryExpression | AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (operator) {\n\t\t\tcase '++':\n\t\t\tcase '--':\n\t\t\t\treturn new UpdateExpression(operator, expression, true, range, loc);\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '!':\n\t\t\tcase '~':\n\t\t\tcase 'typeof':\n\t\t\tcase 'void':\n\t\t\tcase 'delete':\n\t\t\t\treturn new UnaryExpression(operator, expression, range, loc);\n\t\t\tcase 'await':\n\t\t\t\treturn new AwaitExpression(expression, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`${operator} is not prefix operator`);\n\t\t}\n\t}\n\tcreateUpdateExpression(operator: UpdateOperator, argument: ExpressionNode, prefix: boolean, range?: [number, number]): UpdateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UpdateExpression(operator, argument, prefix, range, loc);\n\t}\n\tcreateAwaitExpression(argument: ExpressionNode, range?: [number, number]): AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AwaitExpression(argument, range, loc);\n\t}\n\tisIdentifier(node?: ExpressionNode): node is Identifier {\n\t\treturn node instanceof Identifier || node?.type === 'Identifier';\n\t}\n\tisObjectExpression(node?: ExpressionNode): node is ObjectExpression {\n\t\treturn node instanceof ObjectExpression || node?.type === 'ObjectExpression';\n\t}\n\tisArrayExpression(node?: ExpressionNode): node is ArrayExpression {\n\t\treturn node instanceof ArrayExpression || node?.type === 'ArrayExpression';\n\t}\n\tisObjectPattern(node?: ExpressionNode): node is ObjectPattern {\n\t\treturn node instanceof ObjectPattern || node?.type === 'ObjectPattern';\n\t}\n\tisArrayPattern(node?: ExpressionNode): node is ArrayPattern {\n\t\treturn node instanceof ArrayPattern || node?.type === 'ArrayPattern';\n\t}\n\tisAssignmentPattern(node?: ExpressionNode): node is AssignmentPattern {\n\t\treturn node instanceof AssignmentPattern || node?.type === 'AssignmentPattern';\n\t}\n\tisPattern(node?: ExpressionNode): boolean {\n\t\treturn this.isObjectPattern(node) || this.isArrayPattern(node) || this.isAssignmentPattern(node);\n\t}\n\tcanBePattern(node?: ExpressionNode): node is (ObjectExpression | ArrayExpression) {\n\t\treturn this.isObjectExpression(node) || this.isArrayExpression(node);\n\t}\n\tisProperty(node?: ExpressionNode): node is Property {\n\t\treturn node instanceof Property || node?.type === 'Property';\n\t}\n\tisMemberExpression(node?: ExpressionNode): node is MemberExpression {\n\t\treturn node instanceof MemberExpression || node?.type === 'MemberExpression';\n\t}\n\tisPropertyOrMemberExpression(node?: ExpressionNode): node is (Property | MemberExpression) {\n\t\treturn this.isProperty(node) || this.isMemberExpression(node);\n\t}\n\tisEmptyStatement(node: ExpressionNode): node is EmptyStatement {\n\t\treturn node instanceof EmptyStatement || node?.type === 'EmptyStatement';\n\t}\n\tisSequenceExpression(node: ExpressionNode): node is SequenceExpression {\n\t\treturn node instanceof SequenceExpression || node?.type === 'SequenceExpression';\n\t}\n\tisSuper(node: ExpressionNode): node is Super {\n\t\treturn node instanceof Super || node?.type === 'Super';\n\t}\n\tisAssignmentExpression(node: ExpressionNode): node is AssignmentExpression {\n\t\treturn node instanceof AssignmentExpression || node?.type === 'AssignmentExpression';\n\t}\n\tisGroupingExpression(node: ExpressionNode): node is GroupingExpression {\n\t\treturn node instanceof GroupingExpression || node?.type === 'GroupingExpression';\n\t}\n\tisSpreadElement(node: ExpressionNode): node is SpreadElement {\n\t\treturn node instanceof SpreadElement || node?.type === 'SpreadElement';\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/expressions/v8/factory.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tAccessorProperty, ClassBody, ClassDeclaration, ClassExpression,\n\tMetaProperty, MethodDefinition, MethodDefinitionKind, PrivateIdentifier,\n\tPropertyDefinition, StaticBlock, Super\n} from '../api/class/class.js';\nimport { Decorator } from '../api/class/decorator.js';\nimport { CallExpression } from '../api/computing/call.js';\nimport { DebuggerStatement } from '../api/computing/debugger.js';\nimport { NewExpression } from '../api/computing/new.js';\nimport { RestElement } from '../api/computing/rest.js';\nimport { ReturnStatement } from '../api/computing/return.js';\nimport { SpreadElement } from '../api/computing/spread.js';\nimport {\n\tCatchClauseNode, ThrowStatement, TryCatchNode\n} from '../api/computing/throw.js';\nimport { YieldExpression } from '../api/computing/yield.js';\nimport { ArrayExpression, ArrayPattern } from '../api/definition/array.js';\nimport { BindExpression } from '../api/definition/bind.js';\nimport {\n\tArrowFunctionExpression, AssignmentPattern, FunctionDeclaration, FunctionExpression\n} from '../api/definition/function.js';\nimport { MemberExpression } from '../api/definition/member.js';\nimport {\n\tObjectExpression, ObjectPattern, Property\n} from '../api/definition/object.js';\nimport { ExpressionStatement } from '../api/definition/statement.js';\nimport {\n\tIdentifier, Literal, TaggedTemplateExpression, TemplateLiteral, ThisExpression\n} from '../api/definition/values.js';\nimport {\n\tDeclarationExpression, ExpressionNode, SourceLocation\n} from '../api/expression.js';\nimport { ImportAttribute } from '../api/module/common.js';\nimport {\n\tExportAllDeclaration, ExportDefaultDeclaration,\n\tExportNamedDeclaration, ExportSpecifier\n} from '../api/module/export.js';\nimport {\n\tImportDeclaration, ImportDefaultSpecifier, ImportExpression,\n\tImportNamespaceSpecifier, ImportSpecifier\n} from '../api/module/import.js';\nimport {\n\tAssignmentExpression, AssignmentOperator\n} from '../api/operators/assignment.js';\nimport { AwaitExpression } from '../api/operators/await.js';\nimport { BinaryExpression, BinaryOperator } from '../api/operators/binary.js';\nimport { ChainExpression } from '../api/operators/chaining.js';\nimport { SequenceExpression } from '../api/operators/comma.js';\nimport { GroupingExpression } from '../api/operators/grouping.js';\nimport { LogicalExpression, LogicalOperator } from '../api/operators/logical.js';\nimport { PipelineExpression } from '../api/operators/pipeline.js';\nimport { ConditionalExpression } from '../api/operators/ternary.js';\nimport { UnaryExpression, UnaryOperator } from '../api/operators/unary.js';\nimport { UpdateExpression, UpdateOperator } from '../api/operators/update.js';\nimport { Program, ProgramSourceType } from '../api/program.js';\nimport { BlockStatement } from '../api/statement/control/block.js';\nimport { EmptyStatement } from '../api/statement/control/empty.js';\nimport { IfStatement } from '../api/statement/control/if.js';\nimport {\n\tDefaultExpression, SwitchCase, SwitchStatement\n} from '../api/statement/control/switch.js';\nimport {\n\tBreakStatement, ContinueStatement, LabeledStatement\n} from '../api/statement/control/terminate.js';\nimport { WithStatement } from '../api/statement/control/with.js';\nimport {\n\tVariableDeclarationNode, VariableDeclarator\n} from '../api/statement/declarations/declares.js';\nimport {\n\tForAwaitOfNode, ForDeclaration, ForInNode, ForNode, ForOfNode\n} from '../api/statement/iterations/for.js';\nimport { DoWhileNode, WhileNode } from '../api/statement/iterations/while.js';\nimport type { NodeFactory, SourcePositionFactory } from './node.js';\n\n\nexport class ExpressionNodeSourcePosition implements SourcePositionFactory {\n\tprivate newLineRegex = new RegExp('\\n', 'g');\n\n\tconstructor(private source: string) { }\n\n\tprivate getLineNumber(index: number, defaultValue: number) {\n\t\treturn this.source.substring(0, index).match(this.newLineRegex)?.length ?? defaultValue;\n\t}\n\n\tprivate getColumnNumber(index: number) {\n\t\tconst end = this.source.lastIndexOf('\\n', index);\n\t\tif (end === -1) {\n\t\t\treturn index;\n\t\t}\n\t\treturn index - end - 1;\n\t}\n\n\tpublic createSourcePosition(range?: [number, number]): SourceLocation | undefined {\n\t\tif (!range || !this.source) {\n\t\t\treturn;\n\t\t}\n\t\tconst startLine = this.getLineNumber(range[0], 1);\n\t\tconst endLine = this.getLineNumber(range[1], startLine);\n\t\tconst startColumn = this.getColumnNumber(range[0]);\n\t\tconst endColumn = this.getColumnNumber(range[1]);\n\t\treturn {\n\t\t\tstart: { line: startLine, column: startColumn },\n\t\t\tend: { line: endLine, column: endColumn },\n\t\t};\n\t}\n\n}\n\nexport class ExpressionNodeFactory implements NodeFactory {\n\n\tconstructor(private rangeFactory?: SourcePositionFactory) { }\n\n\tcreateDebuggerStatement(range?: [number, number]): DebuggerStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DebuggerStatement(range, loc);\n\t}\n\n\tcreateSuper(range?: [number, number]): Super {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Super(range, loc);\n\t}\n\tcreateThis(range?: [number, number]): ThisExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThisExpression(range, loc);\n\t}\n\tcreateNull(range?: [number, number]): Literal<null> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(null, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateTrue(range?: [number, number]): Literal<true> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(true, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateFalse(range?: [number, number]): Literal<false> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(false, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateVoidZero(argument: ExpressionNode, range?: [number, number]): UnaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UnaryExpression('void', argument, range, loc);\n\t}\n\tcreateEmptyStatement(range?: [number, number]): EmptyStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new EmptyStatement(range, loc);\n\t}\n\tcreateExpressionStatement(list: ExpressionNode[], range?: [number, number]): ExpressionNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExpressionStatement(list, range, loc);\n\t}\n\tcreateCatchClause(block: BlockStatement, identifier?: ExpressionNode, range?: [number, number]): CatchClauseNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CatchClauseNode(block, identifier, range, loc);\n\t}\n\tcreateTryStatement(tryBlock: BlockStatement, catchBlock?: ExpressionNode, finallyBlock?: ExpressionNode, range?: [number, number]): TryCatchNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TryCatchNode(tryBlock, catchBlock, finallyBlock, range, loc);\n\t}\n\tcreateThrowStatement(exception: ExpressionNode, range?: [number, number]): ThrowStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThrowStatement(exception, range, loc);\n\t}\n\n\tcreateBlock(statements: ExpressionNode[], range?: [number, number]): BlockStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BlockStatement(statements, range, loc);\n\t}\n\tcreateIfStatement(condition: ExpressionNode, thenStatement: ExpressionNode, elseStatement?: ExpressionNode, range?: [number, number]): IfStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new IfStatement(condition, thenStatement, elseStatement, range, loc);\n\t}\n\tcreateDoStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): DoWhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DoWhileNode(condition, body, range, loc);\n\t}\n\tcreateClassDeclaration(body: ClassBody, decorators: Decorator[], id: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassDeclaration(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateFunctionDeclaration(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, name: Identifier, range?: [number, number]): FunctionDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionDeclaration(formals, bodyBlock, isAsync, isGenerator, name, range, loc);\n\t}\n\tcreateFunctionExpression(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, range?: [number, number]): FunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionExpression(formals, bodyBlock, isAsync, isGenerator, undefined, range, loc);\n\t}\n\tcreateWhileStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): WhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WhileNode(condition, body, range, loc);\n\t}\n\tcreateSwitchStatement(tag: ExpressionNode, cases: SwitchCase[], range?: [number, number] | undefined): SwitchStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchStatement(tag, cases, range, loc);\n\t}\n\tcreateCaseBlock(test: ExpressionNode, block: BlockStatement, range?: [number, number] | undefined): SwitchCase {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchCase(test, block, range, loc);\n\t}\n\tcreateDefaultClause(block: BlockStatement, range?: [number, number] | undefined): DefaultExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DefaultExpression(block, range, loc);\n\t}\n\tcreateWithStatement(object: ExpressionNode, body: ExpressionNode, range?: [number, number]): WithStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WithStatement(object, body, range, loc);\n\t}\n\tcreateForStatement(body: ExpressionNode, initializer: ExpressionNode, cond: ExpressionNode, next: ExpressionNode, range?: [number, number] | undefined): ForNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForNode(body, initializer, cond, next, range, loc);\n\t}\n\tcreateForOfStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForOfNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateForAwaitOfStatement(left: ForDeclaration, right: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForAwaitOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForAwaitOfNode(left, right, body, range, loc);\n\t}\n\tcreateForInStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number]): ForInNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForInNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateVariableDeclaration(id: DeclarationExpression, init?: ExpressionNode, range?: [number, number]): VariableDeclarator {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarator(id, init, range, loc);\n\t}\n\tcreateVariableStatement(variables: VariableDeclarator[], kind: 'let' | 'var' | 'const' | 'using' | 'await using', range?: [number, number]): VariableDeclarationNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarationNode(variables, kind, range, loc);\n\t}\n\tcreateContinueStatement(label?: Identifier, range?: [number, number]): ContinueStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ContinueStatement(label, range, loc);\n\t}\n\tcreateBreakStatement(label?: Identifier, range?: [number, number]): BreakStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BreakStatement(label, range, loc);\n\t}\n\tcreateReturnStatement(argument?: ExpressionNode, range?: [number, number]): ReturnStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ReturnStatement(argument, range, loc);\n\t}\n\tcreateLabeledStatement(expression: Identifier, result: ExpressionNode, range?: [number, number]): LabeledStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LabeledStatement(expression, result, range, loc);\n\t}\n\tcreateAssignmentPattern(left: DeclarationExpression, right: ExpressionNode, range?: [number, number]): AssignmentPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentPattern(left, right, range, loc);\n\t}\n\tcreateSpreadElement(argument: ExpressionNode, range?: [number, number]): SpreadElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SpreadElement(argument, range, loc);\n\t}\n\tcreateCommaListExpression(expressions: ExpressionNode[], range?: [number, number] | undefined): SequenceExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SequenceExpression(expressions, range, loc);\n\t}\n\tcreateTemplateExpression(quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TemplateLiteral {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TemplateLiteral(quasis, expressions, range, loc);\n\t}\n\tcreateTaggedTemplateExpression(tag: ExpressionNode, quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TaggedTemplateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TaggedTemplateExpression(tag, quasis, expressions, range, loc);\n\t}\n\tcreateNewExpression(className: ExpressionNode, parameters?: ExpressionNode[], range?: [number, number]): NewExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new NewExpression(className, parameters, range, loc);\n\t}\n\tcreateObjectBindingPattern(properties: (Property | RestElement)[], range?: [number, number] | undefined): ObjectPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectPattern(properties, range, loc);\n\t}\n\tcreateObjectLiteralExpression(properties: Property[], range?: [number, number]): ObjectExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectExpression(properties, range, loc);\n\t}\n\tcreateArrayBindingPattern(elements: (DeclarationExpression | null)[], range?: [number, number]): ArrayPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayPattern(elements, range, loc);\n\t}\n\tcreateArrayLiteralExpression(elements: (ExpressionNode | SpreadElement | null)[], range?: [number, number]): ArrayExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayExpression(elements, range, loc);\n\t}\n\tcreateAssignment(operator: AssignmentOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentExpression(operator, left, right, range, loc);\n\t}\n\tcreateRestElement(argument: DeclarationExpression, range?: [number, number]): RestElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new RestElement(argument, range, loc);\n\t}\n\tcreateArrowFunction(params: DeclarationExpression[], body: ExpressionNode | ExpressionNode[], expression: boolean, async: boolean, range?: [number, number]): ArrowFunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrowFunctionExpression(params, body, expression, async, range, loc);\n\t}\n\tcreatePropertyDeclaration(key: ExpressionNode, value: DeclarationExpression | ExpressionNode, kind: 'init' | 'get' | 'set', method: boolean, shorthand: boolean, computed: boolean, range?: [number, number]): Property {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Property(key, value, kind, method, shorthand, computed, range, loc);\n\t}\n\tcreateIdentifier(name: string, range?: [number, number]): Identifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Identifier(name, range, loc);\n\t}\n\tcreatePropertyAssignment(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): MemberExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MemberExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreatePipelineExpression(left: ExpressionNode, right: ExpressionNode, params?: (ExpressionNode | '?' | '...?')[], range?: [number, number]): PipelineExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PipelineExpression(left, right, params, range, loc);\n\t}\n\tcreateCallExpression(callee: ExpressionNode, params: ExpressionNode[], optional?: boolean, range?: [number, number]): CallExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CallExpression(callee, params, optional, range, loc);\n\t}\n\tcreateBindExpression(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): BindExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BindExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreateChainExpression(expression: ExpressionNode, range?: [number, number]): ChainExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ChainExpression(expression, range, loc);\n\t}\n\tcreateLogicalExpression(operator: LogicalOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number],): LogicalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LogicalExpression(operator, left, right, range, loc);\n\t}\n\tcreateConditionalExpression(test: ExpressionNode, alternate: ExpressionNode, consequent: ExpressionNode, range?: [number, number]): ConditionalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ConditionalExpression(test, alternate, consequent, range, loc);\n\t}\n\tcreateYieldExpression(delegate: boolean, argument?: ExpressionNode, range?: [number, number]): YieldExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new YieldExpression(delegate, argument, range, loc);\n\t}\n\tcreateMetaProperty(meta: Identifier, property: Identifier, range?: [number, number]): MetaProperty {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MetaProperty(meta, property, range, loc);\n\t}\n\tcreateProgram(sourceType: ProgramSourceType, body: ExpressionNode[], range?: [number, number]): Program {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Program(sourceType, body, range, loc);\n\t}\n\tcreateClassExpression(body: ClassBody, decorators: Decorator[], id?: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassExpression(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateClassStaticBlockDeclaration(body: ExpressionNode[], range?: [number, number]): StaticBlock {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new StaticBlock(body, range, loc);\n\t}\n\tcreateMethodSignature(kind: MethodDefinitionKind, key: ExpressionNode | PrivateIdentifier, value: FunctionExpression, decorators: Decorator[], computed: boolean, isStatic: boolean, range?: [number, number]): MethodDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MethodDefinition(kind, key, value, decorators, computed, isStatic, range, loc);\n\t}\n\tcreatePropertySignature(key: ExpressionNode | PrivateIdentifier, decorators: Decorator[], computed: boolean, isStatic: boolean, value?: ExpressionNode, range?: [number, number]): PropertyDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PropertyDefinition(key, decorators, computed, isStatic, value, range, loc);\n\t}\n\tcreateClassBody(body: (MethodDefinition | PropertyDefinition | AccessorProperty | StaticBlock)[], range?: [number, number]): ClassBody {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassBody(body, range, loc);\n\t}\n\tcreateNamespaceExportDeclaration(specifiers: ExportSpecifier[], declaration?: DeclarationExpression, source?: Literal<string>, attributes?: ImportAttribute[], range?: [number, number]): ExportNamedDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportNamedDeclaration(specifiers, declaration, source, attributes, range, loc);\n\t}\n\tcreateExportSpecifier(local: Identifier, exported: Identifier, range?: [number, number]): ExportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportSpecifier(local, exported, range, loc);\n\t}\n\tcreateImportSpecifier(local: Identifier, imported: Identifier, range?: [number, number]): ImportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportSpecifier(local, imported, range, loc);\n\t}\n\tcreateImportDeclaration(source: Literal<string>, specifiers?: (ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier)[], attributes?: ImportAttribute[], range?: [number, number]): ImportDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDeclaration(source, specifiers, attributes, range, loc);\n\t}\n\tcreateImportNamespaceSpecifier(local: Identifier, range?: [number, number]): ImportNamespaceSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportNamespaceSpecifier(local, range, loc);\n\t}\n\tcreateImportDefaultSpecifier(local: Identifier, range?: [number, number]): ImportDefaultSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDefaultSpecifier(local, range, loc);\n\t}\n\tcreateImportExpression(source: Literal<string>, attributes?: ExpressionNode, range?: [number, number]): ImportExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportExpression(source, attributes, range, loc);\n\t}\n\tcreateImportWithEntry(key: Identifier | Literal<string>, value: Literal<string>, range?: [number, number]): ImportAttribute {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportAttribute(key, value, range, loc);\n\t}\n\tcreateExportDefault(declaration: FunctionDeclaration | ClassDeclaration | ExpressionNode, range?: [number, number],): ExportDefaultDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportDefaultDeclaration(declaration, range, loc);\n\t}\n\tcreateExportAllDeclaration(source: Literal<string>, exported?: Identifier, attributes?: ImportAttribute[], range?: [number, number]): ExportAllDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportAllDeclaration(source, exported, attributes, range, loc);\n\t}\n\tcreateInfixExpression(op: AssignmentOperator | LogicalOperator | BinaryOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression | LogicalExpression | BinaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (op) {\n\t\t\tcase '=':\n\t\t\tcase '+=':\n\t\t\tcase '-=':\n\t\t\tcase '**=':\n\t\t\tcase '/=':\n\t\t\tcase '%=':\n\t\t\tcase '<<=':\n\t\t\tcase '>>=':\n\t\t\tcase '>>>=':\n\t\t\tcase '&=':\n\t\t\tcase '^=':\n\t\t\tcase '|=':\n\t\t\tcase '&&=':\n\t\t\tcase '||=':\n\t\t\tcase '??=':\n\t\t\t\treturn new AssignmentExpression(op, left, right, range, loc);\n\t\t\tcase '&&':\n\t\t\tcase '||':\n\t\t\tcase '??':\n\t\t\t\treturn new LogicalExpression(op, left, right, range, loc);\n\t\t\tcase '**':\n\t\t\tcase '*':\n\t\t\tcase '/':\n\t\t\tcase '%':\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '<':\n\t\t\tcase '<=':\n\t\t\tcase '>':\n\t\t\tcase '>=':\n\t\t\tcase 'in':\n\t\t\tcase 'instanceof':\n\t\t\tcase '==':\n\t\t\tcase '!=':\n\t\t\tcase '===':\n\t\t\tcase '!==':\n\t\t\tcase '<<':\n\t\t\tcase '>>':\n\t\t\tcase '>>>':\n\t\t\tcase '&':\n\t\t\tcase '^':\n\t\t\tcase '|':\n\t\t\tcase '>?':\n\t\t\tcase '<?':\n\t\t\tcase '<=>':\n\t\t\t\treturn new BinaryExpression(op, left, right, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Not Supported Operator: ${op}`);\n\t\t}\n\t}\n\tcreateUnaryExpression(operator: UpdateOperator | UnaryOperator | 'await', expression: ExpressionNode, range?: [number, number]): UpdateExpression | UnaryExpression | AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (operator) {\n\t\t\tcase '++':\n\t\t\tcase '--':\n\t\t\t\treturn new UpdateExpression(operator, expression, true, range, loc);\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '!':\n\t\t\tcase '~':\n\t\t\tcase 'typeof':\n\t\t\tcase 'void':\n\t\t\tcase 'delete':\n\t\t\t\treturn new UnaryExpression(operator, expression, range, loc);\n\t\t\tcase 'await':\n\t\t\t\treturn new AwaitExpression(expression, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`${operator} is not prefix operator`);\n\t\t}\n\t}\n\tcreateUpdateExpression(operator: UpdateOperator, argument: ExpressionNode, prefix: boolean, range?: [number, number]): UpdateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UpdateExpression(operator, argument, prefix, range, loc);\n\t}\n\tcreateAwaitExpression(argument: ExpressionNode, range?: [number, number]): AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AwaitExpression(argument, range, loc);\n\t}\n\tisIdentifier(node?: ExpressionNode): node is Identifier {\n\t\treturn node instanceof Identifier || node?.type === 'Identifier';\n\t}\n\tisObjectExpression(node?: ExpressionNode): node is ObjectExpression {\n\t\treturn node instanceof ObjectExpression || node?.type === 'ObjectExpression';\n\t}\n\tisArrayExpression(node?: ExpressionNode): node is ArrayExpression {\n\t\treturn node instanceof ArrayExpression || node?.type === 'ArrayExpression';\n\t}\n\tisObjectPattern(node?: ExpressionNode): node is ObjectPattern {\n\t\treturn node instanceof ObjectPattern || node?.type === 'ObjectPattern';\n\t}\n\tisArrayPattern(node?: ExpressionNode): node is ArrayPattern {\n\t\treturn node instanceof ArrayPattern || node?.type === 'ArrayPattern';\n\t}\n\tisAssignmentPattern(node?: ExpressionNode): node is AssignmentPattern {\n\t\treturn node instanceof AssignmentPattern || node?.type === 'AssignmentPattern';\n\t}\n\tisPattern(node?: ExpressionNode): boolean {\n\t\treturn this.isObjectPattern(node) || this.isArrayPattern(node) || this.isAssignmentPattern(node);\n\t}\n\tcanBePattern(node?: ExpressionNode): node is (ObjectExpression | ArrayExpression) {\n\t\treturn this.isObjectExpression(node) || this.isArrayExpression(node);\n\t}\n\tisProperty(node?: ExpressionNode): node is Property {\n\t\treturn node instanceof Property || node?.type === 'Property';\n\t}\n\tisMemberExpression(node?: ExpressionNode): node is MemberExpression {\n\t\treturn node instanceof MemberExpression || node?.type === 'MemberExpression';\n\t}\n\tisPropertyOrMemberExpression(node?: ExpressionNode): node is (Property | MemberExpression) {\n\t\treturn this.isProperty(node) || this.isMemberExpression(node);\n\t}\n\tisEmptyStatement(node: ExpressionNode): node is EmptyStatement {\n\t\treturn node instanceof EmptyStatement || node?.type === 'EmptyStatement';\n\t}\n\tisSequenceExpression(node: ExpressionNode): node is SequenceExpression {\n\t\treturn node instanceof SequenceExpression || node?.type === 'SequenceExpression';\n\t}\n\tisSuper(node: ExpressionNode): node is Super {\n\t\treturn node instanceof Super || node?.type === 'Super';\n\t}\n\tisAssignmentExpression(node: ExpressionNode): node is AssignmentExpression {\n\t\treturn node instanceof AssignmentExpression || node?.type === 'AssignmentExpression';\n\t}\n\tisGroupingExpression(node: ExpressionNode): node is GroupingExpression {\n\t\treturn node instanceof GroupingExpression || node?.type === 'GroupingExpression';\n\t}\n\tisSpreadElement(node: ExpressionNode): node is SpreadElement {\n\t\treturn node instanceof SpreadElement || node?.type === 'SpreadElement';\n\t}\n\n}\n"]}
package/v8/inline.d.ts CHANGED
@@ -139,12 +139,12 @@ export declare class JavaScriptInlineParser extends AbstractParser {
139
139
  protected parseWhileStatement(): import("../index.js").WhileNode;
140
140
  protected parseThrowStatement(): ExpressionNode;
141
141
  protected parseSwitchStatement(): ExpressionNode;
142
- protected parseForStatement(): import("../api/statement/iterations/for.js").ForNode | import("../api/statement/iterations/for.js").ForOfNode | import("../api/statement/iterations/for.js").ForInNode;
143
- protected parseStandardForLoopWithLexicalDeclarations(initializer: VariableDeclarationNode, start: PositionMark): import("../api/statement/iterations/for.js").ForNode;
144
- protected parseForEachStatementWithDeclarations(initializer: VariableDeclarationNode, forMode: 'IN' | 'OF', start: PositionMark): import("../api/statement/iterations/for.js").ForOfNode | import("../api/statement/iterations/for.js").ForInNode;
145
- protected parseForEachStatementWithoutDeclarations(initializer: ExpressionNode, forMode: 'IN' | 'OF', start: PositionMark): import("../api/statement/iterations/for.js").ForOfNode | import("../api/statement/iterations/for.js").ForInNode;
146
- protected parseStandardForLoop(initializer: ExpressionNode, start: PositionMark): import("../api/statement/iterations/for.js").ForNode;
147
- protected parseForAwaitStatement(): import("../api/statement/iterations/for.js").ForAwaitOfNode;
142
+ protected parseForStatement(): import("../index.js").ForNode | import("../index.js").ForOfNode | import("../index.js").ForInNode;
143
+ protected parseStandardForLoopWithLexicalDeclarations(initializer: VariableDeclarationNode, start: PositionMark): import("../index.js").ForNode;
144
+ protected parseForEachStatementWithDeclarations(initializer: VariableDeclarationNode, forMode: 'IN' | 'OF', start: PositionMark): import("../index.js").ForOfNode | import("../index.js").ForInNode;
145
+ protected parseForEachStatementWithoutDeclarations(initializer: ExpressionNode, forMode: 'IN' | 'OF', start: PositionMark): import("../index.js").ForOfNode | import("../index.js").ForInNode;
146
+ protected parseStandardForLoop(initializer: ExpressionNode, start: PositionMark): import("../index.js").ForNode;
147
+ protected parseForAwaitStatement(): import("../index.js").ForAwaitOfNode;
148
148
  protected parseVariableDeclarations(varContext: VariableDeclarationContext): VariableDeclarationNode;
149
149
  protected parseBindingPattern(isPattern: boolean): ExpressionNode;
150
150
  protected parseAndClassifyIdentifier(next: TokenExpression): ExpressionNode;
@@ -1 +1 @@
1
- {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/inline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/inline.ts"],"names":[],"mappings":"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"}
package/v8/inline.js CHANGED
@@ -461,7 +461,13 @@ export class JavaScriptInlineParser extends AbstractParser {
461
461
  return this.parseClassDeclaration(undefined, false, classToken);
462
462
  case Token.VAR:
463
463
  case Token.CONST:
464
+ case Token.USING:
464
465
  return this.parseVariableDeclarations(VariableDeclarationContext.StatementListItem);
466
+ case Token.AWAIT:
467
+ if (this.isAwaitAllowed()) {
468
+ return this.parseVariableDeclarations(VariableDeclarationContext.StatementListItem);
469
+ }
470
+ break;
465
471
  case Token.LET:
466
472
  if (this.isNextLetKeyword()) {
467
473
  return this.parseVariableDeclarations(VariableDeclarationContext.StatementListItem);
@@ -620,7 +626,7 @@ export class JavaScriptInlineParser extends AbstractParser {
620
626
  this.expect(Token.LPAREN);
621
627
  const peek = this.peek();
622
628
  const starts_with_let = peek.isType(Token.LET);
623
- if (peek.isType(Token.CONST) || (starts_with_let && this.isNextLetKeyword())) {
629
+ if (peek.isType(Token.CONST) || peek.isType(Token.USING) || (starts_with_let && this.isNextLetKeyword())) {
624
630
  // The initializer contains lexical declarations,
625
631
  // so create an in-between scope.
626
632
  // Also record whether inner functions or evals are found inside
@@ -786,10 +792,23 @@ export class JavaScriptInlineParser extends AbstractParser {
786
792
  mode = 'var';
787
793
  break;
788
794
  case Token.LET:
789
- default:
790
795
  this.consume(token);
791
796
  mode = 'let';
792
797
  break;
798
+ case Token.USING:
799
+ this.consume(token);
800
+ mode = 'using';
801
+ break;
802
+ case Token.AWAIT:
803
+ const next = this.peekAhead();
804
+ if (next.token === Token.USING) {
805
+ this.consume(token);
806
+ this.consume(next.token);
807
+ mode = 'await using';
808
+ break;
809
+ }
810
+ default:
811
+ throw new Error(this.errorMessage(`Declaration Missing Initializer`));
793
812
  }
794
813
  const variables = [];
795
814
  do {
@@ -1310,6 +1329,7 @@ export class JavaScriptInlineParser extends AbstractParser {
1310
1329
  // ObjectLiteral
1311
1330
  // RegExpLiteral
1312
1331
  // '(' Expression ')'
1332
+ // TemplateLiteral
1313
1333
  // do Block
1314
1334
  // AsyncFunctionLiteral
1315
1335
  let token = this.peek();
@@ -1680,7 +1700,7 @@ export class JavaScriptInlineParser extends AbstractParser {
1680
1700
  if (this.factory.isAssignmentExpression(argument) && isPattern) {
1681
1701
  throw new SyntaxError(this.errorMessage('Invalid Destructuring Target'));
1682
1702
  }
1683
- if (this.peek().isType(Token.COMMA)) {
1703
+ if (this.peek().isType(Token.COMMA) && isPattern) {
1684
1704
  throw new SyntaxError(this.errorMessage('Element After Rest'));
1685
1705
  }
1686
1706
  }