Class ClassParser


  • public final class ClassParser
    extends Object
    Wrapper class that parses a given Java .class file. The method parse returns a JavaClass object on success. When an I/O error or an inconsistency occurs an appropiate exception is propagated back to the caller. The structure and the names comply, except for a few conveniences, exactly with the JVM specification 1.0. See this paper for further details about the structure of a bytecode file.
    • Constructor Detail

      • ClassParser

        public ClassParser​(InputStream inputStream,
                           String fileName)
        Parses class from the given stream.
        Parameters:
        inputStream - Input stream
        fileName - File name
      • ClassParser

        public ClassParser​(String fileName)
        Parses class from given .class file.
        Parameters:
        fileName - file name
      • ClassParser

        public ClassParser​(String zipFile,
                           String fileName)
        Parses class from given .class file in a ZIP-archive
        Parameters:
        zipFile - zip file name
        fileName - file name
    • Method Detail

      • parse

        public JavaClass parse()
                        throws IOException,
                               ClassFormatException
        Parses the given Java class file and return an object that represents the contained data, i.e., constants, methods, fields and commands. A ClassFormatException is raised, if the file is not a valid .class file. (This does not include verification of the byte code as it is performed by the java interpreter).
        Returns:
        Class object representing the parsed class file
        Throws:
        IOException
        ClassFormatException