UNPKG

4.9 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright Google Inc. All Rights Reserved.
4 *
5 * Use of this source code is governed by an MIT-style license that can be
6 * found in the LICENSE file at https://angular.io/license
7 */
8import { ParseSourceSpan } from '../parse_util';
9import * as o from './output_ast';
10import { SourceMapGenerator } from './source_map';
11export declare const CATCH_ERROR_VAR: o.ReadVarExpr;
12export declare const CATCH_STACK_VAR: o.ReadVarExpr;
13export interface OutputEmitter {
14 emitStatements(genFilePath: string, stmts: o.Statement[], preamble?: string | null): string;
15}
16export 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}
44export 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}
85export declare function escapeIdentifier(input: string, escapeDollar: boolean, alwaysQuote?: boolean): any;