本文整理汇总了Java中org.eclipse.jdt.core.util.IClassFileReader类的典型用法代码示例。如果您正苦于以下问题:Java IClassFileReader类的具体用法?Java IClassFileReader怎么用?Java IClassFileReader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IClassFileReader类属于org.eclipse.jdt.core.util包,在下文中一共展示了IClassFileReader类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: calculateSerialVersionId
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
public static Long calculateSerialVersionId(ITypeBinding typeBinding, final IProgressMonitor monitor) throws CoreException, IOException {
try {
IFile classfileResource = getClassfile(typeBinding);
if (classfileResource == null) {
return null;
}
InputStream contents = classfileResource.getContents();
try {
IClassFileReader cfReader = ToolFactory.createDefaultClassFileReader(contents, IClassFileReader.ALL);
if (cfReader != null) {
return calculateSerialVersionId(cfReader);
}
} finally {
contents.close();
}
return null;
} finally {
if (monitor != null) {
monitor.done();
}
}
}
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:24,代码来源:SerialVersionHashOperation.java
示例2: getClassModifiers
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
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();
}
}
}
}
return cfReader.getAccessFlags();
}
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:17,代码来源:SerialVersionHashOperation.java
示例3: getSortedMethods
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static IMethodInfo[] getSortedMethods(IClassFileReader cfReader) {
IMethodInfo[] allMethods = cfReader.getMethodInfos();
Arrays.sort(allMethods, new Comparator<IMethodInfo>() {
@Override
public int compare(IMethodInfo mi1, IMethodInfo mi2) {
if (mi1.isConstructor() != mi2.isConstructor()) {
return mi1.isConstructor() ? -1 : 1;
} else if (mi1.isConstructor()) {
return 0;
}
int res = CharOperation.compareTo(mi1.getName(), mi2.getName());
if (res != 0) {
return res;
}
return CharOperation.compareTo(mi1.getDescriptor(), mi2.getDescriptor());
}
});
return allMethods;
}
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:20,代码来源:SerialVersionHashOperation.java
示例4: calculateSerialVersionId
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
public static Long calculateSerialVersionId(ITypeBinding typeBinding, final IProgressMonitor monitor) throws CoreException, IOException {
try {
IFile classfileResource= getClassfile(typeBinding);
if (classfileResource == null)
return null;
InputStream contents= classfileResource.getContents();
try {
IClassFileReader cfReader= ToolFactory.createDefaultClassFileReader(contents, IClassFileReader.ALL);
if (cfReader != null) {
return calculateSerialVersionId(cfReader);
}
} finally {
contents.close();
}
return null;
} finally {
if (monitor != null)
monitor.done();
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:22,代码来源:SerialVersionHashOperation.java
示例5: getClassModifiers
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
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();
}
}
}
}
return cfReader.getAccessFlags();
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:17,代码来源:SerialVersionHashOperation.java
示例6: getSortedMethods
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static IMethodInfo[] getSortedMethods(IClassFileReader cfReader) {
IMethodInfo[] allMethods= cfReader.getMethodInfos();
Arrays.sort(allMethods, new Comparator<IMethodInfo>() {
public int compare(IMethodInfo mi1, IMethodInfo mi2) {
if (mi1.isConstructor() != mi2.isConstructor()) {
return mi1.isConstructor() ? -1 : 1;
} else if (mi1.isConstructor()) {
return 0;
}
int res= CharOperation.compareTo(mi1.getName(), mi2.getName());
if (res != 0) {
return res;
}
return CharOperation.compareTo(mi1.getDescriptor(), mi2.getDescriptor());
}
});
return allMethods;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:19,代码来源:SerialVersionHashOperation.java
示例7: getSortedInterfacesNames
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static char[][] getSortedInterfacesNames(IClassFileReader cfReader) {
char[][] interfaceNames = cfReader.getInterfaceNames();
Arrays.sort(interfaceNames, new Comparator<char[]>() {
@Override
public int compare(char[] o1, char[] o2) {
return CharOperation.compareTo(o1, o2);
}
});
return interfaceNames;
}
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:11,代码来源:SerialVersionHashOperation.java
示例8: getSortedFields
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static IFieldInfo[] getSortedFields(IClassFileReader cfReader) {
IFieldInfo[] allFields = cfReader.getFieldInfos();
Arrays.sort(allFields, new Comparator<IFieldInfo>() {
@Override
public int compare(IFieldInfo o1, IFieldInfo o2) {
return CharOperation.compareTo(o1.getName(), o2.getName());
}
});
return allFields;
}
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:11,代码来源:SerialVersionHashOperation.java
示例9: hasStaticClassInitializer
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static boolean hasStaticClassInitializer(IClassFileReader cfReader) {
IMethodInfo[] methodInfos = cfReader.getMethodInfos();
for (int i = 0; i < methodInfos.length; i++) {
if (methodInfos[i].isClinit()) {
return true;
}
}
return false;
}
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:10,代码来源:SerialVersionHashOperation.java
示例10: getAttribute
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
public static IClassFileAttribute getAttribute(
IClassFileReader classFileReader, char[] attributeName) {
IClassFileAttribute[] attributes = classFileReader.getAttributes();
for (int i = 0, max = attributes.length; i < max; i++) {
if (CharOperation.equals(attributes[i].getAttributeName(), attributeName)) {
return attributes[i];
}
}
return null;
}
开发者ID:eclipse,项目名称:che,代码行数:11,代码来源:Util.java
示例11: getSortedInterfacesNames
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static char[][] getSortedInterfacesNames(IClassFileReader cfReader) {
char[][] interfaceNames= cfReader.getInterfaceNames();
Arrays.sort(interfaceNames, new Comparator<char[]>() {
public int compare(char[] o1, char[] o2) {
return CharOperation.compareTo(o1, o2);
}
});
return interfaceNames;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:10,代码来源:SerialVersionHashOperation.java
示例12: getSortedFields
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static IFieldInfo[] getSortedFields(IClassFileReader cfReader) {
IFieldInfo[] allFields= cfReader.getFieldInfos();
Arrays.sort(allFields, new Comparator<IFieldInfo>() {
public int compare(IFieldInfo o1, IFieldInfo o2) {
return CharOperation.compareTo(o1.getName(), o2.getName());
}
});
return allFields;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:10,代码来源:SerialVersionHashOperation.java
示例13: hasStaticClassInitializer
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private static boolean hasStaticClassInitializer(IClassFileReader cfReader) {
IMethodInfo[] methodInfos= cfReader.getMethodInfos();
for (int i= 0; i < methodInfos.length; i++) {
if (methodInfos[i].isClinit()) {
return true;
}
}
return false;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:10,代码来源:SerialVersionHashOperation.java
示例14: checkClassFile
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private boolean checkClassFile(IClassFileReader classFileReader) {
IMethodInfo[] methodInfos = classFileReader.getMethodInfos();
for (int i = 0, max = methodInfos.length; i < max; i++) {
ICodeAttribute codeAttribute = methodInfos[i].getCodeAttribute();
if (codeAttribute != null && codeAttribute.getLineNumberAttribute() != null) {
return true;
}
}
return false;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:11,代码来源:CheckDebugAttributes.java
示例15: openBuffer
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
/**
* @see Openable#openBuffer(IProgressMonitor, Object)
*/
protected IBuffer openBuffer(IProgressMonitor pm, Object info) throws JavaModelException {
// create buffer
IBuffer buffer = BufferManager.createBuffer(this);
// set the buffer source
IBuffer classFileBuffer = this.classFile.getBuffer();
if (classFileBuffer != null) {
buffer.setContents(classFileBuffer.getCharacters());
} else {
// Disassemble
IClassFileReader reader = ToolFactory.createDefaultClassFileReader(this.classFile, IClassFileReader.ALL);
Disassembler disassembler = new Disassembler();
String contents = disassembler.disassemble(reader, Util.getLineSeparator("", getJavaProject()), ClassFileBytesDisassembler.WORKING_COPY); //$NON-NLS-1$
buffer.setContents(contents);
}
// add buffer to buffer cache
BufferManager bufManager = getBufferManager();
bufManager.addBuffer(buffer);
// listen to buffer changes
buffer.addBufferChangedListener(this);
return buffer;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:30,代码来源:ClassFileWorkingCopy.java
示例16: getAttribute
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
public static IClassFileAttribute getAttribute(IClassFileReader classFileReader, char[] attributeName) {
IClassFileAttribute[] attributes = classFileReader.getAttributes();
for (int i = 0, max = attributes.length; i < max; i++) {
if (CharOperation.equals(attributes[i].getAttributeName(), attributeName)) {
return attributes[i];
}
}
return null;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:10,代码来源:Util.java
示例17: visit
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
/**
* Answers whether children should be visited.
* <p>
* If the associated resource is a class file which has been changed, record it.
* </p>
*/
@Override
public boolean visit(IResourceDelta delta) {
if (delta == null || 0 == (delta.getKind() & IResourceDelta.CHANGED)) {
return false;
}
IResource resource = delta.getResource();
if (resource != null) {
switch (resource.getType()) {
case IResource.FILE:
if (0 == (delta.getFlags() & IResourceDelta.CONTENT)) {
return false;
}
if (CLASS_FILE_EXTENSION.equals(resource.getFullPath().getFileExtension())) {
IPath localLocation = resource.getLocation();
if (localLocation != null) {
String path = localLocation.toOSString();
IClassFileReader reader = ToolFactory.createDefaultClassFileReader(path,
IClassFileReader.CLASSFILE_ATTRIBUTES);
if (reader != null) {
// this name is slash-delimited
String qualifiedName = new String(reader.getClassName());
boolean hasBlockingErrors = false;
try {
// If the user doesn't want to replace
// classfiles containing
// compilation errors, get the source
// file associated with
// the class file and query it for
// compilation errors
IJavaProject pro = JavaCore.create(resource.getProject());
ISourceAttribute sourceAttribute = reader.getSourceFileAttribute();
String sourceName = null;
if (sourceAttribute != null) {
sourceName = new String(sourceAttribute.getSourceFileName());
}
IResource sourceFile = getSourceFile(pro, qualifiedName, sourceName);
if (sourceFile != null) {
IMarker[] problemMarkers = null;
problemMarkers = sourceFile.findMarkers(
IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true,
IResource.DEPTH_INFINITE);
for (IMarker problemMarker : problemMarkers) {
if (problemMarker.getAttribute(IMarker.SEVERITY,
-1) == IMarker.SEVERITY_ERROR) {
hasBlockingErrors = true;
break;
}
}
}
} catch (CoreException e) {
logger.log(Level.SEVERE, "Failed to visit classes: " + e.getMessage(), e);
}
if (!hasBlockingErrors) {
changedFiles.add(resource);
// dot-delimit the name
fullyQualifiedNames.add(qualifiedName.replace('/', '.'));
}
}
}
}
return false;
default:
return true;
}
}
return true;
}
开发者ID:Microsoft,项目名称:java-debug,代码行数:75,代码来源:JavaHotCodeReplaceProvider.java
示例18: buildJavaToClassMap
import org.eclipse.jdt.core.util.IClassFileReader; //导入依赖的package包/类
private Map<String, ArrayList<IResource>> buildJavaToClassMap(IContainer container, IProgressMonitor monitor) throws CoreException {
if (container == null || !container.isAccessible())
return new HashMap<String, ArrayList<IResource>>(0);
/*
* XXX: Bug 6584: Need a way to get class files for a java file (or CU)
*/
IClassFileReader cfReader= null;
IResource[] members= container.members();
Map<String, ArrayList<IResource>> map= new HashMap<String, ArrayList<IResource>>(members.length);
for (int i= 0; i < members.length; i++) {
if (isClassFile(members[i])) {
IFile classFile= (IFile)members[i];
URI location= classFile.getLocationURI();
if (location != null) {
InputStream contents= null;
try {
contents= EFS.getStore(location).openInputStream(EFS.NONE, monitor);
cfReader= ToolFactory.createDefaultClassFileReader(contents, IClassFileReader.CLASSFILE_ATTRIBUTES);
} finally {
try {
if (contents != null)
contents.close();
} catch (IOException e) {
throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR,
Messages.format(JarPackagerMessages.JarFileExportOperation_errorCannotCloseConnection, BasicElementLabels.getURLPart(Resources.getLocationString(classFile))),
e));
}
}
if (cfReader != null) {
ISourceAttribute sourceAttribute= cfReader.getSourceFileAttribute();
if (sourceAttribute == null) {
/*
* Can't fully build the map because one or more
* class file does not contain the name of its
* source file.
*/
addWarning(Messages.format(
JarPackagerMessages.JarFileExportOperation_classFileWithoutSourceFileAttribute,
BasicElementLabels.getURLPart(Resources.getLocationString(classFile))), null);
return null;
}
String javaName= new String(sourceAttribute.getSourceFileName());
ArrayList<IResource> classFiles= map.get(javaName);
if (classFiles == null) {
classFiles= new ArrayList<IResource>(3);
map.put(javaName, classFiles);
}
classFiles.add(classFile);
}
}
}
}
return map;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:55,代码来源:JarFileExportOperation.java
注:本文中的org.eclipse.jdt.core.util.IClassFileReader类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论