org.stjs.generator.javascript.rhino
Class RhinoJavaScriptWriter

java.lang.Object
  extended by org.stjs.generator.javascript.rhino.RhinoJavaScriptWriter
All Implemented Interfaces:
AstVisitor<Boolean>

public class RhinoJavaScriptWriter
extends Object
implements AstVisitor<Boolean>

This class visits a JavaScript AST tree and generate the corresponding source code. It handles also the source maps.

Author:
acraciun

Constructor Summary
RhinoJavaScriptWriter(Writer writer, File inputFile, boolean generateSourceMap)
           
 
Method Summary
 void addSourceMapURL()
           
 void endPosition()
           
 com.google.debugging.sourcemap.SourceMapGenerator getSourceMapGenerator()
           
protected  RhinoJavaScriptWriter indent()
           
protected  void makeIndent()
           
protected  RhinoJavaScriptWriter print(String arg)
           
protected  void printBinaryOperator(int op, org.mozilla.javascript.ast.AstNode left, org.mozilla.javascript.ast.AstNode right, Boolean param)
           
protected  RhinoJavaScriptWriter printComments(org.mozilla.javascript.ast.AstNode node)
           
protected
<T extends org.mozilla.javascript.ast.AstNode>
void
printList(List<T> items, Boolean param)
           
 RhinoJavaScriptWriter println()
           
 RhinoJavaScriptWriter println(String arg)
           
 void startPosition(org.mozilla.javascript.ast.AstNode node)
           
protected  RhinoJavaScriptWriter unindent()
           
 void visitArrayLiteral(org.mozilla.javascript.ast.ArrayLiteral a, Boolean param)
           
 void visitAssignment(org.mozilla.javascript.ast.Assignment a, Boolean param)
           
 void visitAstRoot(org.mozilla.javascript.ast.AstRoot r, Boolean param)
           
 void visitBlock(org.mozilla.javascript.ast.Block block, Boolean param)
           
 void visitBreakStatemen(org.mozilla.javascript.ast.BreakStatement b, Boolean param)
           
 void visitCatchClause(org.mozilla.javascript.ast.CatchClause c, Boolean param)
           
 void visitCodeFragment(org.stjs.generator.javascript.rhino.CodeFragment c, Boolean param)
           
 void visitConditionalExpression(org.mozilla.javascript.ast.ConditionalExpression c, Boolean param)
           
 void visitContinueStatement(org.mozilla.javascript.ast.ContinueStatement c, Boolean param)
           
 void visitDoLoop(org.mozilla.javascript.ast.DoLoop d, Boolean param)
           
 void visitElementGet(org.mozilla.javascript.ast.ElementGet eg, Boolean param)
           
 void visitEmptyExpression(org.mozilla.javascript.ast.EmptyExpression s, Boolean param)
           
 void visitEmptyStatement(org.mozilla.javascript.ast.EmptyStatement s, Boolean param)
           
 void visitExpressionStatement(org.mozilla.javascript.ast.ExpressionStatement e, Boolean param)
           
 void visitForInLoop(org.mozilla.javascript.ast.ForInLoop f, Boolean param)
           
 void visitForLoop(org.mozilla.javascript.ast.ForLoop f, Boolean param)
           
 void visitFunctionCall(org.mozilla.javascript.ast.FunctionCall fc, Boolean param)
           
 void visitFunctionNode(org.mozilla.javascript.ast.FunctionNode f, Boolean param)
           
 void visitIfStatement(org.mozilla.javascript.ast.IfStatement ifs, Boolean param)
           
 void visitInfixExpression(org.mozilla.javascript.ast.InfixExpression ie, Boolean param)
           
 void visitKeywordLiteral(org.mozilla.javascript.ast.KeywordLiteral k, Boolean param)
           
 void visitLabel(org.mozilla.javascript.ast.Label label, Boolean param)
           
 void visitLabeledStatement(org.mozilla.javascript.ast.LabeledStatement labelStatement, Boolean param)
           
 void visitName(org.mozilla.javascript.ast.Name name, Boolean param)
           
 void visitNewExpression(org.mozilla.javascript.ast.NewExpression ne, Boolean param)
           
 void visitNumberLitera(org.mozilla.javascript.ast.NumberLiteral n, Boolean param)
           
 void visitObjectLiteral(org.mozilla.javascript.ast.ObjectLiteral p, Boolean param)
           
 void visitObjectProperty(org.mozilla.javascript.ast.ObjectProperty p, Boolean param)
           
 void visitParenthesizedExpression(org.mozilla.javascript.ast.ParenthesizedExpression p, Boolean param)
           
 void visitPropertyGet(org.mozilla.javascript.ast.PropertyGet p, Boolean param)
           
 void visitReturnStatement(org.mozilla.javascript.ast.ReturnStatement r, Boolean param)
           
 void visitStatements(org.stjs.generator.javascript.rhino.Statements s, Boolean param)
           
 void visitStringLiteral(org.mozilla.javascript.ast.StringLiteral expr, Boolean param)
           
 void visitSwitchCase(org.mozilla.javascript.ast.SwitchCase s, Boolean param)
           
 void visitSwitchStatement(org.mozilla.javascript.ast.SwitchStatement s, Boolean param)
           
 void visitThrowStatement(org.mozilla.javascript.ast.ThrowStatement e, Boolean param)
           
 void visitTryStatement(org.mozilla.javascript.ast.TryStatement t, Boolean param)
           
 void visitUnaryExpression(org.mozilla.javascript.ast.UnaryExpression u, Boolean param)
           
 void visitVariableDeclaration(org.mozilla.javascript.ast.VariableDeclaration v, Boolean param)
           
 void visitVariableInitializer(org.mozilla.javascript.ast.VariableInitializer v, Boolean param)
           
 void visitWhileLoop(org.mozilla.javascript.ast.WhileLoop w, Boolean param)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RhinoJavaScriptWriter

public RhinoJavaScriptWriter(Writer writer,
                             File inputFile,
                             boolean generateSourceMap)
Method Detail

indent

protected RhinoJavaScriptWriter indent()

unindent

protected RhinoJavaScriptWriter unindent()

makeIndent

protected void makeIndent()

print

protected RhinoJavaScriptWriter print(String arg)

printComments

protected RhinoJavaScriptWriter printComments(org.mozilla.javascript.ast.AstNode node)

println

public RhinoJavaScriptWriter println(String arg)

println

public RhinoJavaScriptWriter println()

visitArrayLiteral

public void visitArrayLiteral(org.mozilla.javascript.ast.ArrayLiteral a,
                              Boolean param)
Specified by:
visitArrayLiteral in interface AstVisitor<Boolean>

printList

protected <T extends org.mozilla.javascript.ast.AstNode> void printList(List<T> items,
                                                                        Boolean param)

visitAssignment

public void visitAssignment(org.mozilla.javascript.ast.Assignment a,
                            Boolean param)
Specified by:
visitAssignment in interface AstVisitor<Boolean>

printBinaryOperator

protected void printBinaryOperator(int op,
                                   org.mozilla.javascript.ast.AstNode left,
                                   org.mozilla.javascript.ast.AstNode right,
                                   Boolean param)

visitAstRoot

public void visitAstRoot(org.mozilla.javascript.ast.AstRoot r,
                         Boolean param)
Specified by:
visitAstRoot in interface AstVisitor<Boolean>

visitBlock

public void visitBlock(org.mozilla.javascript.ast.Block block,
                       Boolean param)
Specified by:
visitBlock in interface AstVisitor<Boolean>

visitBreakStatemen

public void visitBreakStatemen(org.mozilla.javascript.ast.BreakStatement b,
                               Boolean param)
Specified by:
visitBreakStatemen in interface AstVisitor<Boolean>

visitCatchClause

public void visitCatchClause(org.mozilla.javascript.ast.CatchClause c,
                             Boolean param)
Specified by:
visitCatchClause in interface AstVisitor<Boolean>

visitConditionalExpression

public void visitConditionalExpression(org.mozilla.javascript.ast.ConditionalExpression c,
                                       Boolean param)
Specified by:
visitConditionalExpression in interface AstVisitor<Boolean>

visitContinueStatement

public void visitContinueStatement(org.mozilla.javascript.ast.ContinueStatement c,
                                   Boolean param)
Specified by:
visitContinueStatement in interface AstVisitor<Boolean>

visitDoLoop

public void visitDoLoop(org.mozilla.javascript.ast.DoLoop d,
                        Boolean param)
Specified by:
visitDoLoop in interface AstVisitor<Boolean>

visitElementGet

public void visitElementGet(org.mozilla.javascript.ast.ElementGet eg,
                            Boolean param)
Specified by:
visitElementGet in interface AstVisitor<Boolean>

visitEmptyStatement

public void visitEmptyStatement(org.mozilla.javascript.ast.EmptyStatement s,
                                Boolean param)
Specified by:
visitEmptyStatement in interface AstVisitor<Boolean>

visitEmptyExpression

public void visitEmptyExpression(org.mozilla.javascript.ast.EmptyExpression s,
                                 Boolean param)
Specified by:
visitEmptyExpression in interface AstVisitor<Boolean>

visitExpressionStatement

public void visitExpressionStatement(org.mozilla.javascript.ast.ExpressionStatement e,
                                     Boolean param)
Specified by:
visitExpressionStatement in interface AstVisitor<Boolean>

visitForInLoop

public void visitForInLoop(org.mozilla.javascript.ast.ForInLoop f,
                           Boolean param)
Specified by:
visitForInLoop in interface AstVisitor<Boolean>

visitForLoop

public void visitForLoop(org.mozilla.javascript.ast.ForLoop f,
                         Boolean param)
Specified by:
visitForLoop in interface AstVisitor<Boolean>

visitFunctionCall

public void visitFunctionCall(org.mozilla.javascript.ast.FunctionCall fc,
                              Boolean param)
Specified by:
visitFunctionCall in interface AstVisitor<Boolean>

visitFunctionNode

public void visitFunctionNode(org.mozilla.javascript.ast.FunctionNode f,
                              Boolean param)
Specified by:
visitFunctionNode in interface AstVisitor<Boolean>

visitIfStatement

public void visitIfStatement(org.mozilla.javascript.ast.IfStatement ifs,
                             Boolean param)
Specified by:
visitIfStatement in interface AstVisitor<Boolean>

visitInfixExpression

public void visitInfixExpression(org.mozilla.javascript.ast.InfixExpression ie,
                                 Boolean param)
Specified by:
visitInfixExpression in interface AstVisitor<Boolean>

visitKeywordLiteral

public void visitKeywordLiteral(org.mozilla.javascript.ast.KeywordLiteral k,
                                Boolean param)
Specified by:
visitKeywordLiteral in interface AstVisitor<Boolean>

visitLabel

public void visitLabel(org.mozilla.javascript.ast.Label label,
                       Boolean param)
Specified by:
visitLabel in interface AstVisitor<Boolean>

visitLabeledStatement

public void visitLabeledStatement(org.mozilla.javascript.ast.LabeledStatement labelStatement,
                                  Boolean param)
Specified by:
visitLabeledStatement in interface AstVisitor<Boolean>

visitName

public void visitName(org.mozilla.javascript.ast.Name name,
                      Boolean param)
Specified by:
visitName in interface AstVisitor<Boolean>

visitNewExpression

public void visitNewExpression(org.mozilla.javascript.ast.NewExpression ne,
                               Boolean param)
Specified by:
visitNewExpression in interface AstVisitor<Boolean>

visitNumberLitera

public void visitNumberLitera(org.mozilla.javascript.ast.NumberLiteral n,
                              Boolean param)
Specified by:
visitNumberLitera in interface AstVisitor<Boolean>

visitObjectLiteral

public void visitObjectLiteral(org.mozilla.javascript.ast.ObjectLiteral p,
                               Boolean param)
Specified by:
visitObjectLiteral in interface AstVisitor<Boolean>

visitObjectProperty

public void visitObjectProperty(org.mozilla.javascript.ast.ObjectProperty p,
                                Boolean param)
Specified by:
visitObjectProperty in interface AstVisitor<Boolean>

visitParenthesizedExpression

public void visitParenthesizedExpression(org.mozilla.javascript.ast.ParenthesizedExpression p,
                                         Boolean param)
Specified by:
visitParenthesizedExpression in interface AstVisitor<Boolean>

visitPropertyGet

public void visitPropertyGet(org.mozilla.javascript.ast.PropertyGet p,
                             Boolean param)
Specified by:
visitPropertyGet in interface AstVisitor<Boolean>

visitReturnStatement

public void visitReturnStatement(org.mozilla.javascript.ast.ReturnStatement r,
                                 Boolean param)
Specified by:
visitReturnStatement in interface AstVisitor<Boolean>

visitStatements

public void visitStatements(org.stjs.generator.javascript.rhino.Statements s,
                            Boolean param)
Specified by:
visitStatements in interface AstVisitor<Boolean>

visitStringLiteral

public void visitStringLiteral(org.mozilla.javascript.ast.StringLiteral expr,
                               Boolean param)
Specified by:
visitStringLiteral in interface AstVisitor<Boolean>

visitSwitchCase

public void visitSwitchCase(org.mozilla.javascript.ast.SwitchCase s,
                            Boolean param)
Specified by:
visitSwitchCase in interface AstVisitor<Boolean>

visitSwitchStatement

public void visitSwitchStatement(org.mozilla.javascript.ast.SwitchStatement s,
                                 Boolean param)
Specified by:
visitSwitchStatement in interface AstVisitor<Boolean>

visitTryStatement

public void visitTryStatement(org.mozilla.javascript.ast.TryStatement t,
                              Boolean param)
Specified by:
visitTryStatement in interface AstVisitor<Boolean>

visitUnaryExpression

public void visitUnaryExpression(org.mozilla.javascript.ast.UnaryExpression u,
                                 Boolean param)
Specified by:
visitUnaryExpression in interface AstVisitor<Boolean>

visitVariableDeclaration

public void visitVariableDeclaration(org.mozilla.javascript.ast.VariableDeclaration v,
                                     Boolean param)
Specified by:
visitVariableDeclaration in interface AstVisitor<Boolean>

visitVariableInitializer

public void visitVariableInitializer(org.mozilla.javascript.ast.VariableInitializer v,
                                     Boolean param)
Specified by:
visitVariableInitializer in interface AstVisitor<Boolean>

visitWhileLoop

public void visitWhileLoop(org.mozilla.javascript.ast.WhileLoop w,
                           Boolean param)
Specified by:
visitWhileLoop in interface AstVisitor<Boolean>

visitThrowStatement

public void visitThrowStatement(org.mozilla.javascript.ast.ThrowStatement e,
                                Boolean param)
Specified by:
visitThrowStatement in interface AstVisitor<Boolean>

startPosition

public void startPosition(org.mozilla.javascript.ast.AstNode node)

endPosition

public void endPosition()

addSourceMapURL

public void addSourceMapURL()

getSourceMapGenerator

public com.google.debugging.sourcemap.SourceMapGenerator getSourceMapGenerator()

visitCodeFragment

public void visitCodeFragment(org.stjs.generator.javascript.rhino.CodeFragment c,
                              Boolean param)
Specified by:
visitCodeFragment in interface AstVisitor<Boolean>


Copyright © 2014. All Rights Reserved.