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
def __str__(self): result = "" result += "File Name: %s\n" % self.cls_file_name result += "Magic Number: %s\n" % PyJavapInternal.ByteToHex( self.magicNumber) result += "Major Version: %d\n" % self.majorVer result += "Minor Version: %d\n" % self.minorVer result += "Constant Pool (Count %d)\n" % len(self.constants) if len(self.constants) > 0: if self.constants is not None: result += "==========================\n" for i in range(len(self.constants)): result += 'const #%d = %s\n' % (i + 1, str(self.constants[i])) result += "==========================\n" result += "Access Flag: %s\n" % ClassAccessFlags.flagToStr( self.accessFlag) if self.thisIndex >= 1: result += "this: %s\n" % self.getClassName(self.thisIndex) if self.superIndex >= 1: result += "super: %s\n" % self.getClassName(self.superIndex) if len(self.attributes): result += "Attributes\n" result += "=====================\n" for attribute in self.attributes: result += str(attribute) + "\n" result += "\n" if self.interfaceCount > 0: result += "Implemented interfaces: " for i in range(self.interfaceCount): result += self.getClassName(self.interfaces[i]) + "," result = result[:-1] # eliminate the last ',' result += "\n" else: result += "No interface\n" if self.fieldCount > 0: result += "Fields(%d): \n" % self.fieldCount for i in range(self.fieldCount): result += "\t" + str(self.fields[i]) + "\n" if self.methodCount > 0: result += "Methods(%d): \n" % self.methodCount for i in range(self.methodCount): result += "\t" + str(self.methods[i]) + "\n" return result
def __str__(self): result = "" result += "File Name: %s\n" % self.cls_file_name result += "Magic Number: %s\n" % PyJavapInternal.ByteToHex(self.magicNumber) result += "Major Version: %d\n" % self.majorVer result += "Minor Version: %d\n" % self.minorVer result += "Constant Pool (Count %d)\n" % len(self.constants) if len(self.constants) > 0: if self.constants is not None: result += "==========================\n" for i in range(len(self.constants)): result += 'const #%d = %s\n' % (i + 1, str(self.constants[i])) result += "==========================\n" result += "Access Flag: %s\n" % ClassAccessFlags.flagToStr(self.accessFlag) if self.thisIndex >= 1: result += "this: %s\n" % self.getClassName(self.thisIndex) if self.superIndex >= 1: result += "super: %s\n" % self.getClassName(self.superIndex) if len(self.attributes): result += "Attributes\n" result += "=====================\n" for attribute in self.attributes: result += str(attribute) + "\n" result += "\n" if self.interfaceCount > 0: result += "Implemented interfaces: " for i in range(self.interfaceCount): result += self.getClassName(self.interfaces[i]) + "," result = result[:-1] # eliminate the last ',' result += "\n" else: result += "No interface\n" if self.fieldCount > 0: result += "Fields(%d): \n" % self.fieldCount for i in range(self.fieldCount): result += "\t" + str(self.fields[i]) + "\n" if self.methodCount > 0: result += "Methods(%d): \n" % self.methodCount for i in range(self.methodCount): result += "\t" + str(self.methods[i]) + "\n" return result