Class CompilerTools


  • public class CompilerTools
    extends java.lang.Object
    • Constructor Detail

      • CompilerTools

        public CompilerTools()
    • Method Detail

      • 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
      • isReductionOpportunity

        private static boolean isReductionOpportunity​(ASTNode oper,
                                                      ASTNode node)
      • reducacbleOperator

        private static boolean reducacbleOperator​(int oper)
      • isIntOptimizationviolation

        private static boolean isIntOptimizationviolation​(BooleanNode bn,
                                                          ASTNode bn2)
      • getReturnType

        public static java.lang.Class getReturnType​(ASTIterator input,
                                                    boolean strongTyping)
      • extractAllDeclaredFunctions

        public static java.util.Map<java.lang.String,​Function> extractAllDeclaredFunctions​(CompiledExpression compile)
        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,
                                      java.lang.Class type,
                                      boolean compileMode)
      • expectType

        public static void expectType​(ParserContext pCtx,
                                      ASTNode node,
                                      java.lang.Class type,
                                      boolean compileMode)
      • getReturnTypeFromOp

        public static java.lang.Class getReturnTypeFromOp​(int operation,
                                                          java.lang.Class left,
                                                          java.lang.Class right)
      • getInjectedImports

        public static java.util.Map<java.lang.String,​java.lang.Object> getInjectedImports​(VariableResolverFactory factory)
      • signNumber

        public static java.lang.Number signNumber​(java.lang.Object number)