org.mvel2.ast
Class ASTNode

java.lang.Object
  extended by org.mvel2.ast.ASTNode
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
AssertNode, AssignmentNode, BlockNode, BooleanNode, Contains, Convertable, DeclProtoVarNode, DeclTypedVarNode, DeepAssignmentNode, EndOfStatement, Fold, Function, IfNode, ImportNode, IndexedAssignmentNode, IndexedDeclTypedVarNode, IndexedOperativeAssign, IndexedPostFixDecNode, IndexedPostFixIncNode, IndexedPreFixDecNode, IndexedPreFixIncNode, InlineCollectionNode, Instance, InterceptorWrapper, Invert, IsDef, LineLabel, LiteralDeepPropertyNode, LiteralNode, Negation, NewObjectNode, NewPrototypeNode, OperativeAssign, OperatorNode, PostFixDecNode, PostFixIncNode, PreFixDecNode, PreFixIncNode, Proto, ProtoVarNode, RegExMatch, RegExMatchNode, ReturnNode, Sign, Soundslike, StaticImportNode, Strsim, Substatement, TypeCast, TypedVarNode, Union

public class ASTNode
extends Object
implements Cloneable, Serializable

See Also:
Serialized Form

Field Summary
protected  Accessor accessor
           
static int ARRAY_TYPE_LITERAL
           
static int ASSIGN
           
static int BLOCK_DO
           
static int BLOCK_DO_UNTIL
           
static int BLOCK_FOR
           
static int BLOCK_FOREACH
           
static int BLOCK_IF
           
static int BLOCK_UNTIL
           
static int BLOCK_WHILE
           
static int BLOCK_WITH
           
static int COLLECTION
           
static int COMPILE_IMMEDIATE
           
protected  int cursorPosition
           
static int DEEP_PROPERTY
           
static int DEFERRED_TYPE_RES
           
static int DEOP
           
static int DISCARD
           
protected  Class egressType
           
protected  int endOfName
           
 int fields
           
protected  int firstUnion
           
static int IDENTIFIER
           
static int INLINE_COLLECTION
           
static int INVERT
           
protected  Object literal
           
static int LITERAL
           
protected  char[] name
           
protected  String nameCache
           
 ASTNode nextASTNode
           
static int NOJIT
           
static int NUMERIC
           
static int OPERATOR
           
static int OPT_SUBTR
           
static int PCTX_STORED
           
protected  Accessor safeAccessor
           
static int STRONG_TYPING
           
static int THISREF
           
 
Constructor Summary
ASTNode()
           
ASTNode(char[] expr, int start, int end, int fields)
           
 
Method Summary
 boolean canSerializeAccessor()
           
 void discard()
           
 String getAbsoluteName()
           
protected  String getAbsoluteRemainder()
           
protected  String getAbsoluteRootElement()
           
 Accessor getAccessor()
           
 int getCursorPosition()
           
 Class getEgressType()
           
 int getFields()
           
 Object getLiteralValue()
           
 String getName()
           
 char[] getNameAsArray()
           
 Integer getOperator()
           
 Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)
           
 Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)
           
 boolean isAssignment()
           
protected  boolean isCollection()
           
 boolean isDebuggingSymbol()
           
 boolean isDeepProperty()
           
 boolean isDiscard()
           
 boolean isIdentifier()
           
 boolean isLiteral()
           
 boolean isOperator()
           
 boolean isOperator(Integer operator)
           
 boolean isThisVal()
           
 Accessor setAccessor(Accessor accessor)
           
 void setAsLiteral()
           
 void setCursorPosition(int cursorPosition)
           
 void setEgressType(Class egressType)
           
 void setLiteralValue(Object literal)
           
protected  void setName(char[] name)
           
 void storeInLiteralRegister(Object o)
           
 void storePctx()
           
 void strongTyping()
           
 String toString()
           
protected  Object tryStaticAccess(Object thisRef, VariableResolverFactory factory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LITERAL

public static final int LITERAL
See Also:
Constant Field Values

DEEP_PROPERTY

public static final int DEEP_PROPERTY
See Also:
Constant Field Values

OPERATOR

public static final int OPERATOR
See Also:
Constant Field Values

IDENTIFIER

public static final int IDENTIFIER
See Also:
Constant Field Values

COMPILE_IMMEDIATE

public static final int COMPILE_IMMEDIATE
See Also:
Constant Field Values

NUMERIC

public static final int NUMERIC
See Also:
Constant Field Values

INVERT

public static final int INVERT
See Also:
Constant Field Values

ASSIGN

public static final int ASSIGN
See Also:
Constant Field Values

COLLECTION

public static final int COLLECTION
See Also:
Constant Field Values

THISREF

public static final int THISREF
See Also:
Constant Field Values

INLINE_COLLECTION

public static final int INLINE_COLLECTION
See Also:
Constant Field Values

BLOCK_IF

public static final int BLOCK_IF
See Also:
Constant Field Values

BLOCK_FOREACH

public static final int BLOCK_FOREACH
See Also:
Constant Field Values

BLOCK_WITH

public static final int BLOCK_WITH
See Also:
Constant Field Values

BLOCK_UNTIL

public static final int BLOCK_UNTIL
See Also:
Constant Field Values

BLOCK_WHILE

public static final int BLOCK_WHILE
See Also:
Constant Field Values

BLOCK_DO

public static final int BLOCK_DO
See Also:
Constant Field Values

BLOCK_DO_UNTIL

public static final int BLOCK_DO_UNTIL
See Also:
Constant Field Values

BLOCK_FOR

public static final int BLOCK_FOR
See Also:
Constant Field Values

OPT_SUBTR

public static final int OPT_SUBTR
See Also:
Constant Field Values

DEFERRED_TYPE_RES

public static final int DEFERRED_TYPE_RES
See Also:
Constant Field Values

STRONG_TYPING

public static final int STRONG_TYPING
See Also:
Constant Field Values

PCTX_STORED

public static final int PCTX_STORED
See Also:
Constant Field Values

ARRAY_TYPE_LITERAL

public static final int ARRAY_TYPE_LITERAL
See Also:
Constant Field Values

NOJIT

public static final int NOJIT
See Also:
Constant Field Values

DEOP

public static final int DEOP
See Also:
Constant Field Values

DISCARD

public static final int DISCARD
See Also:
Constant Field Values

firstUnion

protected int firstUnion

endOfName

protected int endOfName

fields

public int fields

egressType

protected Class egressType

name

protected char[] name

nameCache

protected String nameCache

literal

protected Object literal

accessor

protected transient volatile Accessor accessor

safeAccessor

protected volatile Accessor safeAccessor

cursorPosition

protected int cursorPosition

nextASTNode

public ASTNode nextASTNode
Constructor Detail

ASTNode

public ASTNode()

ASTNode

public ASTNode(char[] expr,
               int start,
               int end,
               int fields)
Method Detail

getReducedValueAccelerated

public Object getReducedValueAccelerated(Object ctx,
                                         Object thisValue,
                                         VariableResolverFactory factory)

getReducedValue

public Object getReducedValue(Object ctx,
                              Object thisValue,
                              VariableResolverFactory factory)

getAbsoluteRootElement

protected String getAbsoluteRootElement()

getEgressType

public Class getEgressType()

setEgressType

public void setEgressType(Class egressType)

getAbsoluteRemainder

protected String getAbsoluteRemainder()

getNameAsArray

public char[] getNameAsArray()

getAbsoluteName

public String getAbsoluteName()

getName

public String getName()

getLiteralValue

public Object getLiteralValue()

storeInLiteralRegister

public void storeInLiteralRegister(Object o)

setLiteralValue

public void setLiteralValue(Object literal)

tryStaticAccess

protected Object tryStaticAccess(Object thisRef,
                                 VariableResolverFactory factory)

setName

protected void setName(char[] name)

setAccessor

public Accessor setAccessor(Accessor accessor)

isIdentifier

public boolean isIdentifier()

isLiteral

public boolean isLiteral()

isThisVal

public boolean isThisVal()

isOperator

public boolean isOperator()

isOperator

public boolean isOperator(Integer operator)

getOperator

public Integer getOperator()

isCollection

protected boolean isCollection()

isAssignment

public boolean isAssignment()

isDeepProperty

public boolean isDeepProperty()

setAsLiteral

public void setAsLiteral()

getCursorPosition

public int getCursorPosition()

setCursorPosition

public void setCursorPosition(int cursorPosition)

isDiscard

public boolean isDiscard()

discard

public void discard()

strongTyping

public void strongTyping()

storePctx

public void storePctx()

isDebuggingSymbol

public boolean isDebuggingSymbol()

getFields

public int getFields()

getAccessor

public Accessor getAccessor()

canSerializeAccessor

public boolean canSerializeAccessor()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2011. All Rights Reserved.