public class JsCodeGenerator extends CodeGeneratorBase
JsWriter.| Modifier and Type | Field and Description |
|---|---|
static List<String> |
ANNOTATIONS_TO_TRIGGER_AT_RUNTIME |
static String |
DEFAULT_ANNOTATION_PARAMETER_NAME |
static String |
INIT_STATICS |
static Set<String> |
PRIMITIVES |
compilationUnitModelResolver, out, PROPERTY_CLASS_INSTANCE| Constructor and Description |
|---|
JsCodeGenerator(JsWriter out,
CompilationUnitResolver compilationUnitModelResolver,
JsModuleResolver jsModuleResolver) |
addBlockStartCodeGenerator, findFunctionDeclaration, findMemberWithBindableAnnotation, getBindablePropertiesByName, getBindablePropertyName, getObjectAndProperty, getPropertiesClassAssignments, isPropertiesClass, isPropertiesSubclass, renderPropertiesClassValues, visitAll, visitAnnotationParameter, visitApplyExprArguments, visitArrayIndexExpr, visitArrayLiteral, visitAsExpr, visitBinaryOpExpr, visitBlockStatement, visitBlockStatementDirectives, visitBreakStatement, visitCaseStatement, visitCatch, visitClassBodyDirectives, visitCommaSeparatedList, visitConditionalExpr, visitContinueStatement, visitDefaultStatement, visitDoStatement, visitEmptyDeclaration, visitEmptyStatement, visitForInitializer, visitForStatement, visitIfNotNull, visitIfNotNull, visitIfStatement, visitImplements, visitInfixOpExpr, visitInitializer, visitIsExpr, visitLabeledStatement, visitLiteralExpr, visitNewExpr, visitObjectField, visitObjectFieldValue, visitObjectLiteral, visitParenthesizedExpr, visitPostfixOpExpr, visitPredefinedTypeDeclaration, visitReturnStatement, visitSemicolonTerminatedStatement, visitSwitchStatement, visitThrowStatement, visitTryStatement, visitType, visitWhileStatement, writeModifiers, writeOptSymbol, writeOptSymbol, writeOptSymbolWhitespace, writeSymbolReplacementpublic static final List<String> ANNOTATIONS_TO_TRIGGER_AT_RUNTIME
public static final String DEFAULT_ANNOTATION_PARAMETER_NAME
public static final String INIT_STATICS
public JsCodeGenerator(JsWriter out, CompilationUnitResolver compilationUnitModelResolver, JsModuleResolver jsModuleResolver)
public static boolean generatesCode(IdeDeclaration primaryDeclaration)
public void visitDotExpr(DotExpr dotExpr) throws IOException
visitDotExpr in interface AstVisitorvisitDotExpr in class CodeGeneratorBaseIOExceptionpublic void visitPrefixOpExpr(PrefixOpExpr prefixOpExpr) throws IOException
visitPrefixOpExpr in interface AstVisitorvisitPrefixOpExpr in class CodeGeneratorBaseIOExceptionpublic void visitTypeRelation(TypeRelation typeRelation) throws IOException
visitTypeRelation in interface AstVisitorvisitTypeRelation in class CodeGeneratorBaseIOExceptionpublic void visitExtends(Extends anExtends) throws IOException
visitExtends in interface AstVisitorvisitExtends in class CodeGeneratorBaseIOExceptionpublic void visitCompilationUnit(CompilationUnit compilationUnit) throws IOException
visitCompilationUnit in interface AstVisitorvisitCompilationUnit in class CodeGeneratorBaseIOExceptionpublic void visitIde(Ide ide) throws IOException
visitIde in interface AstVisitorvisitIde in class CodeGeneratorBaseIOExceptionpublic void visitQualifiedIde(QualifiedIde qualifiedIde) throws IOException
visitQualifiedIde in interface AstVisitorvisitQualifiedIde in class CodeGeneratorBaseIOExceptionpublic void visitIdeWithTypeParam(IdeWithTypeParam ideWithTypeParam) throws IOException
visitIdeWithTypeParam in interface AstVisitorvisitIdeWithTypeParam in class CodeGeneratorBaseIOExceptionpublic void visitNamespacedIde(NamespacedIde namespacedIde) throws IOException
visitNamespacedIde in interface AstVisitorvisitNamespacedIde in class CodeGeneratorBaseIOExceptionpublic void visitIdeExpression(IdeExpr ideExpr) throws IOException
visitIdeExpression in interface AstVisitorvisitIdeExpression in class CodeGeneratorBaseIOExceptionpublic void visitAssignmentOpExpr(AssignmentOpExpr assignmentOpExpr) throws IOException
visitAssignmentOpExpr in interface AstVisitorvisitAssignmentOpExpr in class CodeGeneratorBaseIOExceptionpublic void visitParameters(Parameters parameters) throws IOException
visitParameters in interface AstVisitorvisitParameters in class CodeGeneratorBaseIOExceptionpublic void visitFunctionExpr(FunctionExpr functionExpr) throws IOException
visitFunctionExpr in interface AstVisitorvisitFunctionExpr in class CodeGeneratorBaseIOExceptionpublic void handleParameters(FunctionExpr functionExpr) throws IOException
IOExceptionpublic void generateFunTailCode(FunctionExpr functionExpr) throws IOException
IOExceptionpublic CodeGenerator getParameterInitializerCodeGenerator(Parameters params)
public CodeGenerator getEcmaParameterInitializerCodeGenerator(Parameters params)
public void generateRestParamCode(Parameters params) throws IOException
IOExceptionpublic void generateBodyInitializerCode(Parameter param) throws IOException
IOExceptionpublic void visitVectorLiteral(VectorLiteral vectorLiteral) throws IOException
visitVectorLiteral in interface AstVisitorvisitVectorLiteral in class CodeGeneratorBaseIOExceptionprotected void handleExmlAppendPrepend(ObjectField objectField, DotExpr exmlAppendOrPrepend) throws IOException
handleExmlAppendPrepend in class CodeGeneratorBaseIOExceptionpublic void visitApplyExpr(ApplyExpr applyExpr) throws IOException
visitApplyExpr in interface AstVisitorvisitApplyExpr in class CodeGeneratorBaseIOExceptionpublic void visitClassBody(ClassBody classBody) throws IOException
visitClassBody in interface AstVisitorvisitClassBody in class CodeGeneratorBaseIOExceptionprotected String builtInIdentifierCode(String builtInIdentifier)
builtInIdentifierCode in class CodeGeneratorBasepublic void visitForInStatement(ForInStatement forInStatement) throws IOException
visitForInStatement in interface AstVisitorvisitForInStatement in class CodeGeneratorBaseIOExceptionpublic void visitParameter(Parameter parameter) throws IOException
visitParameter in interface AstVisitorvisitParameter in class CodeGeneratorBaseIOExceptionpublic void visitVariableDeclaration(VariableDeclaration variableDeclaration) throws IOException
visitVariableDeclaration in interface AstVisitorvisitVariableDeclaration in class CodeGeneratorBaseIOExceptionprotected void generateVarStartCode(VariableDeclaration variableDeclaration) throws IOException
IOExceptionprotected void generateFieldInitializerCode(VariableDeclaration variableDeclaration) throws IOException
IOExceptionprotected void generateFieldEndCode(VariableDeclaration variableDeclaration) throws IOException
IOExceptionpublic void visitFunctionDeclaration(FunctionDeclaration functionDeclaration) throws IOException
visitFunctionDeclaration in interface AstVisitorvisitFunctionDeclaration in class CodeGeneratorBaseIOExceptionpublic void visitClassDeclaration(ClassDeclaration classDeclaration) throws IOException
visitClassDeclaration in interface AstVisitorvisitClassDeclaration in class CodeGeneratorBaseIOExceptionpublic static boolean needsSuperCallCodeGenerator(ClassDeclaration classDeclaration)
public void visitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration) throws IOException
visitNamespaceDeclaration in interface AstVisitorvisitNamespaceDeclaration in class CodeGeneratorBaseIOExceptionpublic void visitPackageDeclaration(PackageDeclaration packageDeclaration) throws IOException
visitPackageDeclaration in interface AstVisitorvisitPackageDeclaration in class CodeGeneratorBaseIOExceptionpublic void visitSuperConstructorCallStatement(SuperConstructorCallStatement superConstructorCallStatement) throws IOException
visitSuperConstructorCallStatement in interface AstVisitorvisitSuperConstructorCallStatement in class CodeGeneratorBaseIOExceptionpublic void visitAnnotation(Annotation annotation) throws IOException
visitAnnotation in interface AstVisitorvisitAnnotation in class CodeGeneratorBaseIOExceptionpublic void visitUseNamespaceDirective(UseNamespaceDirective useNamespaceDirective) throws IOException
visitUseNamespaceDirective in interface AstVisitorvisitUseNamespaceDirective in class CodeGeneratorBaseIOExceptionpublic void visitImportDirective(ImportDirective importDirective) throws IOException
visitImportDirective in interface AstVisitorvisitImportDirective in class CodeGeneratorBaseIOExceptionCopyright © 2002–2021 CoreMedia AG. All rights reserved.