org.eclipse.jdt.core.ToolFactory.createDefaultClassFileReader()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(11.6k)|赞(0)|评价(0)|浏览(50)

本文整理了Java中org.eclipse.jdt.core.ToolFactory.createDefaultClassFileReader()方法的一些代码示例,展示了ToolFactory.createDefaultClassFileReader()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ToolFactory.createDefaultClassFileReader()方法的具体详情如下:
包路径:org.eclipse.jdt.core.ToolFactory
类名称:ToolFactory
方法名:createDefaultClassFileReader

ToolFactory.createDefaultClassFileReader介绍

[英]Create a default classfile reader, able to expose the internal representation of a given classfile according to the decoding flag used to initialize the reader. Answer null if the input stream contents cannot be retrieved The decoding flags are described in IClassFileReader.
[中]创建一个默认类文件读取器,能够根据用于初始化读取器的解码标志公开给定类文件的内部表示。回答null如果无法检索输入流内容,则解码标志在IClassFileReader中描述。

代码示例

代码示例来源:origin: org.eclipse.pde/org.eclipse.pde.ui

public static Set<String> findPackagesInClassFiles(IClassFile[] files, IProgressMonitor monitor) {
  Set<String> packages = new HashSet<>();
  monitor.beginTask(PDEUIMessages.PackageFinder_taskName, files.length);
  for (IClassFile file : files) {
    IClassFileReader reader = ToolFactory.createDefaultClassFileReader(file, IClassFileReader.ALL);
    if (reader != null)
      computeReferencedTypes(reader, packages);
    monitor.worked(1);
  }
  return packages;
}

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.ui

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();
  }
}

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.ui

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();
  }
}

代码示例来源:origin: eclipse/eclipse.jdt.ls

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();
    }
  }
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.ant.ui

/**
 * Find all classes that are required by given class file.
 * 
 * @param file
 *            a ".class" file
 * @return set of strings, each contains a full qualified class name (forward slash as package separator)
 */
public static Set<String> getRequiredClasses(IFile file) {
  Set<String> classes = new TreeSet<>();
  IClassFile classFile = JavaCore.createClassFileFrom(file);
  IClassFileReader reader = ToolFactory.createDefaultClassFileReader(classFile, IClassFileReader.CONSTANT_POOL);
  if (reader == null) {
    // class not compiled
    return classes;
  }
  IConstantPool pool = reader.getConstantPool();
  for (int i = 0; i < pool.getConstantPoolCount(); i++) {
    if (pool.getEntryKind(i) == IConstantPoolConstant.CONSTANT_Class) {
      IConstantPoolEntry entry = pool.decodeEntry(i);
      String classname = new String(entry.getClassInfoName());
      // don't return inner classes
      int index = classname.indexOf('$');
      if (index != -1) {
        classname = classname.substring(0, index);
      }
      classes.add(classname);
    }
  }
  return classes;
}

代码示例来源:origin: org.eclipse/org.eclipse.ajdt.ui

if (location != null) {
  File file= location.toFile();
  cfReader= ToolFactory.createDefaultClassFileReader(location.toOSString(), IClassFileReader.CLASSFILE_ATTRIBUTES);
  if (cfReader != null) {
    ISourceAttribute sourceAttribute= cfReader.getSourceFileAttribute();

代码示例来源:origin: eclipse/acceleo

final IClassFileReader reader = ToolFactory.createDefaultClassFileReader(resource
    .getLocation().toOSString(), IClassFileReader.CLASSFILE_ATTRIBUTES);
changedClasses.add(new String(reader.getClassName()).replace("/", ".")); //$NON-NLS-1$ //$NON-NLS-2$

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

String classFileName = classfile.getElementName();
  String entryName = org.eclipse.jdt.internal.core.util.Util.concatWith(packageFragment.names, classFileName, '/');
  return createDefaultClassFileReader(archiveName, entryName, decodingFlag);
} else {
  InputStream in = null;
  try {
    in = ((IFile) ((JavaElement) classfile).resource()).getContents();
    return createDefaultClassFileReader(in, decodingFlag);
  } finally {
    if (in != null)

代码示例来源:origin: org.jibx.config.3rdparty.org.eclipse/org.eclipse.jdt.core

String classFileName = classfile.getElementName();
  String entryName = org.eclipse.jdt.internal.core.util.Util.concatWith(packageFragment.names, classFileName, '/');
  return createDefaultClassFileReader(archiveName, entryName, decodingFlag);
} else {
  InputStream in = null;
  try {
    in = ((IFile) ((JavaElement) classfile).resource()).getContents();
    return createDefaultClassFileReader(in, decodingFlag);
  } finally {
    if (in != null)

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

String classFileName = classfile.getElementName();
  String entryName = org.eclipse.jdt.internal.core.util.Util.concatWith(packageFragment.names, classFileName, '/');
  return createDefaultClassFileReader(archiveName, entryName, decodingFlag);
} else {
  InputStream in = null;
  try {
    in = ((IFile) ((JavaElement) classfile).resource()).getContents();
    return createDefaultClassFileReader(in, decodingFlag);
  } finally {
    if (in != null)

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.ui

try {
  contents= EFS.getStore(location).openInputStream(EFS.NONE, monitor);
  cfReader= ToolFactory.createDefaultClassFileReader(contents, IClassFileReader.CLASSFILE_ATTRIBUTES);
} finally {
  try {

代码示例来源:origin: com.google.code.maven-play-plugin.org.eclipse.jdt/org.eclipse.jdt.core

String classFileName = classfile.getElementName();
  String entryName = org.eclipse.jdt.internal.core.util.Util.concatWith(packageFragment.names, classFileName, '/');
  return createDefaultClassFileReader(archiveName, entryName, decodingFlag);
} else {
  InputStream in = null;
  try {
    in = ((IFile) ((JavaElement) classfile).resource()).getContents();
    return createDefaultClassFileReader(in, decodingFlag);
  } finally {
    if (in != null)

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

String classFileName = classfile.getElementName();
  String entryName = org.eclipse.jdt.internal.core.util.Util.concatWith(packageFragment.names, classFileName, '/');
  return createDefaultClassFileReader(archiveName, entryName, decodingFlag);
} else {
  InputStream in = null;
  try {
    in = ((IFile) ((JavaElement) classfile).resource()).getContents();
    return createDefaultClassFileReader(in, decodingFlag);
  } finally {
    if (in != null)

代码示例来源:origin: org.eclipse/org.eclipse.jst.j2ee

try {
  ioStream = archiveResource.getInputStream();
  IClassFileReader classFileReader = ToolFactory.createDefaultClassFileReader(ioStream, IClassFileReader.CLASSFILE_ATTRIBUTES);
  IClassFileAttribute[] attributes = classFileReader.getAttributes();
  for (IClassFileAttribute attribute : attributes) {

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

/**
 * @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;
}

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

/**
 * @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;
}

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

} else {
  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$

代码示例来源:origin: com.google.code.maven-play-plugin.org.eclipse.jdt/org.eclipse.jdt.core

/**
 * @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;
}

代码示例来源:origin: trylimits/Eclipse-Postfix-Code-Completion

/**
 * @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;
}

代码示例来源:origin: org.jibx.config.3rdparty.org.eclipse/org.eclipse.jdt.core

} else {
  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$

相关文章