org.mvel2.ast
Class IfNode

java.lang.Object
  extended by org.mvel2.ast.ASTNode
      extended by org.mvel2.ast.BlockNode
          extended by org.mvel2.ast.IfNode
All Implemented Interfaces:
Serializable, Cloneable, NestedStatement

public class IfNode
extends BlockNode
implements NestedStatement

Author:
Christopher Brock
See Also:
Serialized Form

Field Summary
protected  ExecutableStatement condition
           
protected  ExecutableStatement elseBlock
           
protected  IfNode elseIf
           
protected  boolean idxAlloc
           
protected  ExecutableStatement nestedStatement
           
 
Fields inherited from class org.mvel2.ast.BlockNode
blockOffset, blockStart, compiledBlock
 
Fields inherited from class org.mvel2.ast.ASTNode
accessor, ARRAY_TYPE_LITERAL, ASSIGN, BLOCK_DO, BLOCK_DO_UNTIL, BLOCK_FOR, BLOCK_FOREACH, BLOCK_IF, BLOCK_UNTIL, BLOCK_WHILE, BLOCK_WITH, COLLECTION, COMPILE_IMMEDIATE, cursorPosition, DEEP_PROPERTY, DEFERRED_TYPE_RES, DEOP, DISCARD, egressType, endOfName, expr, fields, firstUnion, FQCN, IDENTIFIER, INLINE_COLLECTION, INVERT, literal, LITERAL, nameCache, nextASTNode, NOJIT, NUMERIC, offset, OPERATOR, OPT_SUBTR, pCtx, PCTX_STORED, safeAccessor, STACKLANG, start, STRONG_TYPING, THISREF
 
Constructor Summary
IfNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
 
Method Summary
 ExecutableStatement getElseBlock()
           
 ExecutableStatement getNestedStatement()
           
 Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)
           
 Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)
           
 IfNode setElseBlock(char[] block, int cursor, int offset, ParserContext ctx)
           
 IfNode setElseIf(IfNode elseIf)
           
 String toString()
           
 
Methods inherited from class org.mvel2.ast.BlockNode
getBlockOffset, getBlockStart, getCompiledBlock
 
Methods inherited from class org.mvel2.ast.ASTNode
canSerializeAccessor, discard, getAbsoluteName, getAbsoluteRootElement, getAccessor, getClassLoader, getCursorPosition, getEgressType, getExpr, getFields, getLiteralValue, getName, getNameAsArray, getOffset, getOperator, getStart, isAssignment, isCollection, isDebuggingSymbol, isDeepProperty, isDiscard, isFQCN, isIdentifier, isLiteral, isOperator, isOperator, isThisVal, setAccessor, setAsFQCNReference, setAsLiteral, setCursorPosition, setEgressType, setLiteralValue, setName, storeInLiteralRegister, storePctx, strongTyping
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

condition

protected ExecutableStatement condition

nestedStatement

protected ExecutableStatement nestedStatement

elseIf

protected IfNode elseIf

elseBlock

protected ExecutableStatement elseBlock

idxAlloc

protected boolean idxAlloc
Constructor Detail

IfNode

public IfNode(char[] expr,
              int start,
              int offset,
              int blockStart,
              int blockOffset,
              int fields,
              ParserContext pCtx)
Method Detail

getReducedValueAccelerated

public Object getReducedValueAccelerated(Object ctx,
                                         Object thisValue,
                                         VariableResolverFactory factory)
Overrides:
getReducedValueAccelerated in class ASTNode

getReducedValue

public Object getReducedValue(Object ctx,
                              Object thisValue,
                              VariableResolverFactory factory)
Overrides:
getReducedValue in class ASTNode

getNestedStatement

public ExecutableStatement getNestedStatement()
Specified by:
getNestedStatement in interface NestedStatement

setElseIf

public IfNode setElseIf(IfNode elseIf)

getElseBlock

public ExecutableStatement getElseBlock()

setElseBlock

public IfNode setElseBlock(char[] block,
                           int cursor,
                           int offset,
                           ParserContext ctx)

toString

public String toString()
Overrides:
toString in class ASTNode


Copyright © 2001–2020 JBoss by Red Hat. All rights reserved.