public class CompilerTools
extends java.lang.Object
Constructor and Description |
---|
CompilerTools() |
Modifier and Type | Method and Description |
---|---|
private static BinaryOperation |
boOptimize(int op,
ASTNode tk,
ASTNode tk2,
ParserContext pCtx) |
static void |
expectType(ParserContext pCtx,
Accessor expression,
java.lang.Class type,
boolean compileMode) |
static void |
expectType(ParserContext pCtx,
ASTNode node,
java.lang.Class type,
boolean compileMode) |
static Accessor |
extractAccessor(ASTNode n) |
static java.util.Map<java.lang.String,Function> |
extractAllDeclaredFunctions(CompiledExpression compile)
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 java.util.Map<java.lang.String,java.lang.Object> |
getInjectedImports(VariableResolverFactory factory) |
static java.lang.Class |
getReturnType(ASTIterator input,
boolean strongTyping) |
static java.lang.Class |
getReturnTypeFromOp(int operation,
java.lang.Class left,
java.lang.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 java.lang.Number |
signNumber(java.lang.Object number) |
public static ASTLinkedList finalizePayload(ASTLinkedList astLinkedList, boolean secondPassOptimization, ParserContext pCtx)
astLinkedList
- - AST to be optimized.secondPassOptimization
- - perform a second pass optimization to optimize boolean expressions.pCtx
- - The parser contextprivate static BinaryOperation boOptimize(int op, ASTNode tk, ASTNode tk2, ParserContext pCtx)
private static boolean reducacbleOperator(int oper)
private static void optimizeOperator(int operator, ASTNode tk, ASTNode tkOp, ASTLinkedList astLinkedList, ASTLinkedList optimizedAst, ParserContext pCtx)
private static boolean isIntOptimizationviolation(BooleanNode bn, ASTNode bn2)
public static java.lang.Class getReturnType(ASTIterator input, boolean strongTyping)
public static java.util.Map<java.lang.String,Function> extractAllDeclaredFunctions(CompiledExpression compile)
compile
- public static void expectType(ParserContext pCtx, Accessor expression, java.lang.Class type, boolean compileMode)
public static void expectType(ParserContext pCtx, ASTNode node, java.lang.Class type, boolean compileMode)
public static java.lang.Class getReturnTypeFromOp(int operation, java.lang.Class left, java.lang.Class right)
public static java.util.Map<java.lang.String,java.lang.Object> getInjectedImports(VariableResolverFactory factory)
public static java.lang.Number signNumber(java.lang.Object number)