Package org.gjt.jclasslib.structures

Examples of org.gjt.jclasslib.structures.ClassFile


     * @return the created internal frame
     */
    public BrowserInternalFrame openClassFromFile(File file) {

        BrowserInternalFrame frame = new BrowserInternalFrame(desktopManager, new WindowState(file.getPath()));
        ClassFile classFile = frame.getClassFile();

        if (classFile != null) {
            try {
                String className = classFile.getThisClassName();
                String[] pathComponents = className.split("/");
                File currentDirectory = file.getParentFile();
                boolean validClasspathEntry = true;
                for (int i = pathComponents.length - 2; i >= 0; i--) {
                    String pathComponent = pathComponents[i];
View Full Code Here


        }

        String fileName = file.getPath() + "!" + selectedClassName + ".class";

        BrowserInternalFrame frame = new BrowserInternalFrame(desktopManager, new WindowState(fileName));
        ClassFile classFile = frame.getClassFile();
        if (classFile != null) {
            config.addClasspathArchive(file.getPath());
        }

        return frame;
View Full Code Here

    }

    public void show(TreePath treePath) {
       
        ClassFile classFile = services.getClassFile();
       
        lblMinorVersion.setText(classFile.getMinorVersion());
        lblMajorVersion.setText(classFile.getMajorVersion());
        lblConstantPoolCount.setText(classFile.getConstantPool().length);

        lblAccessFlags.setText(classFile.getFormattedAccessFlags());
        lblAccessFlagsVerbose.setText("[" + classFile.getAccessFlagsVerbose() + "]");

        constantPoolHyperlink(lblThisClass,
                              lblThisClassVerbose,
                              classFile.getThisClass());

        constantPoolHyperlink(lblSuperClass,
                              lblSuperClassVerbose,
                              classFile.getSuperClass());
       
        lblInterfacesCount.setText(classFile.getInterfaces().length);
        lblFieldsCount.setText(classFile.getFields().length);
        lblMethodsCount.setText(classFile.getMethods().length);
        lblAttributesCount.setText(classFile.getAttributes().length);

        super.show(treePath);
    }
View Full Code Here

    {

        DataInputStream in = new DataInputStream(
                                new BufferedInputStream(is));

        ClassFile classFile = new ClassFile();
        classFile.read(in);
        in.close();
        return classFile;
    }
View Full Code Here

        final int maxCount = 500;
        long startTime, endTime;

        File file = new File(args[0]);
        ClassFile classFile = readFromFile(file);

        startTime = System.currentTimeMillis();
        for (int i = 0; i < maxCount; i++) {
            classFile = readFromFile(file);
        }
View Full Code Here

        InputStream is = inputStreamProvider.createInputStream();
        pumpStream(is, os);
        is.close();
        byte[] before = os.toByteArray();

        ClassFile classFile = ClassFileReader.readFromInputStream(inputStreamProvider.createInputStream());
        byte[] after = ClassFileWriter.writeToByteArray(classFile);

        boolean success = compare(className, before, after);
        if (!success) {
            System.setProperty(AbstractStructure.SYSTEM_PROPERTY_DEBUG, "true");
View Full Code Here

     * @return the created internal frame
     */
    public BrowserInternalFrame openClassFromFile(File file) throws IOException {

        BrowserInternalFrame frame = new BrowserInternalFrame(desktopManager, new WindowState(file.getPath()));
        ClassFile classFile = frame.getClassFile();

        if (classFile != null) {
            try {
                String className = classFile.getThisClassName();
                String[] pathComponents = className.split("/");
                File currentDirectory = file.getParentFile();
                boolean validClasspathEntry = true;
                for (int i = pathComponents.length - 2; i >= 0; i--) {
                    String pathComponent = pathComponents[i];
View Full Code Here

        }

        String fileName = file.getPath() + "!" + selectedClassName + ".class";

        BrowserInternalFrame frame = new BrowserInternalFrame(desktopManager, new WindowState(fileName));
        ClassFile classFile = frame.getClassFile();
        if (classFile != null) {
            config.addClasspathArchive(file.getPath());
        }

        return frame;
View Full Code Here

       
        TreePath parentPath = path.getParentPath();
        BrowserTreeNode parentNode = (BrowserTreeNode)parentPath.getLastPathComponent();
        String parentNodeType = parentNode.getType();
       
        ClassFile classFile = services.getClassFile();
        int parentIndex = getIndex(parentPath);
        int index = getIndex(path);
       
        if (parentNodeType.equals(BrowserTreeNode.NODE_NO_CONTENT)) {
            return classFile.getAttributes()[index];

        } else if (parentNodeType.equals(BrowserTreeNode.NODE_FIELD)) {
            return classFile.getFields()[parentIndex].getAttributes()[index];

        } else if (parentNodeType.equals(BrowserTreeNode.NODE_METHOD)) {
            return classFile.getMethods()[parentIndex].getAttributes()[index];

        } else {
            return findAttribute(parentPath).getAttributes()[index];
        }
    }
View Full Code Here

    }

    public void show(TreePath treePath) {
       
        ClassFile classFile = services.getClassFile();
       
        lblMinorVersion.setText(classFile.getMinorVersion());
        lblMajorVersion.setText(classFile.getMajorVersion());
        lblMajorVersionVerbose.setText("[" + classFile.getMajorVersionVerbose() + "]");
        lblConstantPoolCount.setText(classFile.getConstantPool().length);

        lblAccessFlags.setText(classFile.getFormattedAccessFlags());
        lblAccessFlagsVerbose.setText("[" + classFile.getAccessFlagsVerbose() + "]");

        constantPoolHyperlink(lblThisClass,
                              lblThisClassVerbose,
                              classFile.getThisClass());

        constantPoolHyperlink(lblSuperClass,
                              lblSuperClassVerbose,
                              classFile.getSuperClass());
       
        lblInterfacesCount.setText(classFile.getInterfaces().length);
        lblFieldsCount.setText(classFile.getFields().length);
        lblMethodsCount.setText(classFile.getMethods().length);
        lblAttributesCount.setText(classFile.getAttributes().length);

        super.show(treePath);
    }
View Full Code Here

TOP

Related Classes of org.gjt.jclasslib.structures.ClassFile

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.