Class ParseTools


  • public class ParseTools
    extends Object
    • Field Detail

      • EMPTY_OBJ_ARR

        public static final Object[] EMPTY_OBJ_ARR
      • EMPTY_CLS_ARR

        public static final Class[] EMPTY_CLS_ARR
    • Constructor Detail

      • ParseTools

        public ParseTools()
    • Method Detail

      • parseMethodOrConstructor

        public static List<char[]> parseMethodOrConstructor​(char[] parm)
      • parseParameterDefList

        public static String[] parseParameterDefList​(char[] parm,
                                                     int offset,
                                                     int length)
      • parseParameterList

        public static List<char[]> parseParameterList​(char[] parm,
                                                      int offset,
                                                      int length)
      • getBestCandidate

        public static Method getBestCandidate​(Object[] arguments,
                                              String method,
                                              Class decl,
                                              Method[] methods,
                                              boolean requireExact)
      • getBestCandidate

        public static Method getBestCandidate​(Class[] arguments,
                                              String method,
                                              Class decl,
                                              Method[] methods,
                                              boolean requireExact)
      • getBestCandidate

        public static Method getBestCandidate​(Class[] arguments,
                                              String method,
                                              Class decl,
                                              Method[] methods,
                                              boolean requireExact,
                                              boolean classTarget)
      • removeExecutionContextParam

        public static Class<?>[] removeExecutionContextParam​(Class<?>[] paramsTypes)
      • updateArgsWithExecutionContextIfNeeded

        public static Object[] updateArgsWithExecutionContextIfNeeded​(Class<?>[] paramsTypes,
                                                                      Object[] args,
                                                                      Object ctx)
      • scoreInterface

        public static int scoreInterface​(Class<?> parm,
                                         Class<?> arg)
      • getWidenedTarget

        public static Method getWidenedTarget​(Method method)
      • getWidenedTarget

        public static Method getWidenedTarget​(Class cls,
                                              Method method)
      • getBestConstructorCandidate

        public static Constructor getBestConstructorCandidate​(Object[] args,
                                                              Class cls,
                                                              boolean requireExact)
      • getBestConstructorCandidate

        public static Constructor getBestConstructorCandidate​(Class[] arguments,
                                                              Class cls,
                                                              boolean requireExact)
      • captureContructorAndResidual

        public static String[] captureContructorAndResidual​(char[] cs,
                                                            int start,
                                                            int offset)
      • boxPrimitive

        public static Class<?> boxPrimitive​(Class cls)
      • unboxPrimitive

        public static Class unboxPrimitive​(Class cls)
      • containsCheck

        public static boolean containsCheck​(Object compareTo,
                                            Object compareTest)
      • handleEscapeSequence

        public static int handleEscapeSequence​(char[] escapeStr,
                                               int pos)
        Replace escape sequences and return trim required.
        Parameters:
        escapeStr - -
        pos - -
        Returns:
        -
      • createShortFormOperativeAssignment

        public static char[] createShortFormOperativeAssignment​(String name,
                                                                char[] statement,
                                                                int start,
                                                                int offset,
                                                                int operation)
      • subsetTrimmed

        public static char[] subsetTrimmed​(char[] array,
                                           int start,
                                           int length)
      • subset

        public static char[] subset​(char[] array,
                                    int start,
                                    int length)
      • subset

        public static char[] subset​(char[] array,
                                    int start)
      • resolveType

        public static int resolveType​(Object o)
      • __resolveType

        public static int __resolveType​(Class cls)
      • isNumericallyCoercible

        public static boolean isNumericallyCoercible​(Class target,
                                                     Class parm)
      • narrowType

        public static Object narrowType​(BigDecimal result,
                                        int returnTarget)
      • determineActualTargetMethod

        public static Method determineActualTargetMethod​(Method method)
      • captureToNextTokenJunction

        public static int captureToNextTokenJunction​(char[] expr,
                                                     int cursor,
                                                     int end,
                                                     ParserContext pCtx)
      • nextNonBlank

        public static int nextNonBlank​(char[] expr,
                                       int cursor)
      • skipWhitespace

        public static int skipWhitespace​(char[] expr,
                                         int cursor)
      • isStatementNotManuallyTerminated

        public static boolean isStatementNotManuallyTerminated​(char[] expr,
                                                               int cursor)
      • captureToEOS

        public static int captureToEOS​(char[] expr,
                                       int cursor,
                                       int end,
                                       ParserContext pCtx)
      • trimLeft

        public static int trimLeft​(char[] expr,
                                   int start,
                                   int pos)
        From the specified cursor position, trim out any whitespace between the current position and the end of the last non-whitespace character.
        Parameters:
        expr - -
        start - -
        pos - - current position
        Returns:
        new position.
      • trimRight

        public static int trimRight​(char[] expr,
                                    int pos)
        From the specified cursor position, trim out any whitespace between the current position and beginning of the first non-whitespace character.
        Parameters:
        expr - -
        pos - -
        Returns:
        -
      • subArray

        public static char[] subArray​(char[] expr,
                                      int start,
                                      int end)
      • balancedCapture

        public static int balancedCapture​(char[] chars,
                                          int start,
                                          char type)
        This is an important aspect of the core parser tools. This method is used throughout the core parser and sub-lexical parsers to capture a balanced capture between opening and terminating tokens such as: ( [ { ' "

        For example: ((foo + bar + (bar - foo)) * 20;

        If a balanced capture is performed from position 2, we get "(foo + bar + (bar - foo))" back.
        If a balanced capture is performed from position 15, we get "(bar - foo)" back.
        Etc.
        Parameters:
        chars - -
        start - -
        type - -
        Returns:
        -
      • balancedCapture

        public static int balancedCapture​(char[] chars,
                                          int start,
                                          int end,
                                          char type)
      • balancedCaptureJsFormatField

        public static int balancedCaptureJsFormatField​(char[] chars,
                                                       int start)
      • balancedCaptureWithLineAccounting

        public static int balancedCaptureWithLineAccounting​(char[] chars,
                                                            int start,
                                                            int end,
                                                            char type,
                                                            ParserContext pCtx)
      • handleStringEscapes

        public static String handleStringEscapes​(char[] input)
      • captureStringLiteral

        public static int captureStringLiteral​(char type,
                                               char[] expr,
                                               int cursor,
                                               int end)
      • handleNumericConversion

        public static Object handleNumericConversion​(char[] val,
                                                     int start,
                                                     int offset)
      • isNumeric

        public static boolean isNumeric​(Object val)
      • numericTest

        public static int numericTest​(char[] val,
                                      int start,
                                      int offset)
      • isNumber

        public static boolean isNumber​(Object val)
      • isNumber

        public static boolean isNumber​(String val)
      • isNumber

        public static boolean isNumber​(char[] val,
                                       int start,
                                       int offset)
      • find

        public static int find​(char[] c,
                               int start,
                               int offset,
                               char find)
      • findLast

        public static int findLast​(char[] c,
                                   int start,
                                   int offset,
                                   char find)
      • createStringTrimmed

        public static String createStringTrimmed​(char[] s)
      • createStringTrimmed

        public static String createStringTrimmed​(char[] s,
                                                 int start,
                                                 int length)
      • endsWith

        public static boolean endsWith​(char[] c,
                                       int start,
                                       int offset,
                                       char[] test)
      • isIdentifierPart

        public static boolean isIdentifierPart​(int c)
      • isDigit

        public static boolean isDigit​(int c)
      • similarity

        public static float similarity​(String s1,
                                       String s2)
      • findAbsoluteLast

        public static int findAbsoluteLast​(char[] array)
      • getBaseComponentType

        public static Class getBaseComponentType​(Class cls)
      • getSubComponentType

        public static Class getSubComponentType​(Class cls)
      • isJunct

        public static boolean isJunct​(char c)
      • opLookup

        public static int opLookup​(char c)
      • isReservedWord

        public static boolean isReservedWord​(String name)
        Check if the specified string is a reserved word in the parser.
        Parameters:
        name - -
        Returns:
        -
      • isNotValidNameorLabel

        public static boolean isNotValidNameorLabel​(String name)
        Check if the specfied string represents a valid name of label.
        Parameters:
        name - -
        Returns:
        -
      • isPropertyOnly

        public static boolean isPropertyOnly​(char[] array,
                                             int start,
                                             int end)
      • isArrayType

        public static boolean isArrayType​(char[] array,
                                          int start,
                                          int end)
      • checkNameSafety

        public static void checkNameSafety​(String name)
      • isPrimitiveWrapper

        public static boolean isPrimitiveWrapper​(Class clazz)
      • subCompileExpression

        public static Serializable subCompileExpression​(char[] expression)
      • subCompileExpression

        public static Serializable subCompileExpression​(char[] expression,
                                                        int start,
                                                        int offset,
                                                        ParserContext ctx)
      • isWhitespace

        public static boolean isWhitespace​(char c)
      • repeatChar

        public static String repeatChar​(char c,
                                        int times)