Package org.mvel2.ast
Class IfNode
- java.lang.Object
-
- org.mvel2.ast.ASTNode
-
- org.mvel2.ast.BlockNode
-
- 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
Fields Modifier and Type Field Description protected ExecutableStatementconditionprotected ExecutableStatementelseBlockprotected IfNodeelseIfprotected booleanidxAllocprotected ExecutableStatementnestedStatement-
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
Constructors Constructor Description IfNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExecutableStatementgetElseBlock()ExecutableStatementgetNestedStatement()ObjectgetReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)ObjectgetReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)IfNodesetElseBlock(char[] block, int cursor, int offset, ParserContext ctx)IfNodesetElseIf(IfNode elseIf)StringtoString()-
Methods inherited from class org.mvel2.ast.BlockNode
getBlockOffset, getBlockStart, getCompiledBlock
-
Methods inherited from class org.mvel2.ast.ASTNode
canSerializeAccessor, checkAssignVariable, checkExecution, 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
-
-
-
-
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:
getReducedValueAcceleratedin classASTNode
-
getReducedValue
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)
- Overrides:
getReducedValuein classASTNode
-
getNestedStatement
public ExecutableStatement getNestedStatement()
- Specified by:
getNestedStatementin interfaceNestedStatement
-
getElseBlock
public ExecutableStatement getElseBlock()
-
setElseBlock
public IfNode setElseBlock(char[] block, int cursor, int offset, ParserContext ctx)
-
-