Package org.mvel2.compiler
Class ExpressionCompiler
- java.lang.Object
-
- org.mvel2.compiler.AbstractParser
-
- org.mvel2.compiler.ExpressionCompiler
-
- All Implemented Interfaces:
java.io.Serializable
,Parser
public class ExpressionCompiler extends AbstractParser
This is the main MVEL compiler.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class
returnType
private boolean
secondPassOptimization
private boolean
verifying
private boolean
verifyOnly
-
Fields inherited from class org.mvel2.compiler.AbstractParser
CLASS_LITERALS, compileMode, ctx, cursor, debugSymbols, dStack, end, expr, fields, GET, GET_OR_CREATE, greedy, lastLineStart, lastNode, lastWasComment, lastWasIdentifier, lastWasLineLabel, length, LEVEL_0_PROPERTY_ONLY, LEVEL_1_BASIC_LANG, LEVEL_2_MULTI_STATEMENT, LEVEL_3_ITERATION, LEVEL_4_ASSIGNMENT, LEVEL_5_CONTROL_FLOW, line, literalOnly, LITERALS, OP_CONTINUE, OP_NOT_LITERAL, OP_OVERFLOW, OP_RESET_FRAME, OP_TERMINATE, OPERATORS, pCtx, REMOVE, SET, splitAccumulator, st, start, stk, variableFactory
-
-
Constructor Summary
Constructors Constructor Description ExpressionCompiler(char[] expression)
ExpressionCompiler(char[] expression, int start, int offset)
ExpressionCompiler(char[] expression, int start, int offset, ParserContext ctx)
ExpressionCompiler(char[] expression, ParserContext ctx)
ExpressionCompiler(java.lang.String expression)
ExpressionCompiler(java.lang.String expression, boolean verifying)
ExpressionCompiler(java.lang.String expression, int start, int offset, ParserContext ctx)
ExpressionCompiler(java.lang.String expression, ParserContext ctx)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CompiledExpression
_compile()
Initiate an in-context compileShared.CompiledExpression
compile()
private boolean
compileReduce(int opCode, ASTLinkedList astBuild)
ParserContext
getParserContextState()
java.lang.Class
getReturnType()
private java.lang.Object
getStackValueResult()
private static boolean
isBooleanOperator(int operator)
boolean
isLiteralOnly()
boolean
isVerifying()
boolean
isVerifyOnly()
void
setReturnType(java.lang.Class returnType)
void
setVerifying(boolean verifying)
void
setVerifyOnly(boolean verifyOnly)
protected ASTNode
verify(ParserContext pCtx, ASTNode tk)
-
Methods inherited from class org.mvel2.compiler.AbstractParser
addFatalError, addFatalError, arithmeticFunctionReduction, captureIdentifier, captureToEOS, captureToEOSorEOL, captureToEOT, captureToNextTokenJunction, expectEOS, expectNextChar_IW, getCursor, getExpression, handleSubstatement, handleUnion, ifThenElseBlockContinues, incNextNonBlank, isArithmeticOperator, isNextIdentifier, isNextIdentifierOrLiteral, isStatementNotManuallyTerminated, lastNonWhite, loadLanguageFeaturesByLevel, lookAhead, lookAhead, lookBehind, lookToLast, nextNonBlank, nextToken, nextTokenSkipSymbols, reduce, setExpression, setExpression, setLanguageLevel, setupParser, skipWhitespace, tokenContinues, trimLeft, trimRight, trimWhitespace
-
-
-
-
Constructor Detail
-
ExpressionCompiler
public ExpressionCompiler(java.lang.String expression)
-
ExpressionCompiler
public ExpressionCompiler(java.lang.String expression, boolean verifying)
-
ExpressionCompiler
public ExpressionCompiler(char[] expression)
-
ExpressionCompiler
public ExpressionCompiler(java.lang.String expression, ParserContext ctx)
-
ExpressionCompiler
public ExpressionCompiler(char[] expression, int start, int offset)
-
ExpressionCompiler
public ExpressionCompiler(java.lang.String expression, int start, int offset, ParserContext ctx)
-
ExpressionCompiler
public ExpressionCompiler(char[] expression, int start, int offset, ParserContext ctx)
-
ExpressionCompiler
public ExpressionCompiler(char[] expression, ParserContext ctx)
-
-
Method Detail
-
compile
public CompiledExpression compile()
-
_compile
public CompiledExpression _compile()
Initiate an in-context compileShared. This method should really only be called by the internal API.- Returns:
- compiled expression object
-
getStackValueResult
private java.lang.Object getStackValueResult()
-
compileReduce
private boolean compileReduce(int opCode, ASTLinkedList astBuild)
-
isBooleanOperator
private static boolean isBooleanOperator(int operator)
-
verify
protected ASTNode verify(ParserContext pCtx, ASTNode tk)
-
isVerifying
public boolean isVerifying()
-
setVerifying
public void setVerifying(boolean verifying)
-
isVerifyOnly
public boolean isVerifyOnly()
-
setVerifyOnly
public void setVerifyOnly(boolean verifyOnly)
-
getReturnType
public java.lang.Class getReturnType()
-
setReturnType
public void setReturnType(java.lang.Class returnType)
-
getParserContextState
public ParserContext getParserContextState()
-
isLiteralOnly
public boolean isLiteralOnly()
-
-