Class ClassMetadataReader

java.lang.Object
pro.gravit.launchserver.asm.ClassMetadataReader
All Implemented Interfaces:
Closeable, AutoCloseable

public class ClassMetadataReader extends Object implements Closeable
Позволяет искать методы внутри незагруженных классов и общие суперклассы для чего угодно. Работает через поиск class-файлов в classpath.
  • Constructor Details

    • ClassMetadataReader

      public ClassMetadataReader(List<JarFile> cp)
    • ClassMetadataReader

      public ClassMetadataReader()
  • Method Details

    • getCp

      public List<JarFile> getCp()
    • acceptVisitor

      public void acceptVisitor(byte[] classData, org.objectweb.asm.ClassVisitor visitor)
    • acceptVisitor

      public void acceptVisitor(String className, org.objectweb.asm.ClassVisitor visitor) throws IOException
      Throws:
      IOException
    • acceptVisitor

      public void acceptVisitor(byte[] classData, org.objectweb.asm.ClassVisitor visitor, int flags)
    • acceptVisitor

      public void acceptVisitor(String className, org.objectweb.asm.ClassVisitor visitor, int flags) throws IOException
      Throws:
      IOException
    • getClassData

      public byte[] getClassData(String className) throws IOException
      Throws:
      IOException
    • getSuperClass

      public String getSuperClass(String type)
    • getSuperClassASM

      protected String getSuperClassASM(String type) throws IOException
      Throws:
      IOException
    • getSuperClasses

      public ArrayList<String> getSuperClasses(String type)
      Возвращает суперклассы в порядке возрастающей конкретности (начиная с java/lang/Object и заканчивая данным типом)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable