Package org.mvel2.ast
Class ForEachNode
- java.lang.Object
-
- org.mvel2.ast.ASTNode
-
- org.mvel2.ast.BlockNode
-
- org.mvel2.ast.ForEachNode
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable
public class ForEachNode extends BlockNode
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static intARRAYprivate static intCHARSEQUENCEprotected ExecutableStatementconditionprivate static intINTEGERprotected java.lang.Stringitemprotected java.lang.ClassitemTypeprivate static intITERABLEprivate inttype-
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 ForEachNode(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 private voiddetermineIterType(java.lang.Class t)private voidenforceTypeSafety(java.lang.Class required, java.lang.Class actual)java.lang.ObjectgetReducedValue(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)java.lang.ObjectgetReducedValueAccelerated(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)private voidhandleCond(char[] condition, int start, int offset, int fields, ParserContext pCtx)-
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, toString
-
-
-
-
Field Detail
-
item
protected java.lang.String item
-
itemType
protected java.lang.Class itemType
-
condition
protected ExecutableStatement condition
-
ITERABLE
private static final int ITERABLE
- See Also:
- Constant Field Values
-
ARRAY
private static final int ARRAY
- See Also:
- Constant Field Values
-
CHARSEQUENCE
private static final int CHARSEQUENCE
- See Also:
- Constant Field Values
-
INTEGER
private static final int INTEGER
- See Also:
- Constant Field Values
-
type
private int type
-
-
Constructor Detail
-
ForEachNode
public ForEachNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
-
-
Method Detail
-
getReducedValueAccelerated
public java.lang.Object getReducedValueAccelerated(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)- Overrides:
getReducedValueAcceleratedin classASTNode
-
getReducedValue
public java.lang.Object getReducedValue(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)- Overrides:
getReducedValuein classASTNode
-
handleCond
private void handleCond(char[] condition, int start, int offset, int fields, ParserContext pCtx)
-
determineIterType
private void determineIterType(java.lang.Class t)
-
enforceTypeSafety
private void enforceTypeSafety(java.lang.Class required, java.lang.Class actual)
-
-