List of usage examples for org.eclipse.jdt.core.util IClassFileReader getAccessFlags
int getAccessFlags();
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()); }