1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | import { ParseSourceSpan } from '../parse_util';
|
9 | import * as o from './output_ast';
|
10 | import { SourceMapGenerator } from './source_map';
|
11 | export declare const CATCH_ERROR_VAR: o.ReadVarExpr;
|
12 | export declare const CATCH_STACK_VAR: o.ReadVarExpr;
|
13 | export interface OutputEmitter {
|
14 | emitStatements(genFilePath: string, stmts: o.Statement[], preamble?: string | null): string;
|
15 | }
|
16 | export declare class EmitterVisitorContext {
|
17 | private _indent;
|
18 | static createRoot(): EmitterVisitorContext;
|
19 | private _lines;
|
20 | private _classes;
|
21 | private _preambleLineCount;
|
22 | constructor(_indent: number);
|
23 | private get _currentLine();
|
24 | println(from?: {
|
25 | sourceSpan: ParseSourceSpan | null;
|
26 | } | null, lastPart?: string): void;
|
27 | lineIsEmpty(): boolean;
|
28 | lineLength(): number;
|
29 | print(from: {
|
30 | sourceSpan: ParseSourceSpan | null;
|
31 | } | null, part: string, newLine?: boolean): void;
|
32 | removeEmptyLastLine(): void;
|
33 | incIndent(): void;
|
34 | decIndent(): void;
|
35 | pushClass(clazz: o.ClassStmt): void;
|
36 | popClass(): o.ClassStmt;
|
37 | get currentClass(): o.ClassStmt | null;
|
38 | toSource(): string;
|
39 | toSourceMapGenerator(genFilePath: string, startsAtLine?: number): SourceMapGenerator;
|
40 | setPreambleLineCount(count: number): number;
|
41 | spanOf(line: number, column: number): ParseSourceSpan | null;
|
42 | private get sourceLines();
|
43 | }
|
44 | export declare abstract class AbstractEmitterVisitor implements o.StatementVisitor, o.ExpressionVisitor {
|
45 | private _escapeDollarInStrings;
|
46 | constructor(_escapeDollarInStrings: boolean);
|
47 | visitExpressionStmt(stmt: o.ExpressionStatement, ctx: EmitterVisitorContext): any;
|
48 | visitReturnStmt(stmt: o.ReturnStatement, ctx: EmitterVisitorContext): any;
|
49 | abstract visitCastExpr(ast: o.CastExpr, context: any): any;
|
50 | abstract visitDeclareClassStmt(stmt: o.ClassStmt, ctx: EmitterVisitorContext): any;
|
51 | visitIfStmt(stmt: o.IfStmt, ctx: EmitterVisitorContext): any;
|
52 | abstract visitTryCatchStmt(stmt: o.TryCatchStmt, ctx: EmitterVisitorContext): any;
|
53 | visitThrowStmt(stmt: o.ThrowStmt, ctx: EmitterVisitorContext): any;
|
54 | visitCommentStmt(stmt: o.CommentStmt, ctx: EmitterVisitorContext): any;
|
55 | visitJSDocCommentStmt(stmt: o.JSDocCommentStmt, ctx: EmitterVisitorContext): null;
|
56 | abstract visitDeclareVarStmt(stmt: o.DeclareVarStmt, ctx: EmitterVisitorContext): any;
|
57 | visitWriteVarExpr(expr: o.WriteVarExpr, ctx: EmitterVisitorContext): any;
|
58 | visitWriteKeyExpr(expr: o.WriteKeyExpr, ctx: EmitterVisitorContext): any;
|
59 | visitWritePropExpr(expr: o.WritePropExpr, ctx: EmitterVisitorContext): any;
|
60 | visitInvokeMethodExpr(expr: o.InvokeMethodExpr, ctx: EmitterVisitorContext): any;
|
61 | abstract getBuiltinMethodName(method: o.BuiltinMethod): string;
|
62 | visitInvokeFunctionExpr(expr: o.InvokeFunctionExpr, ctx: EmitterVisitorContext): any;
|
63 | visitWrappedNodeExpr(ast: o.WrappedNodeExpr<any>, ctx: EmitterVisitorContext): any;
|
64 | visitTypeofExpr(expr: o.TypeofExpr, ctx: EmitterVisitorContext): any;
|
65 | visitReadVarExpr(ast: o.ReadVarExpr, ctx: EmitterVisitorContext): any;
|
66 | visitInstantiateExpr(ast: o.InstantiateExpr, ctx: EmitterVisitorContext): any;
|
67 | visitLiteralExpr(ast: o.LiteralExpr, ctx: EmitterVisitorContext): any;
|
68 | visitLocalizedString(ast: o.LocalizedString, ctx: EmitterVisitorContext): any;
|
69 | abstract visitExternalExpr(ast: o.ExternalExpr, ctx: EmitterVisitorContext): any;
|
70 | visitConditionalExpr(ast: o.ConditionalExpr, ctx: EmitterVisitorContext): any;
|
71 | visitNotExpr(ast: o.NotExpr, ctx: EmitterVisitorContext): any;
|
72 | visitAssertNotNullExpr(ast: o.AssertNotNull, ctx: EmitterVisitorContext): any;
|
73 | abstract visitFunctionExpr(ast: o.FunctionExpr, ctx: EmitterVisitorContext): any;
|
74 | abstract visitDeclareFunctionStmt(stmt: o.DeclareFunctionStmt, context: any): any;
|
75 | visitBinaryOperatorExpr(ast: o.BinaryOperatorExpr, ctx: EmitterVisitorContext): any;
|
76 | visitReadPropExpr(ast: o.ReadPropExpr, ctx: EmitterVisitorContext): any;
|
77 | visitReadKeyExpr(ast: o.ReadKeyExpr, ctx: EmitterVisitorContext): any;
|
78 | visitLiteralArrayExpr(ast: o.LiteralArrayExpr, ctx: EmitterVisitorContext): any;
|
79 | visitLiteralMapExpr(ast: o.LiteralMapExpr, ctx: EmitterVisitorContext): any;
|
80 | visitCommaExpr(ast: o.CommaExpr, ctx: EmitterVisitorContext): any;
|
81 | visitAllExpressions(expressions: o.Expression[], ctx: EmitterVisitorContext, separator: string): void;
|
82 | visitAllObjects<T>(handler: (t: T) => void, expressions: T[], ctx: EmitterVisitorContext, separator: string): void;
|
83 | visitAllStatements(statements: o.Statement[], ctx: EmitterVisitorContext): void;
|
84 | }
|
85 | export declare function escapeIdentifier(input: string, escapeDollar: boolean, alwaysQuote?: boolean): any;
|