Package org.mvel2.util
Class CompilerTools
java.lang.Object
org.mvel2.util.CompilerTools
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static BinaryOperation
boOptimize
(int op, ASTNode tk, ASTNode tk2, ParserContext pCtx) static void
expectType
(ParserContext pCtx, ASTNode node, Class type, boolean compileMode) static void
expectType
(ParserContext pCtx, Accessor expression, Class type, boolean compileMode) static Accessor
Returns an ordered Map of all functions declared within an compiled script.static ASTLinkedList
finalizePayload
(ASTLinkedList astLinkedList, boolean secondPassOptimization, ParserContext pCtx) Finalize the payload, by reducing any stack-based-operations to dedicated nodes where possible.static Class
getReturnType
(ASTIterator input, boolean strongTyping) static Class
getReturnTypeFromOp
(int operation, Class left, Class right) private static boolean
isIntOptimizationviolation
(BooleanNode bn, ASTNode bn2) private static boolean
isReductionOpportunity
(ASTNode oper, ASTNode node) private static void
optimizeOperator
(int operator, ASTNode tk, ASTNode tkOp, ASTLinkedList astLinkedList, ASTLinkedList optimizedAst, ParserContext pCtx) private static boolean
reducacbleOperator
(int oper) static Number
signNumber
(Object number)
-
Constructor Details
-
CompilerTools
public CompilerTools()
-
-
Method Details
-
finalizePayload
public static ASTLinkedList finalizePayload(ASTLinkedList astLinkedList, boolean secondPassOptimization, ParserContext pCtx) Finalize the payload, by reducing any stack-based-operations to dedicated nodes where possible.- Parameters:
astLinkedList
- - AST to be optimized.secondPassOptimization
- - perform a second pass optimization to optimize boolean expressions.pCtx
- - The parser context- Returns:
- optimized AST
-
boOptimize
-
isReductionOpportunity
-
reducacbleOperator
private static boolean reducacbleOperator(int oper) -
optimizeOperator
private static void optimizeOperator(int operator, ASTNode tk, ASTNode tkOp, ASTLinkedList astLinkedList, ASTLinkedList optimizedAst, ParserContext pCtx) -
isIntOptimizationviolation
-
getReturnType
-
extractAllDeclaredFunctions
Returns an ordered Map of all functions declared within an compiled script.- Parameters:
compile
- compile- Returns:
- - ordered Map
-
expectType
public static void expectType(ParserContext pCtx, Accessor expression, Class type, boolean compileMode) -
expectType
-
getReturnTypeFromOp
-
extractAccessor
-
getInjectedImports
-
signNumber
-