java.lang.Object
com.github.javaparser.symbolsolver.javassistmodel.JavassistUtils

class JavassistUtils extends Object
  • Constructor Details

    • JavassistUtils

      JavassistUtils()
  • Method Details

    • solveMethodAsUsage

      static Optional<MethodUsage> solveMethodAsUsage(String name, List<ResolvedType> argumentsTypes, TypeSolver typeSolver, Context invokationContext, List<ResolvedType> typeParameterValues, ResolvedReferenceTypeDeclaration scopeType, javassist.CtClass ctClass)
    • solveMethod

      static SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly, TypeSolver typeSolver, ResolvedReferenceTypeDeclaration scopeType, javassist.CtClass ctClass)
    • signatureTypeToType

      static ResolvedType signatureTypeToType(javassist.bytecode.SignatureAttribute.Type signatureType, TypeSolver typeSolver, ResolvedTypeParametrizable typeParametrizable)
    • getArrayType

      private static ResolvedType getArrayType(ResolvedType resolvedType, int dimension)
    • getTypeName

      private static String getTypeName(javassist.bytecode.SignatureAttribute.ClassType classType)
    • removeTypeArguments

      private static String removeTypeArguments(String typeName)
    • internalNameToCanonicalName

      static String internalNameToCanonicalName(String typeName)
    • objectTypeArgumentToType

      private static ResolvedType objectTypeArgumentToType(javassist.bytecode.SignatureAttribute.ObjectType typeArgument, TypeSolver typeSolver, ResolvedTypeParametrizable typeParametrizable)
    • getGenericParameterByName

      private static ResolvedType getGenericParameterByName(String typeName, ResolvedTypeParametrizable typeParametrizable, TypeSolver typeSolver)
    • typeArgumentToType

      private static ResolvedType typeArgumentToType(javassist.bytecode.SignatureAttribute.TypeArgument typeArgument, TypeSolver typeSolver, ResolvedTypeParametrizable typeParametrizable)
    • extractParameterName

      static Optional<String> extractParameterName(javassist.CtBehavior method, int paramNumber)
      Returns the paramNumberth parameter of a method or constructor, if it is available.

      The name is not available, if

      • the method is abstract, i.e. explicitly declared as abstract or it is a non-default interface method
      • methods and constructors from jar files, which have been compiled without debug symbols

      The parameters are counted from 0, skipping the implicit this parameter of non-static methods.

      Parameters:
      method - the method to look into
      paramNumber - the number of the parameter to look for
      Returns:
      the found parameter name or empty, if the name is not available
    • getVariableName

      private static Optional<String> getVariableName(javassist.bytecode.LocalVariableAttribute attr, int pos)