Package org.mvel2.ast
Class NewObjectNode
- java.lang.Object
-
- org.mvel2.ast.ASTNode
-
- org.mvel2.ast.NewObjectNode
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class NewObjectNode extends ASTNode
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NewObjectNode.NewObjectArray
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Class[]
EMPTYCLS
private static java.util.logging.Logger
LOG
private char[]
name
private Accessor
newObjectOptimizer
private TypeDescriptor
typeDescr
-
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 NewObjectNode(TypeDescriptor typeDescr, int fields, ParserContext pCtx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Object
createPrototypalObject(java.lang.Object ctx, java.lang.Object thisRef, VariableResolverFactory factory)
Accessor
getNewObjectOptimizer()
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)
TypeDescriptor
getTypeDescr()
private boolean
isPrototypeFunction()
private void
rewriteClassReferenceToFQCN(int fields)
-
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
-
LOG
private static final java.util.logging.Logger LOG
-
newObjectOptimizer
private transient Accessor newObjectOptimizer
-
typeDescr
private TypeDescriptor typeDescr
-
name
private char[] name
-
EMPTYCLS
private static final java.lang.Class[] EMPTYCLS
-
-
Constructor Detail
-
NewObjectNode
public NewObjectNode(TypeDescriptor typeDescr, int fields, ParserContext pCtx)
-
-
Method Detail
-
rewriteClassReferenceToFQCN
private void rewriteClassReferenceToFQCN(int fields)
-
getReducedValueAccelerated
public java.lang.Object getReducedValueAccelerated(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
- Overrides:
getReducedValueAccelerated
in classASTNode
-
getReducedValue
public java.lang.Object getReducedValue(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
- Overrides:
getReducedValue
in classASTNode
-
isPrototypeFunction
private boolean isPrototypeFunction()
-
createPrototypalObject
private java.lang.Object createPrototypalObject(java.lang.Object ctx, java.lang.Object thisRef, VariableResolverFactory factory)
-
getTypeDescr
public TypeDescriptor getTypeDescr()
-
getNewObjectOptimizer
public Accessor getNewObjectOptimizer()
-
-