def loadClassFile(self): fileName = QFileDialog.getOpenFileName( self, QString.fromUtf8("Select a Java class file"), '.', QString.fromUtf8("Java Class (*.class)")) if fileName: self.classFileText.setText(fileName) parser = Parser(fileName) try: result = parser.parse() print result self.magicNumText.setText(ByteToHex(result.getMagicNumber())) (majVer, minVer) = result.getVersions() self.majVerText.setText(str(majVer)) self.minVerText.setText(str(minVer)) self.accessFlagText.setText( ClassAccessFlags.flagToStr(result.getAccessFlag())) constants = result.getConstants() self.tabWidget.setTabText( 1, "Constant Pool (%d)" % len(constants)) except ParsingException, e: print e
def loadClassFile(self): fileName = QFileDialog.getOpenFileName(self, QString.fromUtf8("Select a Java class file"), '.', QString.fromUtf8("Java Class (*.class)")) if fileName: self.classFileText.setText(fileName) parser = Parser(fileName) try: result = parser.parse() print result self.magicNumText.setText(ByteToHex(result.getMagicNumber())) (majVer, minVer) = result.getVersions() self.majVerText.setText(str(majVer)) self.minVerText.setText(str(minVer)) self.accessFlagText.setText(ClassAccessFlags.flagToStr(result.getAccessFlag())) constants = result.getConstants() self.tabWidget.setTabText(1, "Constant Pool (%d)" % len(constants)) except ParsingException,e: print e
__author__ = 'jasonlee' from PyJavapInternal.Parser import Parser, ParsingResult if __name__ == '__main__': import argparse description= 'Parse java class file' parser = argparse.ArgumentParser(description=description) parser.add_argument('-cf', type=str, help='java class file', required=True) options = parser.parse_args() clsParser = Parser(options.cf) clsResult = clsParser.parse() if clsResult: print clsResult.__str__() else: print 'Parsing failed. Please check the log.'