Package org.mvel2.ast
Class WithNode
- java.lang.Object
-
- org.mvel2.ast.ASTNode
-
- org.mvel2.ast.BlockNode
-
- org.mvel2.ast.WithNode
-
- All Implemented Interfaces:
Serializable,Cloneable,NestedStatement
- Direct Known Subclasses:
ThisWithNode
public class WithNode extends BlockNode implements NestedStatement
- Author:
- Christopher Brock
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWithNode.ParmValuePair
-
Field Summary
Fields Modifier and Type Field Description protected StringnestParmprotected WithNode.ParmValuePair[]withExpressions-
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_SWITCH, 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 WithNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static WithNode.ParmValuePair[]compileWithExpressions(char[] block, int start, int offset, String nestParm, Class egressType, ParserContext pCtx)ExecutableStatementgetNestedStatement()ObjectgetReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)ObjectgetReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)WithNode.ParmValuePair[]getWithExpressions()-
Methods inherited from class org.mvel2.ast.BlockNode
getBlockOffset, getBlockStart, getCompiledBlock
-
Methods inherited from class org.mvel2.ast.ASTNode
canSerializeAccessor, checkArray, checkAssignGlobalVariable, checkAssignLocalVariable, checkExecution, discard, enterStack, getAbsoluteName, getAbsoluteRootElement, getAccessor, getClassLoader, getCursorPosition, getEgressType, getExpr, getFields, getLiteralValue, getName, getNameAsArray, getOffset, getOperator, getStart, getStatementString, isAssignment, isCollection, isDebuggingSymbol, isDeepProperty, isDiscard, isFQCN, isIdentifier, isLiteral, isOperator, isOperator, isThisVal, leaveStack, setAccessor, setAsFQCNReference, setAsLiteral, setCursorPosition, setEgressType, setLiteralValue, setName, storeInLiteralRegister, storePctx, strongTyping, toString
-
-
-
-
Field Detail
-
nestParm
protected String nestParm
-
withExpressions
protected WithNode.ParmValuePair[] withExpressions
-
-
Constructor Detail
-
WithNode
public WithNode(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
-
compileWithExpressions
public static WithNode.ParmValuePair[] compileWithExpressions(char[] block, int start, int offset, String nestParm, Class egressType, ParserContext pCtx)
-
getNestedStatement
public ExecutableStatement getNestedStatement()
- Specified by:
getNestedStatementin interfaceNestedStatement
-
getWithExpressions
public WithNode.ParmValuePair[] getWithExpressions()
-
-