List of usage examples for org.eclipse.jdt.core.util IClassFileReader ALL
int ALL
To view the source code for org.eclipse.jdt.core.util IClassFileReader ALL.
Click Source Link
From source file:com.inepex.classtemplater.plugin.logic.Annotation.java
License:Eclipse Public License
public Annotation(IAnnotation jdtAnnotation, ICompilationUnit compilationUnit) throws Exception { this.compilationUnit = compilationUnit; name = jdtAnnotation.getElementName(); //default values aren't found in JDT so using AST to get them String[][] type = compilationUnit.findPrimaryType().resolveType(jdtAnnotation.getElementName()); if (type != null) { IType annType = jdtAnnotation.getJavaProject().findType(type[0][0] + "." + type[0][1]); //hint to read annotation default value from a classfile // if (annType.getCompilationUnit() != null) { AnnotationASTVisitor annASTVisitor = new AnnotationASTVisitor(); ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setSource(annType.getCompilationUnit()); parser.setResolveBindings(true); CompilationUnit aParser = (CompilationUnit) parser.createAST(null); aParser.accept(annASTVisitor); Map<String, Object> defaultValues = annASTVisitor.getDefaultValueObjects(); for (Entry<String, Object> entry : defaultValues.entrySet()) { paramObjects.put(entry.getKey(), entry.getValue()); params.put(entry.getKey(), String.valueOf(entry.getValue())); }//w w w. j a v a 2 s. co m } else { //read annotation default value from .class file IClassFileReader reader = ToolFactory.createDefaultClassFileReader(annType.getClassFile(), IClassFileReader.ALL); if (reader != null) { for (IMethodInfo methodInfo : reader.getMethodInfos()) { if (methodInfo.getAttributes().length > 0 && methodInfo.getAttributes()[0] instanceof AnnotationDefaultAttribute) { String name = new String(methodInfo.getName()); Object value = parseDefaultObjectValueFromAnnotationDefaultAttribute( (AnnotationDefaultAttribute) (methodInfo.getAttributes()[0]), new String(methodInfo.getDescriptor())); if (value != null) { paramObjects.put(name, value); params.put(name, String.valueOf(value)); } } // System.out.println(methodInfo.getName()); } } } } for (IMemberValuePair pair : jdtAnnotation.getMemberValuePairs()) { try { params.put(pair.getMemberName(), String.valueOf(pair.getValue())); paramObjects.put(pair.getMemberName(), pair.getValue()); } catch (ClassCastException e) { Log.log("Could not cast value of annotation-attribute: " + name + ", " + pair.getMemberName() + ". \n" + "Only string values can be used for annotation-attribute"); } } }
From source file:com.siteview.mde.internal.ui.search.dependencies.PackageFinder.java
License:Open Source License
public static Set findPackagesInClassFiles(IClassFile[] files, IProgressMonitor monitor) { Set packages = new HashSet(); monitor.beginTask(MDEUIMessages.PackageFinder_taskName, files.length); for (int i = 0; i < files.length; i++) { IClassFileReader reader = ToolFactory.createDefaultClassFileReader(files[i], IClassFileReader.ALL); if (reader != null) computeReferencedTypes(reader, packages); monitor.worked(1);//from w ww. ja v a 2s.c o m } monitor.done(); return packages; }
From source file:net.rim.ejde.internal.packaging.PackagingManager.java
License:Open Source License
/** * Checks if a jar file is a MidletJar created by rapc. * * @param f/*www . j ava 2 s . c om*/ * @return */ static public int getJarFileType(File f) { int type = 0x0; if (!f.exists()) { return type; } java.util.jar.JarFile jar = null; try { jar = new java.util.jar.JarFile(f, false); java.util.jar.Manifest manifest = jar.getManifest(); if (manifest != null) { java.util.jar.Attributes attributes = manifest.getMainAttributes(); String profile = attributes.getValue("MicroEdition-Profile"); if (profile != null) { if ("MIDP-1.0".equals(profile) || "MIDP-2.0".equals(profile)) { type = type | MIDLET_JAR; } } } Enumeration<JarEntry> entries = jar.entries(); JarEntry entry; String entryName; InputStream is = null; IClassFileReader classFileReader = null; // check the attribute of the class files in the jar file for (; entries.hasMoreElements();) { entry = entries.nextElement(); entryName = entry.getName(); if (entryName.endsWith(IConstants.CLASS_FILE_EXTENSION_WITH_DOT)) { is = jar.getInputStream(entry); classFileReader = ToolFactory.createDefaultClassFileReader(is, IClassFileReader.ALL); if (isEvisceratedClass(classFileReader)) { type = type | EVISCERATED_JAR; break; } } } } catch (IOException e) { _log.error(e.getMessage()); } finally { try { if (jar != null) { jar.close(); } } catch (IOException e) { _log.error(e.getMessage()); } } return type; }
From source file:nz.ac.massey.cs.jquest.views.QueryView.java
License:Open Source License
private String getFullname(IJavaElement e) { String fullname = null;/*from w w w .jav a 2 s. c o m*/ try { if (e instanceof ICompilationUnit) { fullname = ".fullname=='" + ((ICompilationUnit) e).getTypes()[0].getFullyQualifiedName() + "'"; return fullname; } else if (e instanceof IClassFile) { IClassFile icf = (IClassFile) e; IClassFileReader r = new ClassFileReader(icf.getBytes(), IClassFileReader.ALL); char[] name = r.getClassName(); String classname = String.valueOf(name); classname = classname.replace("/", "."); fullname = ".fullname=='" + classname + "'"; return fullname; } else if (e instanceof IPackageFragment) { fullname = ".namespace=='" + e.getElementName() + "'"; return fullname; } else if (e instanceof IPackageFragmentRoot) { fullname = ".container=='" + e.getElementName() + "'"; return fullname; } else { return null; } } catch (Exception e1) { e1.printStackTrace(); } return null; }
From source file:org.codehaus.jdt.groovy.model.GroovyClassFileWorkingCopy.java
License:Open Source License
/** * @see Openable#openBuffer(IProgressMonitor, Object) *//*from w w w . j a v a 2 s .co m*/ protected IBuffer openBuffer(IProgressMonitor pm, Object info) throws JavaModelException { // create buffer IBuffer buffer = this.owner.createBuffer(this); if (buffer == null) return null; // set the buffer source if (buffer.getCharacters() == null) { 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()), //$NON-NLS-1$ ClassFileBytesDisassembler.WORKING_COPY); buffer.setContents(contents); } } // add buffer to buffer cache BufferManager bufManager = getBufferManager(); // GROOVY Change access to private member // old // bufManager.addBuffer(buffer); // new if (buffer.getContents() != null) { ReflectionUtils.executePrivateMethod(BufferManager.class, "addBuffer", new Class<?>[] { IBuffer.class }, //$NON-NLS-1$ bufManager, new Object[] { buffer }); } // GROOVY End // listen to buffer changes buffer.addBufferChangedListener(this); return buffer; }
From source file:org.eclipse.ajdt.internal.ui.editor.quickfix.AJSerialVersionHashOperation.java
License:Open Source License
public static Long calculateSerialVersionId(ITypeBinding typeBinding, final IProgressMonitor monitor) throws CoreException, IOException { try {//w w w . j a va 2s.c o m 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(); } }
From source file:org.eclipse.pde.internal.ui.search.dependencies.PackageFinder.java
License:Open Source License
public static Set<String> findPackagesInClassFiles(IClassFile[] files, IProgressMonitor monitor) { Set<String> packages = new HashSet<String>(); monitor.beginTask(PDEUIMessages.PackageFinder_taskName, files.length); for (int i = 0; i < files.length; i++) { IClassFileReader reader = ToolFactory.createDefaultClassFileReader(files[i], IClassFileReader.ALL); if (reader != null) computeReferencedTypes(reader, packages); monitor.worked(1);/*w w w. j ava 2s . com*/ } monitor.done(); return packages; }
From source file:org.eclipse.pde.tools.internal.versioning.ClassFileHelper.java
License:Open Source License
/** * Return a class file reader based on the given object or <code>null</code>. *///w w w . j a v a 2s . c o m public static IClassFileReader getReader(Object object) throws CoreException { if (object instanceof String) return getClassReaderFromFile(new File((String) object)); if (object instanceof File) return getClassReaderFromFile((File) object); if (object instanceof URL) return getClassReaderFromURL((URL) object); if (object instanceof InputStream) { IClassFileReader fileReader = ToolFactory.createDefaultClassFileReader((InputStream) object, IClassFileReader.ALL); return fileReader; } else if (object instanceof IClassFileReader) return (IClassFileReader) object; else // otherwise throw CoreException throw new CoreException(new Status(IStatus.WARNING, PLUGIN_ID, IStatus.WARNING, NLS.bind(Messages.JavaClassVersionCompare_unexpectedTypeMsg, object.getClass().getName()), null)); }
From source file:org.eclipse.pde.ui.tests.ee.ExecutionEnvironmentTests.java
License:Open Source License
/** * Validates the target level of a generated class file. * /*www .j a v a2 s . c o m*/ * @param classfile location of class file in local file system * @param major expected major class file version */ protected void validateTargetLevel(String classfile, int major) { IClassFileReader reader = ToolFactory.createDefaultClassFileReader(classfile, IClassFileReader.ALL); assertEquals("Wrong major version", major, reader.getMajorVersion()); }
From source file:org.eclipse.pde.ui.tests.ee.ExportBundleTests.java
License:Open Source License
/** * Validates the target level of a generated class file. * /*from w ww . ja va 2s .c o m*/ * @param zipFileName location of archive file * @param zipEntryName path to class file in archive * @param major expected major class file version */ protected void validateTargetLevel(String zipFileName, String zipEntryName, int major) { IClassFileReader reader = ToolFactory.createDefaultClassFileReader(zipFileName, zipEntryName, IClassFileReader.ALL); assertEquals("Wrong major version", major, reader.getMajorVersion()); }