UNPKG

sucrase

Version:

Super-fast alternative to Babel for when you can target modern JS runtimes

58 lines (57 loc) 3.21 kB
import { TokenType } from "../tokenizer/types"; import LValParser from "./lval"; export default abstract class ExpressionParser extends LValParser { abstract parseBlock(allowDirectives?: boolean, isFunctionScope?: boolean, contextId?: number): void; abstract parseClass(isStatement: boolean, optionalId?: boolean): void; abstract parseDecorators(allowExport?: boolean): void; abstract parseFunction(functionStart: number, isStatement: boolean, allowExpressionBody?: boolean, optionalId?: boolean): void; abstract parseFunctionParams(allowModifiers?: boolean, funcContextId?: number): void; parseExpression(noIn?: boolean): void; parseMaybeAssign(noIn?: boolean | null, afterLeftParse?: Function): boolean; parseMaybeConditional(noIn: boolean | null): boolean; parseConditional(noIn: boolean | null, startPos: number): void; parseExprOps(noIn: boolean | null): boolean; parseExprOp(minPrec: number, noIn: boolean | null): void; parseMaybeUnary(): boolean; parseExprSubscripts(): boolean; parseSubscripts(startPos: number, noCalls?: boolean | null): void; /** Set 'state.stop = true' to indicate that we should stop parsing subscripts. */ parseSubscript(startPos: number, noCalls: boolean | null, state: { stop: boolean; }): void; atPossibleAsync(): boolean; parseCallExpressionArguments(close: TokenType): void; shouldParseAsyncArrow(): boolean; parseAsyncArrowFromCallExpression(functionStart: number, startTokenIndex: number): void; parseNoCallExpr(): void; parseExprAtom(): boolean; parseMaybePrivateName(): void; parseFunctionExpression(): void; parseMetaProperty(): void; parseImportMetaProperty(): void; parseLiteral(): void; parseParenExpression(): void; parseParenAndDistinguishExpression(canBeArrow: boolean): boolean; shouldParseArrow(): boolean; parseArrow(): boolean; parseParenItem(): void; parseNew(): void; parseNewArguments(): void; parseTemplateElement(isTagged: boolean): void; parseTemplate(isTagged: boolean): void; parseObj(isPattern: boolean, isBlockScope: boolean): void; isGetterOrSetterMethod(isPattern: boolean): boolean; parseObjectMethod(isGenerator: boolean, isPattern: boolean, objectContextId: number): boolean; parseObjectProperty(isPattern: boolean, isBlockScope: boolean): void; parseObjPropValue(isGenerator: boolean, isPattern: boolean, isBlockScope: boolean, objectContextId: number): void; parsePropertyName(objectContextId: number): void; parseMethod(functionStart: number, isGenerator: boolean, isConstructor: boolean): void; parseArrowExpression(functionStart: number, startTokenIndex: number): void; parseFunctionBodyAndFinish(functionStart: number, isGenerator: boolean, allowExpressionBody?: boolean | null, funcContextId?: number): void; parseFunctionBody(functionStart: number, isGenerator: boolean, allowExpression: boolean | null, funcContextId?: number): void; parseExprList(close: TokenType, allowEmpty?: boolean | null): void; parseExprListItem(allowEmpty: boolean | null): void; parseIdentifier(): void; parseAwait(): void; parseYield(): void; }