org.mvel2.ast
Class WithNode

java.lang.Object
  extended by org.mvel2.ast.ASTNode
      extended by org.mvel2.ast.BlockNode
          extended by org.mvel2.ast.WithNode
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, NestedStatement
Direct Known Subclasses:
ThisWithNode

public class WithNode
extends BlockNode
implements NestedStatement

Author:
Christopher Brock
See Also:
Serialized Form

Nested Class Summary
static class WithNode.ParmValuePair
           
 
Field Summary
protected  ExecutableStatement nestedStatement
           
protected  java.lang.String nestParm
           
protected  WithNode.ParmValuePair[] withExpressions
           
 
Fields inherited from class org.mvel2.ast.BlockNode
block
 
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, fields, firstUnion, IDENTIFIER, INLINE_COLLECTION, INVERT, literal, LITERAL, name, nameCache, nextASTNode, NOJIT, NUMERIC, OPERATOR, OPT_SUBTR, PCTX_STORED, safeAccessor, STRONG_TYPING, THISREF
 
Constructor Summary
WithNode(char[] expr, char[] block, int fields, ParserContext pCtx)
           
 
Method Summary
static WithNode.ParmValuePair[] compileWithExpressions(char[] block, java.lang.String nestParm, java.lang.Class egressType, ParserContext pCtx)
           
 ExecutableStatement getNestedStatement()
           
 java.lang.Object getReducedValue(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
           
 java.lang.Object getReducedValueAccelerated(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
           
 WithNode.ParmValuePair[] getWithExpressions()
           
 
Methods inherited from class org.mvel2.ast.ASTNode
canSerializeAccessor, discard, getAbsoluteName, getAbsoluteRemainder, getAbsoluteRootElement, getAccessor, getCursorPosition, getEgressType, getFields, getLiteralValue, getName, getNameAsArray, getOperator, isAssignment, isCollection, isDebuggingSymbol, isDeepProperty, isDiscard, isIdentifier, isLiteral, isOperator, isOperator, isThisVal, setAccessor, setAsLiteral, setCursorPosition, setEgressType, setLiteralValue, setName, storeInLiteralRegister, storePctx, strongTyping, toString, tryStaticAccess
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nestParm

protected java.lang.String nestParm

nestedStatement

protected ExecutableStatement nestedStatement

withExpressions

protected WithNode.ParmValuePair[] withExpressions
Constructor Detail

WithNode

public WithNode(char[] expr,
                char[] block,
                int fields,
                ParserContext pCtx)
Method Detail

getReducedValueAccelerated

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

getReducedValue

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

compileWithExpressions

public static WithNode.ParmValuePair[] compileWithExpressions(char[] block,
                                                              java.lang.String nestParm,
                                                              java.lang.Class egressType,
                                                              ParserContext pCtx)

getNestedStatement

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

getWithExpressions

public WithNode.ParmValuePair[] getWithExpressions()


Copyright © 2011. All Rights Reserved.