org.mozilla.javascript.ast

## Class Loop

- java.lang.Object
- - org.mozilla.javascript.Node
  - - org.mozilla.javascript.ast.AstNode
    - - org.mozilla.javascript.ast.Jump
      - - org.mozilla.javascript.ast.Scope
        - - org.mozilla.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 org.mozilla.javascript.ast.AstNode

`AstNode.DebugPrintVisitor, AstNode.PositionComparator`

### Nested classes/interfaces inherited from class org.mozilla.javascript.Node

`Node.NodeIterator`

### Field Summary

Fields
`protected AstNode` `body`
`protected int` `lp`
`protected int` `rp`

### Fields inherited from class org.mozilla.javascript.ast.Scope

`parentScope, symbolTable, top`

### Fields inherited from class org.mozilla.javascript.ast.Jump

`target`

### Fields inherited from class org.mozilla.javascript.ast.AstNode

`length, parent, position`

### Fields inherited from class org.mozilla.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

Constructors
Constructor and Description
`Loop()`
`Loop(int pos)`
`Loop(int pos, int len)`

### Method Summary

Methods
`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 org.mozilla.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 org.mozilla.javascript.ast.Jump

`getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop`

### Methods inherited from class org.mozilla.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 org.mozilla.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