CsmProject[] prjs = refactoring.getContext().lookup(CsmProject[].class); if (prjs != null && prjs.length != 0) { for (CsmReference csmReference : refs) {
public static Collection<RefactoringElementImplementation> getWhereUsed(CsmReference ref, Map<Object, Boolean> params, FiltersDescription filtersDescription) { CsmObject targetObject = ref.getReferencedObject(); Lookup lkp = Lookups.singleton(ref); WhereUsedQuery query = new WhereUsedQuery(lkp); Collection<CsmProject> prjs = CsmRefactoringUtils.getRelatedCsmProjects(targetObject, ref.getContainingFile().getProject()); CsmProject[] ar = prjs.toArray(new CsmProject[prjs.size()]); query.getContext().add(ar); // set parameters for (Map.Entry<Object, Boolean> entry : params.entrySet()) { query.putValue(entry.getKey(), entry.getValue()); } CsmWhereUsedQueryPlugin whereUsedPlugin = new CsmWhereUsedQueryPlugin(query); if (filtersDescription != null) { whereUsedPlugin.addFilters(filtersDescription); } whereUsedPlugin.checkSelectDeclarations(); Collection<RefactoringElementImplementation> elements = whereUsedPlugin.doPrepareElements(targetObject, null); if (filtersDescription != null) { whereUsedPlugin.enableFilters(filtersDescription); } return elements; }
@Override public Problem setParameters() { try { // handle parameters defined in panel assert panel != null; query.putValue(WhereUsedQuery.SEARCH_IN_COMMENTS,panel.isSearchInComments()); Collection<CsmProject> prjs = CsmRefactoringUtils.getRelatedCsmProjects(this.origObject, panel.getScopeProject()); CsmProject[] ar = prjs.toArray(new CsmProject[prjs.size()]); query.getContext().add(ar); CsmObject refObj = panel.getReferencedObject(); if (refObj == null) { query.setRefactoringSource(Lookup.EMPTY); } else { query.setRefactoringSource(Lookups.singleton(CsmRefactoringUtils.getHandler(refObj))); } if (panel.isVirtualMethod()) { setForMethod(); return query.checkParameters(); } else if (panel.isClass()) { setForClass(); return query.checkParameters(); } else { return null; } } finally { panel.uninitialize(); } }