List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE
int K_SOURCE
To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.
Click Source Link
From source file:ccw.ClojureProject.java
License:Open Source License
public static List<IFolder> sourceFolders(IJavaProject jp) { List<IFolder> ret = new ArrayList<IFolder>(); try {//from w w w . j a v a 2 s . c o m for (IPackageFragmentRoot root : jp.getAllPackageFragmentRoots()) if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { // System.err.println("SOURCE: " + root + " " + // root.getClass()); if (root.getResource() instanceof IFolder && root.getParent().getAdapter(IProject.class) == jp.getProject()) { ret.add((IFolder) root.getResource()); } } } catch (JavaModelException e) { CCWPlugin.logError(e); } return ret; }
From source file:cfgrecognition.loader.SootClassLoader.java
License:Open Source License
/** * The method traverses all of the project types in depth-first order * including inner and anonymous types and loads them in Soot. * //from w w w .ja v a2s . co m * * @param monitor * The progress monitor. * @throws Exception * Propagated from JDT APIs. */ public void process() throws Exception { IJavaProject project = Activator.getIJavaProject(); IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots(); // subMonitor.beginTask("Loading " + project.getElementName() + " ...", 2); // // SubProgressMonitor monitor = new SubProgressMonitor(subMonitor, 1); // monitor.beginTask("Loading packages ... ", // packageFragmentRoots.length + 1); for (IPackageFragmentRoot pkgFragRoot : packageFragmentRoots) { if (pkgFragRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] pkgFrags = (IJavaElement[]) pkgFragRoot.getChildren(); for (IJavaElement pkgFrag : pkgFrags) { // if (monitor.isCanceled()) // return; // // monitor.subTask("Loading classes in " // + pkgFrag.getElementName()); if (pkgFrag.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pkgFragment = (IPackageFragment) pkgFrag; IJavaElement[] children = pkgFragment.getChildren(); for (IJavaElement anElement : children) { // if (monitor.isCanceled()) // return; // Make sure its a java file if (anElement.getElementType() == IJavaElement.COMPILATION_UNIT) { this.dfsDomTree(anElement); // this.dfsDomTree(anElement, monitor); } } } } } // monitor.worked(1); } // Load the necessary classes after all of the classes have been loaded. Scene.v().loadNecessaryClasses(); // monitor.done(); // Create an instance of Interpreter before we process anything further // Interpreter.instance(); // monitor = new SubProgressMonitor(subMonitor, 1); // monitor.beginTask("Configuring entry points ... ", this // .getAllSootClasses().size()); // for (SootClass c : this.getAllSootClasses()) { // // ExtensionManager manager = ExtensionManager.instance(); // // Configure entry methods for extension plugin // for (SootMethod method : c.getMethods()) { // if (monitor.isCanceled()) // return; // // TODO: later down the road, this specifies the entry points // // (characteristics for different algorithms) // // manager.checkEntryMethod(method, monitor); // monitor.worked(1); // } // } // monitor.done(); }
From source file:ch.mlutz.plugins.t4e.tapestry.TapestryModule.java
License:Open Source License
public static ICompilationUnit findCompilationUnit(IProject project, String fullyQualifiedName) { IPackageFragment fragment;/*w w w .j a v a2s . c o m*/ ICompilationUnit compilationUnit; IPackageFragmentRoot[] fragmentRoots; try { fragmentRoots = getPackageFragmentRoots(project); } catch (JavaModelException e) { log.warn("Could not get packageFragmentRoots of project " + project.getName(), e); return null; } catch (CoreException e) { log.warn("Could not get packageFragmentRoots of project " + project.getName(), e); return null; } // split fullyQualifiedName into package and simple name // int lastDotIndex= fullyQualifiedName.lastIndexOf('.'); String packageName; String compilationUnitName; Pattern pattern = Pattern.compile("(?:(.*)\\.)?([^.]+\\.[^.]+)"); Matcher matcher = pattern.matcher(fullyQualifiedName); if (matcher.matches()) { packageName = matcher.group(1); if (packageName == null) { packageName = ""; // default package } compilationUnitName = matcher.group(2); } else { return null; } /* if (lastDotIndex != -1) { packageName= fullyQualifiedName.substring(0, lastDotIndex); compilationUnitName= fullyQualifiedName.substring(lastDotIndex + 1, fullyQualifiedName.length()); } else { // no dot found ==> try to retrieve class in default package packageName= ""; compilationUnitName= fullyQualifiedName; } */ for (IPackageFragmentRoot root : fragmentRoots) { try { // only take into account source roots if (root.getKind() != IPackageFragmentRoot.K_SOURCE) { continue; } } catch (JavaModelException e) { log.warn("Could not get kind of packageFragmentRoot " + project.getName(), e); continue; } fragment = root.getPackageFragment(packageName); if (fragment == null) { continue; } /* log.info("Trying package fragment: " + fragment.getPath()); */ compilationUnit = fragment.getCompilationUnit(compilationUnitName); if (compilationUnit != null && compilationUnit.exists()) { return compilationUnit; } } return null; }
From source file:ch.mlutz.plugins.t4e.tapestry.TapestryModule.java
License:Open Source License
public static ICompilationUnit findCompilationUnitInClassPackages(IProject project, Iterable<String> classPackages, String packageSuffix, String resourceName) { IPackageFragment fragment;// w ww. java 2 s.co m ICompilationUnit compilationUnit; IPackageFragmentRoot[] fragmentRoots; try { fragmentRoots = getPackageFragmentRoots(project); } catch (JavaModelException e) { log.warn("Could not get packageFragmentRoots of project " + project.getName(), e); return null; } catch (CoreException e) { log.warn("Could not get packageFragmentRoots of project " + project.getName(), e); return null; } if (classPackages == null) { // add empty string as classPackage if none supplied classPackages = Arrays.asList(new String[] { "" }); } // loop through class package names for (String packageName : classPackages) { for (IPackageFragmentRoot root : fragmentRoots) { try { // only take into account source roots if (root.getKind() != IPackageFragmentRoot.K_SOURCE) { continue; } } catch (JavaModelException e) { log.warn("Could not get kind of packageFragmentRoot " + project.getName(), e); continue; } fragment = root.getPackageFragment(packageName + packageSuffix); if (fragment == null) { continue; } /* log.info("Trying package fragment: " + fragment.getPath()); */ compilationUnit = fragment.getCompilationUnit(resourceName); if (compilationUnit != null && compilationUnit.exists()) { return compilationUnit; } } } return null; }
From source file:ch.mlutz.plugins.t4e.tools.EclipseTools.java
License:Open Source License
/** * @param project//w w w. j a v a 2 s. c om * @return * @throws CoreException * @throws JavaModelException */ public static IPackageFragmentRoot[] getPackageFragmentRoots(IProject project) throws CoreException, JavaModelException { IPackageFragmentRoot[] packageFragmentRoots = null; IJavaProject javaProject = null; if (project.hasNature(JavaCore.NATURE_ID)) { // Cast the IProject to IJavaProject. javaProject = JavaCore.create(project); // Get the array of IPackageFragmentRoot using getAllPackageFragmentRoots() packageFragmentRoots = javaProject.getAllPackageFragmentRoots(); // Get the one(s) which have getKind() == IPackageFragmentRoot.K_SOURCE for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { System.out.println("Source Folder: " + packageFragmentRoot.getPath()); } } } return packageFragmentRoots; }
From source file:cn.ieclipse.adt.ext.jdt.JavaSelection.java
License:Apache License
private void iterate(IJavaElement element) throws JavaModelException { if (project == null) { project = element.getJavaProject(); }/*from w ww .j a v a 2 s . c o m*/ if (element instanceof IJavaProject) { IJavaProject prj = (IJavaProject) element; IPackageFragmentRoot[] roots = prj.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { iterate(root); } return; } else if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) element; if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] children = root.getChildren(); for (IJavaElement child : children) { iterate(child); } } } else if (element instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) element; if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { ICompilationUnit[] units = pkg.getCompilationUnits(); for (ICompilationUnit unit : units) { this.units.add(unit); } IJavaElement[] children = pkg.getChildren(); for (IJavaElement child : children) { iterate(child); } } } else if (element instanceof ICompilationUnit) { ICompilationUnit unit = (ICompilationUnit) element; this.units.add(unit); } }
From source file:com.alex.example.fixlicense.actions.SampleAction.java
License:Open Source License
private void processProject(IProject project) throws Exception { if (project.isNatureEnabled("org.eclipse.jdt.core.javanature")) { IJavaProject javaProject = JavaCore.create(project); IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment mypackage : packages) { if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) { for (ICompilationUnit unit : mypackage.getCompilationUnits()) { sum = sum + 1;// w w w. j a v a 2 s .com processJavaSource(unit); } } } } }
From source file:com.android.ide.eclipse.adt.internal.lint.UnusedResourceDetector.java
License:Open Source License
@Override public void checkJavaSources(Context context, List<File> sourceFolders) { IProject project = getProject(context); if (project == null) { return;//from w w w . j a v a 2 s .c om } IJavaProject javaProject; try { javaProject = BaseProjectHelper.getJavaProject(project); } catch (CoreException e) { context.log(e, null); return; } if (javaProject == null) { return; } // Scan Java code in project for R.field references try { IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment pkg : packages) { if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { for (ICompilationUnit unit : pkg.getCompilationUnits()) { ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setSource(unit); parser.setResolveBindings(true); CompilationUnit parse = (CompilationUnit) parser.createAST(null); // parse // In the R file, look for known declarations if ("R.java".equals(unit.getResource().getName())) { //$NON-NLS-1$ ResourceDeclarationVisitor visitor = new ResourceDeclarationVisitor(); parse.accept(visitor); mDeclarations.addAll(visitor.getDeclarations()); } else { ResourceRefCollector visitor = new ResourceRefCollector(); parse.accept(visitor); List<String> refs = visitor.getRefs(); mReferences.addAll(refs); } } } } } catch (CoreException e) { context.log(e, null); } }
From source file:com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringRefactoring.java
License:Open Source License
/** * Returns a foreach compatible iterator over all ICompilationUnit in the project. *///from ww w .ja va2s . c om private Iterable<ICompilationUnit> findAllJavaUnits() { final IJavaProject javaProject = JavaCore.create(mProject); return new Iterable<ICompilationUnit>() { @Override public Iterator<ICompilationUnit> iterator() { return new Iterator<ICompilationUnit>() { final Queue<ICompilationUnit> mUnits = new LinkedList<ICompilationUnit>(); final Queue<IPackageFragment> mFragments = new LinkedList<IPackageFragment>(); { try { IPackageFragment[] tmpFrags = javaProject.getPackageFragments(); if (tmpFrags != null && tmpFrags.length > 0) { mFragments.addAll(Arrays.asList(tmpFrags)); } } catch (JavaModelException e) { // pass } } @Override public boolean hasNext() { if (!mUnits.isEmpty()) { return true; } while (!mFragments.isEmpty()) { try { IPackageFragment fragment = mFragments.poll(); if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) { ICompilationUnit[] tmpUnits = fragment.getCompilationUnits(); if (tmpUnits != null && tmpUnits.length > 0) { mUnits.addAll(Arrays.asList(tmpUnits)); return true; } } } catch (JavaModelException e) { // pass } } return false; } @Override public ICompilationUnit next() { ICompilationUnit unit = mUnits.poll(); hasNext(); return unit; } @Override public void remove() { throw new UnsupportedOperationException("This iterator does not support removal"); //$NON-NLS-1$ } }; } }; }
From source file:com.android.ide.eclipse.adt.internal.wizards.exportgradle.ProjectSetupBuilder.java
License:Open Source License
@NonNull private static List<IJavaProject> getReferencedProjects(IJavaProject javaProject) throws JavaModelException, InternalException { List<IJavaProject> projects = Lists.newArrayList(); IClasspathEntry entries[] = javaProject.getRawClasspath(); for (IClasspathEntry classpathEntry : entries) { if (classpathEntry.getContentKind() == IPackageFragmentRoot.K_SOURCE && classpathEntry.getEntryKind() == IClasspathEntry.CPE_PROJECT) { // found required project on build path String subProjectRoot = classpathEntry.getPath().toString(); IJavaProject subProject = getJavaProject(subProjectRoot); // is project available in workspace? if (subProject != null) { projects.add(subProject); } else { throw new InternalException(String.format( "Project '%s' is missing project dependency '%s' in Eclipse workspace.\n" + "Make sure all dependencies are opened.", javaProject.getProject().getName(), classpathEntry.getPath().toString())); }/* ww w . j a v a 2s . c o m*/ } } return projects; }