net.sourceforge.htmlunit.corejs.javascript.ast
Class Loop

java.lang.Object
  extended by net.sourceforge.htmlunit.corejs.javascript.Node
      extended by net.sourceforge.htmlunit.corejs.javascript.ast.AstNode
          extended by net.sourceforge.htmlunit.corejs.javascript.ast.Jump
              extended by net.sourceforge.htmlunit.corejs.javascript.ast.Scope
                  extended by net.sourceforge.htmlunit.corejs.javascript.ast.Loop
All Implemented Interfaces:
java.lang.Comparable<AstNode>, java.lang.Iterable<Node>
Direct Known Subclasses:
DoLoop, ForInLoop, ForLoop, WhileLoop

public abstract class Loop
extends Scope

Abstract base type for loops.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparator
 
Nested classes/interfaces inherited from class net.sourceforge.htmlunit.corejs.javascript.Node
Node.NodeIterator
 
Field Summary
protected  AstNode body
           
protected  int lp
           
protected  int rp
           
 
Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Scope
parentScope, symbolTable, top
 
Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Jump
target
 
Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.AstNode
length, parent, position
 
Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.Node
ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, DESTRUCTURING_SHORTHAND, DIRECTCALL_PROP, END_DROPS_OFF, END_RETURNS, END_RETURNS_VALUE, END_UNREACHED, END_YIELDS, EXPRESSION_CLOSURE_PROP, first, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, last, LAST_PROP, LEFT, lineno, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, next, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, type, VARIABLE_PROP
 
Constructor Summary
Loop()
           
Loop(int pos)
           
Loop(int pos, int len)
           
 
Method Summary
 AstNode getBody()
          Returns loop body
 int getLp()
          Returns left paren position, -1 if missing
 int getRp()
          Returns right paren position, -1 if missing
 void setBody(AstNode body)
          Sets loop body.
 void setLp(int lp)
          Sets left paren position
 void setParens(int lp, int rp)
          Sets both paren positions
 void setRp(int rp)
          Sets right paren position
 
Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Scope
addChildScope, clearParentScope, getChildScopes, getDefiningScope, getParentScope, getStatements, getSymbol, getSymbolTable, getTop, joinScopes, putSymbol, replaceWith, setParentScope, setSymbolTable, setTop, splitScope, toSource, visit
 
Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Jump
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop
 
Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.AstNode
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
 
Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.Node
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getJsDoc, getJsDocNode, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, resetTargets, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

body

protected AstNode body

lp

protected int lp

rp

protected int rp
Constructor Detail

Loop

public Loop()

Loop

public Loop(int pos)

Loop

public Loop(int pos,
            int len)
Method Detail

getBody

public AstNode getBody()
Returns loop body


setBody

public void setBody(AstNode body)
Sets loop body. Sets the parent of the body to this loop node, and updates its offset to be relative. Extends the length of this node to include the body.


getLp

public int getLp()
Returns left paren position, -1 if missing


setLp

public void setLp(int lp)
Sets left paren position


getRp

public int getRp()
Returns right paren position, -1 if missing


setRp

public void setRp(int rp)
Sets right paren position


setParens

public void setParens(int lp,
                      int rp)
Sets both paren positions