org.stjs.generator.javascript.rhino
Class RhinoJavaScriptBuilder

java.lang.Object
  extended by org.stjs.generator.javascript.rhino.RhinoJavaScriptBuilder
All Implemented Interfaces:
JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

public class RhinoJavaScriptBuilder
extends Object
implements JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

this JavaScript builder uses the rhino AST nodes to build the synthax tree.

Author:
acraciun

Constructor Summary
RhinoJavaScriptBuilder()
           
 
Method Summary
 org.mozilla.javascript.ast.AstNode addStatement(org.mozilla.javascript.ast.AstNode blockOrStatement, org.mozilla.javascript.ast.AstNode statement)
           
 org.mozilla.javascript.ast.AstNode addStatementBeginning(org.mozilla.javascript.ast.AstNode blockOrStatement, org.mozilla.javascript.ast.AstNode statement)
           
 org.mozilla.javascript.ast.AstNode array(Iterable<org.mozilla.javascript.ast.AstNode> values)
           
 org.mozilla.javascript.ast.AstNode asExpressionList(Iterable<org.mozilla.javascript.ast.AstNode> nodes)
           
 org.mozilla.javascript.ast.AstNode assignment(AssignOperator operator, org.mozilla.javascript.ast.AstNode left, org.mozilla.javascript.ast.AstNode right)
           
 org.mozilla.javascript.ast.AstNode binary(BinaryOperator operator, Iterable<org.mozilla.javascript.ast.AstNode> operands)
           
 org.mozilla.javascript.ast.AstNode block(Iterable<org.mozilla.javascript.ast.AstNode> statements)
           
 org.mozilla.javascript.ast.AstNode breakStatement(org.mozilla.javascript.ast.AstNode label)
           
 org.mozilla.javascript.ast.AstNode caseStatement(org.mozilla.javascript.ast.AstNode expression, Iterable<org.mozilla.javascript.ast.AstNode> statements)
           
 org.mozilla.javascript.ast.AstNode catchClause(org.mozilla.javascript.ast.AstNode varName, org.mozilla.javascript.ast.AstNode body)
           
 org.mozilla.javascript.ast.AstNode character(String c)
           
 org.mozilla.javascript.ast.AstNode code(String code)
           
 org.mozilla.javascript.ast.AstNode comment(org.mozilla.javascript.ast.AstNode node, String comment)
           
 org.mozilla.javascript.ast.AstNode conditionalExpression(org.mozilla.javascript.ast.AstNode test, org.mozilla.javascript.ast.AstNode trueExpr, org.mozilla.javascript.ast.AstNode falseExpr)
           
 org.mozilla.javascript.ast.AstNode continueStatement(org.mozilla.javascript.ast.AstNode label)
           
 org.mozilla.javascript.ast.AstNode doLoop(org.mozilla.javascript.ast.AstNode condition, org.mozilla.javascript.ast.AstNode body)
           
 org.mozilla.javascript.ast.AstNode elementGet(org.mozilla.javascript.ast.AstNode target, org.mozilla.javascript.ast.AstNode index)
           
 org.mozilla.javascript.ast.AstNode emptyExpression()
           
 org.mozilla.javascript.ast.AstNode emptyStatement()
           
 org.mozilla.javascript.ast.AstNode expressionStatement(org.mozilla.javascript.ast.AstNode expr)
           
 org.mozilla.javascript.ast.AstNode forInLoop(org.mozilla.javascript.ast.AstNode iterator, org.mozilla.javascript.ast.AstNode iterated, org.mozilla.javascript.ast.AstNode body)
           
 org.mozilla.javascript.ast.AstNode forLoop(org.mozilla.javascript.ast.AstNode init, org.mozilla.javascript.ast.AstNode condition, org.mozilla.javascript.ast.AstNode update, org.mozilla.javascript.ast.AstNode body)
           
 org.mozilla.javascript.ast.AstNode function(String name, Iterable<org.mozilla.javascript.ast.AstNode> params, org.mozilla.javascript.ast.AstNode body)
           
 org.mozilla.javascript.ast.AstNode functionCall(org.mozilla.javascript.ast.AstNode target, Iterable<org.mozilla.javascript.ast.AstNode> arguments)
           
static int getColumnNumber(org.mozilla.javascript.ast.AstNode node)
           
static int getLineNumber(org.mozilla.javascript.ast.AstNode node)
           
 org.mozilla.javascript.ast.AstNode ifStatement(org.mozilla.javascript.ast.AstNode condition, org.mozilla.javascript.ast.AstNode thenPart, org.mozilla.javascript.ast.AstNode elsePart)
           
 org.mozilla.javascript.ast.AstNode keyword(Keyword token)
           
 org.mozilla.javascript.ast.AstNode label(CharSequence name)
           
 org.mozilla.javascript.ast.AstNode labeledStatement(org.mozilla.javascript.ast.AstNode label, org.mozilla.javascript.ast.AstNode statement)
           
 org.mozilla.javascript.ast.AstNode name(CharSequence name)
           
 org.mozilla.javascript.ast.AstNode newExpression(org.mozilla.javascript.ast.AstNode target, Iterable<org.mozilla.javascript.ast.AstNode> arguments)
           
 org.mozilla.javascript.ast.AstNode number(Number n)
           
 org.mozilla.javascript.ast.AstNode object(Iterable<NameValue<org.mozilla.javascript.ast.AstNode>> props)
           
 org.mozilla.javascript.ast.AstNode paren(org.mozilla.javascript.ast.AstNode expr)
           
 org.mozilla.javascript.ast.AstNode position(org.mozilla.javascript.ast.AstNode node, int javaLineNumber, int javaColumnNumber)
           
 org.mozilla.javascript.ast.AstNode property(org.mozilla.javascript.ast.AstNode target, CharSequence name)
           
 org.mozilla.javascript.ast.AstNode returnStatement(org.mozilla.javascript.ast.AstNode returnValue)
           
 org.mozilla.javascript.ast.AstNode root(Iterable<org.mozilla.javascript.ast.AstNode> children)
           
 org.mozilla.javascript.ast.AstNode statements(Iterable<org.mozilla.javascript.ast.AstNode> stmts)
           
 org.mozilla.javascript.ast.AstNode string(String value)
           
 org.mozilla.javascript.ast.AstNode switchStatement(org.mozilla.javascript.ast.AstNode expr, Iterable<org.mozilla.javascript.ast.AstNode> cases)
           
 org.mozilla.javascript.ast.AstNode throwStatement(org.mozilla.javascript.ast.AstNode expr)
           
 String toString(org.mozilla.javascript.ast.AstNode node)
           
 org.mozilla.javascript.ast.AstNode tryStatement(org.mozilla.javascript.ast.AstNode tryBlock, Iterable<org.mozilla.javascript.ast.AstNode> catchClauses, org.mozilla.javascript.ast.AstNode finallyBlock)
           
 org.mozilla.javascript.ast.AstNode unary(UnaryOperator operator, org.mozilla.javascript.ast.AstNode operand)
           
 org.mozilla.javascript.ast.AstNode variableDeclaration(boolean statement, CharSequence name, org.mozilla.javascript.ast.AstNode init)
           
 org.mozilla.javascript.ast.AstNode variableDeclaration(boolean statement, Iterable<NameValue<org.mozilla.javascript.ast.AstNode>> vars)
           
 org.mozilla.javascript.ast.AstNode whileLoop(org.mozilla.javascript.ast.AstNode condition, org.mozilla.javascript.ast.AstNode body)
           
 com.google.debugging.sourcemap.SourceMapGenerator writeJavaScript(org.mozilla.javascript.ast.AstNode javascriptRoot, File inputFile, boolean generateSourceMap, Writer writer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RhinoJavaScriptBuilder

public RhinoJavaScriptBuilder()
Method Detail

name

public org.mozilla.javascript.ast.AstNode name(CharSequence name)
Specified by:
name in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

label

public org.mozilla.javascript.ast.AstNode label(CharSequence name)
Specified by:
label in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

asExpressionList

public org.mozilla.javascript.ast.AstNode asExpressionList(Iterable<org.mozilla.javascript.ast.AstNode> nodes)
Specified by:
asExpressionList in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

block

public org.mozilla.javascript.ast.AstNode block(Iterable<org.mozilla.javascript.ast.AstNode> statements)
Specified by:
block in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

elementGet

public org.mozilla.javascript.ast.AstNode elementGet(org.mozilla.javascript.ast.AstNode target,
                                                     org.mozilla.javascript.ast.AstNode index)
Specified by:
elementGet in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

newExpression

public org.mozilla.javascript.ast.AstNode newExpression(org.mozilla.javascript.ast.AstNode target,
                                                        Iterable<org.mozilla.javascript.ast.AstNode> arguments)
Specified by:
newExpression in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

array

public org.mozilla.javascript.ast.AstNode array(Iterable<org.mozilla.javascript.ast.AstNode> values)
Specified by:
array in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

string

public org.mozilla.javascript.ast.AstNode string(String value)
Specified by:
string in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

paren

public org.mozilla.javascript.ast.AstNode paren(org.mozilla.javascript.ast.AstNode expr)
Specified by:
paren in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

position

public org.mozilla.javascript.ast.AstNode position(org.mozilla.javascript.ast.AstNode node,
                                                   int javaLineNumber,
                                                   int javaColumnNumber)
Specified by:
position in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

getLineNumber

public static int getLineNumber(org.mozilla.javascript.ast.AstNode node)

getColumnNumber

public static int getColumnNumber(org.mozilla.javascript.ast.AstNode node)

breakStatement

public org.mozilla.javascript.ast.AstNode breakStatement(org.mozilla.javascript.ast.AstNode label)
Specified by:
breakStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

caseStatement

public org.mozilla.javascript.ast.AstNode caseStatement(org.mozilla.javascript.ast.AstNode expression,
                                                        Iterable<org.mozilla.javascript.ast.AstNode> statements)
Specified by:
caseStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

catchClause

public org.mozilla.javascript.ast.AstNode catchClause(org.mozilla.javascript.ast.AstNode varName,
                                                      org.mozilla.javascript.ast.AstNode body)
Specified by:
catchClause in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

continueStatement

public org.mozilla.javascript.ast.AstNode continueStatement(org.mozilla.javascript.ast.AstNode label)
Specified by:
continueStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

function

public org.mozilla.javascript.ast.AstNode function(String name,
                                                   Iterable<org.mozilla.javascript.ast.AstNode> params,
                                                   org.mozilla.javascript.ast.AstNode body)
Specified by:
function in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

object

public org.mozilla.javascript.ast.AstNode object(Iterable<NameValue<org.mozilla.javascript.ast.AstNode>> props)
Specified by:
object in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

doLoop

public org.mozilla.javascript.ast.AstNode doLoop(org.mozilla.javascript.ast.AstNode condition,
                                                 org.mozilla.javascript.ast.AstNode body)
Specified by:
doLoop in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

emptyStatement

public org.mozilla.javascript.ast.AstNode emptyStatement()
Specified by:
emptyStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

emptyExpression

public org.mozilla.javascript.ast.AstNode emptyExpression()
Specified by:
emptyExpression in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

forInLoop

public org.mozilla.javascript.ast.AstNode forInLoop(org.mozilla.javascript.ast.AstNode iterator,
                                                    org.mozilla.javascript.ast.AstNode iterated,
                                                    org.mozilla.javascript.ast.AstNode body)
Specified by:
forInLoop in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

forLoop

public org.mozilla.javascript.ast.AstNode forLoop(org.mozilla.javascript.ast.AstNode init,
                                                  org.mozilla.javascript.ast.AstNode condition,
                                                  org.mozilla.javascript.ast.AstNode update,
                                                  org.mozilla.javascript.ast.AstNode body)
Specified by:
forLoop in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

ifStatement

public org.mozilla.javascript.ast.AstNode ifStatement(org.mozilla.javascript.ast.AstNode condition,
                                                      org.mozilla.javascript.ast.AstNode thenPart,
                                                      org.mozilla.javascript.ast.AstNode elsePart)
Specified by:
ifStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

addStatement

public org.mozilla.javascript.ast.AstNode addStatement(org.mozilla.javascript.ast.AstNode blockOrStatement,
                                                       org.mozilla.javascript.ast.AstNode statement)
Specified by:
addStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

addStatementBeginning

public org.mozilla.javascript.ast.AstNode addStatementBeginning(org.mozilla.javascript.ast.AstNode blockOrStatement,
                                                                org.mozilla.javascript.ast.AstNode statement)
Specified by:
addStatementBeginning in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

labeledStatement

public org.mozilla.javascript.ast.AstNode labeledStatement(org.mozilla.javascript.ast.AstNode label,
                                                           org.mozilla.javascript.ast.AstNode statement)
Specified by:
labeledStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

returnStatement

public org.mozilla.javascript.ast.AstNode returnStatement(org.mozilla.javascript.ast.AstNode returnValue)
Specified by:
returnStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

switchStatement

public org.mozilla.javascript.ast.AstNode switchStatement(org.mozilla.javascript.ast.AstNode expr,
                                                          Iterable<org.mozilla.javascript.ast.AstNode> cases)
Specified by:
switchStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

functionCall

public org.mozilla.javascript.ast.AstNode functionCall(org.mozilla.javascript.ast.AstNode target,
                                                       Iterable<org.mozilla.javascript.ast.AstNode> arguments)
Specified by:
functionCall in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

property

public org.mozilla.javascript.ast.AstNode property(org.mozilla.javascript.ast.AstNode target,
                                                   CharSequence name)
Specified by:
property in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

variableDeclaration

public org.mozilla.javascript.ast.AstNode variableDeclaration(boolean statement,
                                                              Iterable<NameValue<org.mozilla.javascript.ast.AstNode>> vars)
Specified by:
variableDeclaration in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

variableDeclaration

public org.mozilla.javascript.ast.AstNode variableDeclaration(boolean statement,
                                                              CharSequence name,
                                                              org.mozilla.javascript.ast.AstNode init)
Specified by:
variableDeclaration in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

tryStatement

public org.mozilla.javascript.ast.AstNode tryStatement(org.mozilla.javascript.ast.AstNode tryBlock,
                                                       Iterable<org.mozilla.javascript.ast.AstNode> catchClauses,
                                                       org.mozilla.javascript.ast.AstNode finallyBlock)
Specified by:
tryStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

whileLoop

public org.mozilla.javascript.ast.AstNode whileLoop(org.mozilla.javascript.ast.AstNode condition,
                                                    org.mozilla.javascript.ast.AstNode body)
Specified by:
whileLoop in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

root

public org.mozilla.javascript.ast.AstNode root(Iterable<org.mozilla.javascript.ast.AstNode> children)
Specified by:
root in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

code

public org.mozilla.javascript.ast.AstNode code(String code)
Specified by:
code in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

toString

public String toString(org.mozilla.javascript.ast.AstNode node)
Specified by:
toString in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

conditionalExpression

public org.mozilla.javascript.ast.AstNode conditionalExpression(org.mozilla.javascript.ast.AstNode test,
                                                                org.mozilla.javascript.ast.AstNode trueExpr,
                                                                org.mozilla.javascript.ast.AstNode falseExpr)
Specified by:
conditionalExpression in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

character

public org.mozilla.javascript.ast.AstNode character(String c)
Specified by:
character in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

number

public org.mozilla.javascript.ast.AstNode number(Number n)
Specified by:
number in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

statements

public org.mozilla.javascript.ast.AstNode statements(Iterable<org.mozilla.javascript.ast.AstNode> stmts)
Specified by:
statements in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

assignment

public org.mozilla.javascript.ast.AstNode assignment(AssignOperator operator,
                                                     org.mozilla.javascript.ast.AstNode left,
                                                     org.mozilla.javascript.ast.AstNode right)
Specified by:
assignment in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

binary

public org.mozilla.javascript.ast.AstNode binary(BinaryOperator operator,
                                                 Iterable<org.mozilla.javascript.ast.AstNode> operands)
Specified by:
binary in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

keyword

public org.mozilla.javascript.ast.AstNode keyword(Keyword token)
Specified by:
keyword in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

unary

public org.mozilla.javascript.ast.AstNode unary(UnaryOperator operator,
                                                org.mozilla.javascript.ast.AstNode operand)
Specified by:
unary in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

expressionStatement

public org.mozilla.javascript.ast.AstNode expressionStatement(org.mozilla.javascript.ast.AstNode expr)
Specified by:
expressionStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

writeJavaScript

public com.google.debugging.sourcemap.SourceMapGenerator writeJavaScript(org.mozilla.javascript.ast.AstNode javascriptRoot,
                                                                         File inputFile,
                                                                         boolean generateSourceMap,
                                                                         Writer writer)
Specified by:
writeJavaScript in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

comment

public org.mozilla.javascript.ast.AstNode comment(org.mozilla.javascript.ast.AstNode node,
                                                  String comment)
Specified by:
comment in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>

throwStatement

public org.mozilla.javascript.ast.AstNode throwStatement(org.mozilla.javascript.ast.AstNode expr)
Specified by:
throwStatement in interface JavaScriptBuilder<org.mozilla.javascript.ast.AstNode>


Copyright © 2014. All Rights Reserved.