sucrase
Version:
Super-fast alternative to Babel for when you can target modern JS runtimes
67 lines (66 loc) • 2.93 kB
TypeScript
import { File } from "../index";
import { TokenType } from "../tokenizer/types";
import ExpressionParser from "./expression";
export default class StatementParser extends ExpressionParser {
parseTopLevel(): File;
parseStatement(declaration: boolean, topLevel?: boolean): void;
parseStatementContent(declaration: boolean, topLevel: boolean): void;
parseDecorators(): void;
parseDecorator(): void;
parseBreakContinueStatement(): void;
parseDebuggerStatement(): void;
parseDoStatement(): void;
parseForStatement(): void;
parseAmbiguousForStatement(): void;
parseFunctionStatement(): void;
parseIfStatement(): void;
parseReturnStatement(): void;
parseSwitchStatement(): void;
parseThrowStatement(): void;
parseTryStatement(): void;
parseVarStatement(kind: TokenType): void;
parseWhileStatement(): void;
parseEmptyStatement(): void;
parseLabeledStatement(): void;
/**
* Parse a statement starting with an identifier of the given name. Subclasses match on the name
* to handle statements like "declare".
*/
parseIdentifierStatement(name: string): void;
parseBlock(allowDirectives?: boolean, isFunctionScope?: boolean, contextId?: number): void;
parseBlockBody(topLevel: boolean, end: TokenType): void;
parseFor(): void;
parseForIn(forAwait: boolean): void;
parseVar(isFor: boolean, kind: TokenType): void;
parseVarHead(isBlockScope: boolean): void;
parseFunction(functionStart: number, isStatement: boolean, allowExpressionBody?: boolean, optionalId?: boolean): void;
parseFunctionParams(allowModifiers?: boolean, funcContextId?: number): void;
parseClass(isStatement: boolean, optionalId?: boolean): void;
isClassProperty(): boolean;
isClassMethod(): boolean;
parseClassBody(classContextId: number): void;
parseClassMember(memberStart: number, classContextId: number): void;
parseClassMemberWithIsStatic(memberStart: number, isStatic: boolean, classContextId: number): void;
parseClassMethod(functionStart: number, isGenerator: boolean, isConstructor: boolean): void;
parseClassPropertyName(classContextId: number): void;
parsePostMemberNameModifiers(): void;
parseClassProperty(): void;
parseClassId(isStatement: boolean, optionalId?: boolean): void;
parseClassSuper(): boolean;
parseExport(): void;
parseExportDefaultExpression(): void;
parseExportDeclaration(): void;
isExportDefaultSpecifier(): boolean;
parseExportSpecifiersMaybe(): void;
parseExportFrom(): void;
shouldParseExportStar(): boolean;
parseExportStar(): void;
parseExportNamespace(): void;
shouldParseExportDeclaration(): boolean;
parseExportSpecifiers(): void;
parseImport(): void;
shouldParseDefaultImport(): boolean;
parseImportSpecifierLocal(): void;
parseImportSpecifiers(): void;
parseImportSpecifier(): void;
}