Class ParseUtil

java.lang.Object
org.adoptopenjdk.jitwatch.util.ParseUtil

public final class ParseUtil extends Object
  • Field Details

    • logger

      private static final com.chrisnewland.freelogj.Logger logger
    • CLASS_NAME_REGEX_GROUP

      public static String CLASS_NAME_REGEX_GROUP
    • METHOD_NAME_REGEX_GROUP

      public static String METHOD_NAME_REGEX_GROUP
    • PARAM_REGEX_GROUP

      public static String PARAM_REGEX_GROUP
    • RETURN_REGEX_GROUP

      public static String RETURN_REGEX_GROUP
    • PATTERN_LOG_SIGNATURE

      private static final Pattern PATTERN_LOG_SIGNATURE
    • TYPE_SHORT

      public static final char TYPE_SHORT
      See Also:
    • TYPE_CHARACTER

      public static final char TYPE_CHARACTER
      See Also:
    • TYPE_BYTE

      public static final char TYPE_BYTE
      See Also:
    • TYPE_VOID

      public static final char TYPE_VOID
      See Also:
    • TYPE_LONG

      public static final char TYPE_LONG
      See Also:
    • TYPE_DOUBLE

      public static final char TYPE_DOUBLE
      See Also:
    • TYPE_BOOLEAN

      public static final char TYPE_BOOLEAN
      See Also:
    • TYPE_INTEGER

      public static final char TYPE_INTEGER
      See Also:
    • TYPE_FLOAT

      public static final char TYPE_FLOAT
      See Also:
  • Constructor Details

    • ParseUtil

      private ParseUtil()
  • Method Details

    • parseHexAddress

      public static long parseHexAddress(String str)
    • parseStamp

      public static long parseStamp(String stamp)
    • parseStampFromTag

      public static long parseStampFromTag(Tag tag)
    • parseLongAttributeFromTag

      public static long parseLongAttributeFromTag(Tag tag, String attrName)
    • getStamp

      public static long getStamp(Map<String,String> attrs)
    • parseLocaleSafeDouble

      public static double parseLocaleSafeDouble(String str)
    • getPrimitiveClass

      public static Class<?> getPrimitiveClass(char c)
    • getArrayDepth

      public static int getArrayDepth(String input)
    • expandParameterType

      public static String expandParameterType(String name)
    • splitLogSignatureWithRegex

      public static String[] splitLogSignatureWithRegex(String logSignature) throws LogParseException
      Throws:
      LogParseException
    • findMemberWithSignature

      public static IMetaMember findMemberWithSignature(IReadOnlyJITDataModel model, String logSignature) throws LogParseException
      Throws:
      LogParseException
    • getClassTypes

      public static Class<?>[] getClassTypes(String typesString) throws LogParseException
      Throws:
      LogParseException
    • findClassForLogCompilationParameter

      public static Class<?> findClassForLogCompilationParameter(String param) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • stripGenerics

      public static String stripGenerics(String param)
    • paramClassesMatch

      public static boolean paramClassesMatch(boolean memberHasVarArgs, List<Class<?>> memberParamClasses, List<Class<?>> signatureParamClasses, boolean matchTypesExactly)
    • typeIsVarArgs

      public static boolean typeIsVarArgs(String type)
    • getClassTypeCharForPrimitiveTypeString

      public static char getClassTypeCharForPrimitiveTypeString(String type)
    • isPrimitive

      public static boolean isPrimitive(String type)
    • classForPrimitive

      public static Class<?> classForPrimitive(String primitiveType)
    • getArrayBracketCount

      public static int getArrayBracketCount(String param)
    • parseTypeString

      public static List<String> parseTypeString(String typesString)
    • looksLikeSyntheticBridgeConstructorParam

      public static boolean looksLikeSyntheticBridgeConstructorParam(String className)
    • findClassesForTypeString

      public static List<Class<?>> findClassesForTypeString(String typesString) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • findBestMatchForMemberSignature

      public static String findBestMatchForMemberSignature(IMetaMember member, List<String> lines)
    • findBestLineMatchForMemberSignature

      public static int findBestLineMatchForMemberSignature(IMetaMember member, List<String> lines)
    • compareTypeEquality

      private static boolean compareTypeEquality(String memberTypeName, String inMspTypeName, Map<String,String> genericsMap)
    • getParamTypeWithoutArrayBrackets

      public static String getParamTypeWithoutArrayBrackets(String paramType)
    • getMethodTagReturn

      public static String getMethodTagReturn(Tag methodTag, IParseDictionary parseDictionary)
    • getMethodTagArguments

      public static List<String> getMethodTagArguments(Tag methodTag, IParseDictionary parseDictionary)
    • getMethodName

      public static String getMethodName(String methodID, IParseDictionary parseDictionary)
    • lookupMetaClassName

      public static String lookupMetaClassName(String methodId, IParseDictionary parseDictionary)
    • lookupMethodName

      public static String lookupMethodName(String methodId, IParseDictionary parseDictionary)
    • lookupMember

      public static IMetaMember lookupMember(String methodId, IParseDictionary parseDictionary, IReadOnlyJITDataModel model)
    • lateLoadMetaClass

      public static MetaClass lateLoadMetaClass(IReadOnlyJITDataModel model, String metaClassName)
    • possibleLambdaMethod

      public static boolean possibleLambdaMethod(String fqClassName)
    • isVMInternalClass

      public static boolean isVMInternalClass(String fqClassName)
    • lookupType

      public static String lookupType(String typeOrKlassID, IParseDictionary parseDictionary)
    • expandParseDictionaryTypeName

      public static String expandParseDictionaryTypeName(String typeName)
    • getPackageFromSource

      public static String getPackageFromSource(String source)
    • getClassFromSource

      public static String getClassFromSource(String source)
    • bytecodeMethodCommentToReadableString

      public static String bytecodeMethodCommentToReadableString(String className, String comment)
    • bytecodeMethodCommentHasNoClassPrefix

      public static boolean bytecodeMethodCommentHasNoClassPrefix(String comment)
    • prependCurrentMember

      private static String prependCurrentMember(String comment, IMetaMember member)
    • bytecodeCommentSignatureToLogCompilationSignature

      public static String bytecodeCommentSignatureToLogCompilationSignature(String bytcodeCommentSignature)
    • getMemberFromBytecodeComment

      public static IMetaMember getMemberFromBytecodeComment(IReadOnlyJITDataModel model, IMetaMember currentMember, BytecodeInstruction instruction) throws LogParseException
      Throws:
      LogParseException