private void setForClass() { assert panel != null; query.putValue(WhereUsedQueryConstants.FIND_SUBCLASSES,panel.isClassSubTypes()); query.putValue(WhereUsedQueryConstants.FIND_DIRECT_SUBCLASSES,panel.isClassSubTypesDirectOnly()); query.putValue(WhereUsedQuery.FIND_REFERENCES,panel.isClassFindUsages()); }
private void setForMethod() { assert panel != null; // if (panel.isMethodFromBaseClass()) { // CsmObject refObj = panel.getBaseMethod(); // if (refObj == null) { // query.setRefactoringSource(Lookup.EMPTY); // } else { // query.setRefactoringSource(Lookups.singleton(CsmRefactoringUtils.getHandler(refObj))); // } // } else { CsmObject refObj = panel.getReferencedObject(); if (refObj == null) { query.setRefactoringSource(Lookup.EMPTY); } else { query.setRefactoringSource(Lookups.singleton(CsmRefactoringUtils.getHandler(refObj))); } // } query.putValue(WhereUsedQueryConstants.FIND_OVERRIDING_METHODS,panel.isMethodOverriders()); query.putValue(WhereUsedQueryConstants.SEARCH_FROM_BASECLASS,panel.isMethodFromBaseClass()); query.putValue(WhereUsedQuery.FIND_REFERENCES,panel.isMethodFindUsages()); }
private void setForMethod() { if (panel.isMethodFromBaseClass()) { query.setRefactoringSource(Lookups.singleton(panel.getBaseMethod())); } else { query.setRefactoringSource(Lookups.singleton(element)); } query.putValue(WhereUsedQueryConstants.FIND_OVERRIDING_METHODS,panel.isMethodOverriders()); query.putValue(WhereUsedQuery.FIND_REFERENCES,panel.isMethodFindUsages()); }
public org.netbeans.modules.refactoring.api.Problem setParameters() { query.putValue(WhereUsedQuery.SEARCH_IN_COMMENTS,panel.isSearchInComments()); if (kind == ElementKind.METHOD) { setForMethod(); return query.checkParameters(); } else if (kind == ElementKind.MODULE || kind == ElementKind.CLASS) { setForClass(); return query.checkParameters(); } else return null; }
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(); } }