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, ImportNode, IndexedAssignmentNode, IndexedDeclTypedVarNode, IndexedOperativeAssign, IndexedPostFixDecNode, IndexedPostFixIncNode, IndexedPreFixDecNode, IndexedPreFixIncNode, InlineCollectionNode, Instance, InterceptorWrapper, Invert, IsDef, LineLabel, LiteralDeepPropertyNode, LiteralNode, Negation, NewObjectNode, NewObjectPrototype, 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
           
protected  char[] expr
           
 int fields
           
protected  int firstUnion
           
static int FQCN
           
static int IDENTIFIER
           
static int INLINE_COLLECTION
           
static int INVERT
           
protected  Object literal
           
static int LITERAL
           
protected  String nameCache
           
 ASTNode nextASTNode
           
static int NOJIT
           
static int NUMERIC
           
protected  int offset
           
static int OPERATOR
           
static int OPT_SUBTR
           
protected  ParserContext pCtx
           
static int PCTX_STORED
           
protected  Accessor safeAccessor
           
static int STACKLANG
           
protected  int start
           
static int STRONG_TYPING
           
static int THISREF
           
 
Constructor Summary
  ASTNode(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
protected ASTNode(ParserContext pCtx)
           
 
Method Summary
 boolean canSerializeAccessor()
           
 void discard()
           
 String getAbsoluteName()
           
protected  String getAbsoluteRootElement()
           
 Accessor getAccessor()
           
protected  ClassLoader getClassLoader()
           
 int getCursorPosition()
           
 Class getEgressType()
           
 char[] getExpr()
           
 int getFields()
           
 Object getLiteralValue()
           
 String getName()
           
 char[] getNameAsArray()
           
 int getOffset()
           
 Integer getOperator()
           
 Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)
           
 Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)
           
 int getStart()
           
 boolean isAssignment()
           
protected  boolean isCollection()
           
 boolean isDebuggingSymbol()
           
 boolean isDeepProperty()
           
 boolean isDiscard()
           
 boolean isFQCN()
           
 boolean isIdentifier()
           
 boolean isLiteral()
           
 boolean isOperator()
           
 boolean isOperator(Integer operator)
           
 boolean isThisVal()
           
 Accessor setAccessor(Accessor accessor)
           
 void setAsFQCNReference()
           
 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()
           
 
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

FQCN

public static final int FQCN
See Also:
Constant Field Values

STACKLANG

public static final int STACKLANG
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

expr

protected char[] expr

start

protected int start

offset

protected int offset

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

pCtx

protected ParserContext pCtx
Constructor Detail

ASTNode

protected ASTNode(ParserContext pCtx)

ASTNode

public ASTNode(char[] expr,
               int start,
               int offset,
               int fields,
               ParserContext pCtx)
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)

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)

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()

isFQCN

public boolean isFQCN()

setAsLiteral

public void setAsLiteral()

setAsFQCNReference

public void setAsFQCNReference()

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()

getStart

public int getStart()

getOffset

public int getOffset()

getExpr

public char[] getExpr()

toString

public String toString()
Overrides:
toString in class Object

getClassLoader

protected ClassLoader getClassLoader()


Copyright © 2001–2020 JBoss by Red Hat. All rights reserved.