1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | import * as o from '@angular/compiler';
|
10 | import { AstFactory } from './api/ast_factory';
|
11 | import { ImportGenerator } from './api/import_generator';
|
12 | import { Context } from './context';
|
13 | export declare type RecordWrappedNodeFn<TExpression> = (node: o.WrappedNodeExpr<TExpression>) => void;
|
14 | export interface TranslatorOptions<TExpression> {
|
15 | downlevelTaggedTemplates?: boolean;
|
16 | downlevelVariableDeclarations?: boolean;
|
17 | recordWrappedNode?: RecordWrappedNodeFn<TExpression>;
|
18 | annotateForClosureCompiler?: boolean;
|
19 | }
|
20 | export declare class ExpressionTranslatorVisitor<TStatement, TExpression> implements o.ExpressionVisitor, o.StatementVisitor {
|
21 | private factory;
|
22 | private imports;
|
23 | private downlevelTaggedTemplates;
|
24 | private downlevelVariableDeclarations;
|
25 | private recordWrappedNode;
|
26 | constructor(factory: AstFactory<TStatement, TExpression>, imports: ImportGenerator<TExpression>, options: TranslatorOptions<TExpression>);
|
27 | visitDeclareVarStmt(stmt: o.DeclareVarStmt, context: Context): TStatement;
|
28 | visitDeclareFunctionStmt(stmt: o.DeclareFunctionStmt, context: Context): TStatement;
|
29 | visitExpressionStmt(stmt: o.ExpressionStatement, context: Context): TStatement;
|
30 | visitReturnStmt(stmt: o.ReturnStatement, context: Context): TStatement;
|
31 | visitIfStmt(stmt: o.IfStmt, context: Context): TStatement;
|
32 | visitReadVarExpr(ast: o.ReadVarExpr, _context: Context): TExpression;
|
33 | visitWriteVarExpr(expr: o.WriteVarExpr, context: Context): TExpression;
|
34 | visitWriteKeyExpr(expr: o.WriteKeyExpr, context: Context): TExpression;
|
35 | visitWritePropExpr(expr: o.WritePropExpr, context: Context): TExpression;
|
36 | visitInvokeFunctionExpr(ast: o.InvokeFunctionExpr, context: Context): TExpression;
|
37 | visitTaggedTemplateExpr(ast: o.TaggedTemplateExpr, context: Context): TExpression;
|
38 | visitInstantiateExpr(ast: o.InstantiateExpr, context: Context): TExpression;
|
39 | visitLiteralExpr(ast: o.LiteralExpr, _context: Context): TExpression;
|
40 | visitLocalizedString(ast: o.LocalizedString, context: Context): TExpression;
|
41 | private createTaggedTemplateExpression;
|
42 | /**
|
43 | * Translate the tagged template literal into a call that is compatible with ES5, using the
|
44 | * imported `__makeTemplateObject` helper for ES5 formatted output.
|
45 | */
|
46 | private createES5TaggedTemplateFunctionCall;
|
47 | visitExternalExpr(ast: o.ExternalExpr, _context: Context): TExpression;
|
48 | visitConditionalExpr(ast: o.ConditionalExpr, context: Context): TExpression;
|
49 | visitNotExpr(ast: o.NotExpr, context: Context): TExpression;
|
50 | visitFunctionExpr(ast: o.FunctionExpr, context: Context): TExpression;
|
51 | visitBinaryOperatorExpr(ast: o.BinaryOperatorExpr, context: Context): TExpression;
|
52 | visitReadPropExpr(ast: o.ReadPropExpr, context: Context): TExpression;
|
53 | visitReadKeyExpr(ast: o.ReadKeyExpr, context: Context): TExpression;
|
54 | visitLiteralArrayExpr(ast: o.LiteralArrayExpr, context: Context): TExpression;
|
55 | visitLiteralMapExpr(ast: o.LiteralMapExpr, context: Context): TExpression;
|
56 | visitCommaExpr(ast: o.CommaExpr, context: Context): never;
|
57 | visitWrappedNodeExpr(ast: o.WrappedNodeExpr<any>, _context: Context): any;
|
58 | visitTypeofExpr(ast: o.TypeofExpr, context: Context): TExpression;
|
59 | visitUnaryOperatorExpr(ast: o.UnaryOperatorExpr, context: Context): TExpression;
|
60 | private visitStatements;
|
61 | private setSourceMapRange;
|
62 | private attachComments;
|
63 | }
|