net.jangaroo.jooc.backend
Class ApiCodeGenerator

java.lang.Object
  extended by net.jangaroo.jooc.backend.CodeGeneratorBase
      extended by net.jangaroo.jooc.backend.ApiCodeGenerator
All Implemented Interfaces:
AstVisitor

public class ApiCodeGenerator
extends CodeGeneratorBase

A visitor of the AST that generates executable reduced ActionScript code on a JsWriter. The reduced code can then be run through the asdoc tool.


Field Summary
 
Fields inherited from class net.jangaroo.jooc.backend.CodeGeneratorBase
out
 
Constructor Summary
ApiCodeGenerator(JsWriter out)
           
 
Method Summary
 void generateSignatureAsApiCode(JsWriter out, FunctionExpr fun)
           
 void visitAnnotation(Annotation annotation)
           
 void visitAnnotationParameter(AnnotationParameter annotationParameter)
           
 void visitApplyExpr(ApplyExpr applyExpr)
           
 void visitArrayIndexExpr(ArrayIndexExpr arrayIndexExpr)
           
 void visitArrayLiteral(ArrayLiteral arrayLiteral)
           
 void visitAsExpr(AsExpr asExpr)
           
 void visitAssignmentOpExpr(AssignmentOpExpr assignmentOpExpr)
           
 void visitBlockStatement(BlockStatement blockStatement)
           
 void visitBreakStatement(BreakStatement breakStatement)
           
 void visitCaseStatement(CaseStatement caseStatement)
           
 void visitCatch(Catch aCatch)
           
 void visitClassBody(ClassBody classBody)
           
 void visitClassDeclaration(ClassDeclaration classDeclaration)
           
 void visitCompilationUnit(CompilationUnit compilationUnit)
           
 void visitContinueStatement(ContinueStatement continueStatement)
           
 void visitDefaultStatement(DefaultStatement defaultStatement)
           
 void visitDoStatement(DoStatement doStatement)
           
 void visitEmptyDeclaration(EmptyDeclaration emptyDeclaration)
           
 void visitEmptyStatement(EmptyStatement emptyStatement)
           
 void visitExtends(Extends anExtends)
           
 void visitForInitializer(ForInitializer forInitializer)
           
 void visitForInStatement(ForInStatement forInStatement)
           
 void visitForStatement(ForStatement forStatement)
           
 void visitFunctionDeclaration(FunctionDeclaration functionDeclaration)
           
 void visitFunctionExpr(FunctionExpr functionExpr)
           
 void visitIde(Ide ide)
           
 void visitIdeExpression(IdeExpr ideExpr)
           
 void visitIdeWithTypeParam(IdeWithTypeParam ideWithTypeParam)
           
 void visitIfStatement(IfStatement ifStatement)
           
 void visitImplements(Implements anImplements)
           
 void visitImportDirective(ImportDirective importDirective)
           
 void visitInfixOpExpr(InfixOpExpr infixOpExpr)
           
 void visitInitializer(Initializer initializer)
           
 void visitLabeledStatement(LabeledStatement labeledStatement)
           
 void visitNamespacedDeclaration(NamespacedDeclaration namespacedDeclaration)
           
 void visitNamespacedIde(NamespacedIde namespacedIde)
           
 void visitNewExpr(NewExpr newExpr)
           
 void visitObjectField(ObjectField objectField)
           
 void visitObjectLiteral(ObjectLiteral objectLiteral)
           
 void visitPackageDeclaration(PackageDeclaration packageDeclaration)
           
 void visitParameter(Parameter parameter)
           
<T extends Expr>
void
visitParenthesizedExpr(ParenthesizedExpr<T> parenthesizedExpr)
           
 void visitQualifiedIde(QualifiedIde qualifiedIde)
           
 void visitReturnStatement(ReturnStatement returnStatement)
           
 void visitSemicolonTerminatedStatement(SemicolonTerminatedStatement semicolonTerminatedStatement)
           
 void visitSuperConstructorCallStatement(SuperConstructorCallStatement superConstructorCallStatement)
           
 void visitSwitchStatement(SwitchStatement switchStatement)
           
 void visitThrowStatement(ThrowStatement throwStatement)
           
 void visitTryStatement(TryStatement tryStatement)
           
 void visitType(Type type)
           
 void visitTypeRelation(TypeRelation typeRelation)
           
 void visitUseNamespaceDirective(UseNamespaceDirective useNamespaceDirective)
           
 void visitVariableDeclaration(VariableDeclaration variableDeclaration)
           
 void visitVectorLiteral(VectorLiteral vectorLiteral)
           
 void visitWhileStatement(WhileStatement whileStatement)
           
 
Methods inherited from class net.jangaroo.jooc.backend.CodeGeneratorBase
visitAll, visitBinaryOpExpr, visitCommaSeparatedList, visitConditionalExpr, visitDotExpr, visitIfNotNull, visitIfNotNull, visitIsExpr, visitLiteralExpr, visitParameters, visitPostfixOpExpr, visitPredefinedTypeDeclaration, visitPrefixOpExpr, writeModifiers, writeOptSymbol, writeOptSymbol, writeSymbolReplacement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApiCodeGenerator

public ApiCodeGenerator(JsWriter out)
Method Detail

visitTypeRelation

public void visitTypeRelation(TypeRelation typeRelation)
                       throws IOException
Throws:
IOException

visitAnnotationParameter

public void visitAnnotationParameter(AnnotationParameter annotationParameter)
                              throws IOException
Throws:
IOException

visitExtends

public void visitExtends(Extends anExtends)
                  throws IOException
Throws:
IOException

visitInitializer

public void visitInitializer(Initializer initializer)
                      throws IOException
Throws:
IOException

visitObjectField

public void visitObjectField(ObjectField objectField)
                      throws IOException
Throws:
IOException

visitForInitializer

public void visitForInitializer(ForInitializer forInitializer)
                         throws IOException
Throws:
IOException

visitCompilationUnit

public void visitCompilationUnit(CompilationUnit compilationUnit)
                          throws IOException
Throws:
IOException

visitIde

public void visitIde(Ide ide)
              throws IOException
Throws:
IOException

visitQualifiedIde

public void visitQualifiedIde(QualifiedIde qualifiedIde)
                       throws IOException
Throws:
IOException

visitIdeWithTypeParam

public void visitIdeWithTypeParam(IdeWithTypeParam ideWithTypeParam)
                           throws IOException
Throws:
IOException

visitNamespacedIde

public void visitNamespacedIde(NamespacedIde namespacedIde)
                        throws IOException
Throws:
IOException

visitImplements

public void visitImplements(Implements anImplements)
                     throws IOException
Throws:
IOException

visitType

public void visitType(Type type)
               throws IOException
Throws:
IOException

visitObjectLiteral

public void visitObjectLiteral(ObjectLiteral objectLiteral)
                        throws IOException
Throws:
IOException

visitIdeExpression

public void visitIdeExpression(IdeExpr ideExpr)
                        throws IOException
Throws:
IOException

visitParenthesizedExpr

public <T extends Expr> void visitParenthesizedExpr(ParenthesizedExpr<T> parenthesizedExpr)
                            throws IOException
Throws:
IOException

visitArrayLiteral

public void visitArrayLiteral(ArrayLiteral arrayLiteral)
                       throws IOException
Throws:
IOException

visitAssignmentOpExpr

public void visitAssignmentOpExpr(AssignmentOpExpr assignmentOpExpr)
                           throws IOException
Throws:
IOException

visitInfixOpExpr

public void visitInfixOpExpr(InfixOpExpr infixOpExpr)
                      throws IOException
Throws:
IOException

visitAsExpr

public void visitAsExpr(AsExpr asExpr)
                 throws IOException
Throws:
IOException

visitArrayIndexExpr

public void visitArrayIndexExpr(ArrayIndexExpr arrayIndexExpr)
                         throws IOException
Throws:
IOException

visitFunctionExpr

public void visitFunctionExpr(FunctionExpr functionExpr)
                       throws IOException
Throws:
IOException

visitVectorLiteral

public void visitVectorLiteral(VectorLiteral vectorLiteral)
                        throws IOException
Throws:
IOException

visitApplyExpr

public void visitApplyExpr(ApplyExpr applyExpr)
                    throws IOException
Throws:
IOException

visitNewExpr

public void visitNewExpr(NewExpr newExpr)
                  throws IOException
Throws:
IOException

visitClassBody

public void visitClassBody(ClassBody classBody)
                    throws IOException
Throws:
IOException

visitBlockStatement

public void visitBlockStatement(BlockStatement blockStatement)
                         throws IOException
Throws:
IOException

visitDefaultStatement

public void visitDefaultStatement(DefaultStatement defaultStatement)
                           throws IOException
Throws:
IOException

visitLabeledStatement

public void visitLabeledStatement(LabeledStatement labeledStatement)
                           throws IOException
Throws:
IOException

visitIfStatement

public void visitIfStatement(IfStatement ifStatement)
                      throws IOException
Throws:
IOException

visitCaseStatement

public void visitCaseStatement(CaseStatement caseStatement)
                        throws IOException
Throws:
IOException

visitTryStatement

public void visitTryStatement(TryStatement tryStatement)
                       throws IOException
Throws:
IOException

visitCatch

public void visitCatch(Catch aCatch)
                throws IOException
Throws:
IOException

visitForInStatement

public void visitForInStatement(ForInStatement forInStatement)
                         throws IOException
Throws:
IOException

visitWhileStatement

public void visitWhileStatement(WhileStatement whileStatement)
                         throws IOException
Throws:
IOException

visitForStatement

public void visitForStatement(ForStatement forStatement)
                       throws IOException
Throws:
IOException

visitDoStatement

public void visitDoStatement(DoStatement doStatement)
                      throws IOException
Throws:
IOException

visitSwitchStatement

public void visitSwitchStatement(SwitchStatement switchStatement)
                          throws IOException
Throws:
IOException

visitSemicolonTerminatedStatement

public void visitSemicolonTerminatedStatement(SemicolonTerminatedStatement semicolonTerminatedStatement)
                                       throws IOException
Throws:
IOException

visitContinueStatement

public void visitContinueStatement(ContinueStatement continueStatement)
                            throws IOException
Throws:
IOException

visitBreakStatement

public void visitBreakStatement(BreakStatement breakStatement)
                         throws IOException
Throws:
IOException

visitThrowStatement

public void visitThrowStatement(ThrowStatement throwStatement)
                         throws IOException
Throws:
IOException

visitReturnStatement

public void visitReturnStatement(ReturnStatement returnStatement)
                          throws IOException
Throws:
IOException

visitEmptyStatement

public void visitEmptyStatement(EmptyStatement emptyStatement)
                         throws IOException
Throws:
IOException

visitEmptyDeclaration

public void visitEmptyDeclaration(EmptyDeclaration emptyDeclaration)
                           throws IOException
Throws:
IOException

visitParameter

public void visitParameter(Parameter parameter)
                    throws IOException
Throws:
IOException

visitVariableDeclaration

public void visitVariableDeclaration(VariableDeclaration variableDeclaration)
                              throws IOException
Throws:
IOException

visitFunctionDeclaration

public void visitFunctionDeclaration(FunctionDeclaration functionDeclaration)
                              throws IOException
Throws:
IOException

generateSignatureAsApiCode

public void generateSignatureAsApiCode(JsWriter out,
                                       FunctionExpr fun)
                                throws IOException
Throws:
IOException

visitClassDeclaration

public void visitClassDeclaration(ClassDeclaration classDeclaration)
                           throws IOException
Throws:
IOException

visitNamespacedDeclaration

public void visitNamespacedDeclaration(NamespacedDeclaration namespacedDeclaration)
                                throws IOException
Throws:
IOException

visitPackageDeclaration

public void visitPackageDeclaration(PackageDeclaration packageDeclaration)
                             throws IOException
Throws:
IOException

visitSuperConstructorCallStatement

public void visitSuperConstructorCallStatement(SuperConstructorCallStatement superConstructorCallStatement)
                                        throws IOException
Throws:
IOException

visitAnnotation

public void visitAnnotation(Annotation annotation)
                     throws IOException
Throws:
IOException

visitUseNamespaceDirective

public void visitUseNamespaceDirective(UseNamespaceDirective useNamespaceDirective)
                                throws IOException
Throws:
IOException

visitImportDirective

public void visitImportDirective(ImportDirective importDirective)
                          throws IOException
Throws:
IOException


Copyright © 2002-2012 CoreMedia AG. All Rights Reserved.