Example usage for org.eclipse.jdt.core.util IClassFileReader getAccessFlags

List of usage examples for org.eclipse.jdt.core.util IClassFileReader getAccessFlags

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.util IClassFileReader getAccessFlags.

Prototype

int getAccessFlags();

Source Link

Document

Answer back the access flags of the .class file.

Usage

From source file:org.eclipse.ajdt.internal.ui.editor.quickfix.AJSerialVersionHashOperation.java

License:Open Source License

private static int getClassModifiers(IClassFileReader cfReader) {
    IInnerClassesAttribute innerClassesAttribute = cfReader.getInnerClassesAttribute();
    if (innerClassesAttribute != null) {
        IInnerClassesAttributeEntry[] entries = innerClassesAttribute.getInnerClassAttributesEntries();
        for (int i = 0; i < entries.length; i++) {
            IInnerClassesAttributeEntry entry = entries[i];
            char[] innerClassName = entry.getInnerClassName();
            if (innerClassName != null) {
                if (CharOperation.equals(cfReader.getClassName(), innerClassName)) {
                    return entry.getAccessFlags();
                }//from  w w w . ja v a2s.c  o m
            }
        }
    }
    return cfReader.getAccessFlags();
}

From source file:org.eclipse.pde.tools.internal.versioning.JavaClassVersionCompare.java

License:Open Source License

/**
 * compares two java classes denoted by <code>classFileReader1</code> and <code>classFileReader2</code>,
 * and check if there is any change from <code>classFileReader2</code> to <code>classFileReader1</code>.
 * /*  w  w  w. j ava2s .  c  om*/
 * @param classFileReader1
 * @param classFileReader2
 * @param monitor IProgressMonitor instance
 * @return compare result IStatus instance
 */
private IStatus compareJavaClasses(IClassFileReader classFileReader1, IClassFileReader classFileReader2,
        IProgressMonitor monitor) {
    try {
        monitor.beginTask("", 100); //$NON-NLS-1$
        // compare class names
        String name1 = charsToString(classFileReader1.getClassName());
        String name2 = charsToString(classFileReader2.getClassName());
        if (!name1.equals(name2)) {
            finalResult.merge(resultStatusHandler(IStatus.WARNING, IVersionCompare.PROCESS_ERROR_STATUS,
                    NLS.bind(Messages.JavaClassVersionCompare_differentClassNameMsg, name1, name2), null));
            return finalResult;
        }
        // worked 5%
        monitor.worked(5);
        // compare super classes
        checkSuperClasses(name1, classFileReader1.getSuperclassName(), classFileReader2.getSuperclassName());
        // worked 5%
        monitor.worked(5);
        // compare interfaces
        checkInterfaces(name1, generateList(classFileReader1.getInterfaceNames()),
                generateList(classFileReader2.getInterfaceNames()));
        // worked 5%
        monitor.worked(5);
        // compare modifier of classes
        checkClassModifiers(name1, classFileReader1.getAccessFlags(), classFileReader2.getAccessFlags());
        // worked 5%
        monitor.worked(5);
        // compare fields
        checkElements(name1, generateTable(classFileReader1.getFieldInfos()),
                generateTable(classFileReader2.getFieldInfos()));
        // worked 40%
        monitor.worked(40);
        // compare methods (40%)
        checkElements(name1, generateTable(classFileReader1.getMethodInfos()),
                generateTable(classFileReader2.getMethodInfos()));
        return finalResult;
    } finally {
        monitor.done();
    }
}

From source file:org.eclipse.pde.tools.internal.versioning.PluginVersionCompare.java

License:Open Source License

/**
 * checks if the class denoted by <code>classFileReader</code> need to be processed.
 * @param classFileReader IClassFileReader instance
 * @return <code>true</code> if access flag of the class is public or protected
 *           <code>false</code> otherwise
 *///from ww w .  j  a  va2 s .com
private boolean shouldProcess(IClassFileReader classFileReader) {
    return Flags.isPublic(classFileReader.getAccessFlags())
            || Flags.isProtected(classFileReader.getAccessFlags());
}