Class Signatures

java.lang.Object
org.jboss.classfilewriter.util.Signatures

public final class Signatures extends Object
Encode signatures that use types outside the type system of the Java Virtual Machine. See also the JVM spec, section "4.7.9.1. Signatures". If anything goes wrong during encoding a RuntimeException is thrown.
  • Field Details

  • Constructor Details

    • Signatures

      private Signatures()
  • Method Details

    • methodSignature

      public static String methodSignature(Method method)
      Parameters:
      method -
      Returns:
      the JVM method signature
    • typeParameter

      private static void typeParameter(TypeVariable<?> typeVariable, StringBuilder builder)
      TypeParameter
      Parameters:
      typeVariable -
      builder -
    • javaType

      private static void javaType(Type type, StringBuilder builder)
      JavaTypeSignature
      Parameters:
      type -
      builder -
    • wildcardType

      private static void wildcardType(WildcardType wildcard, StringBuilder builder)
      Note that Java language does not support more than one upper/lower bound.
      Parameters:
      wildcard -
      builder -
    • typeVariable

      private static void typeVariable(TypeVariable<?> typeVariable, StringBuilder builder)
    • parameterizedType

      private static void parameterizedType(ParameterizedType parameterizedType, StringBuilder builder)
    • nonGenericType

      private static void nonGenericType(Class<?> clazz, StringBuilder builder)
      BaseType, ClassTypeSignature or ArrayTypeSignature
      Parameters:
      clazz -
    • classTypeBase

      private static String classTypeBase(String className)
      ClassTypeSignature base
      Parameters:
      clazz -
      builder -
    • encodeClassName

      private static String encodeClassName(String className)
    • getTypeParamBoundRawType

      private static <T> Class<T> getTypeParamBoundRawType(Type type)
    • getBound

      private static <T> Class<T> getBound(Type[] bounds)