/** * @param pyEdit the editor that will have this action * @return the action (with the pyedit attached to it) */ public static PyRefactorAction getRefactorAction(PyEdit pyEdit) { PyRefactorAction pyRefactorAction = new PyRefactorAction() { @Override protected String perform(IAction action, IProgressMonitor monitor) throws Exception { throw new RuntimeException("Perform should not be called in this case."); } }; pyRefactorAction.setEditor(pyEdit); return pyRefactorAction; }
/** * @param pyEdit the editor where we should look for the occurrences * @param pyRefactorAction the action that will return the initial refactoring request * @param ps the pyselection used (if null it will be created in this method) * @return a refactoring request suitable for finding the locals in the file * @throws BadLocationException * @throws MisconfigurationException */ public static RefactoringRequest getRefactoringRequest( final PyEdit pyEdit, PyRefactorAction pyRefactorAction, PySelection ps) throws BadLocationException, MisconfigurationException { final RefactoringRequest req = pyRefactorAction.getRefactoringRequest(); req.ps = ps; req.fillInitialNameAndOffset(); req.inputName = "foo"; req.setAdditionalInfo(RefactoringRequest.FIND_DEFINITION_IN_ADDITIONAL_INFO, false); req.setAdditionalInfo(RefactoringRequest.FIND_REFERENCES_ONLY_IN_LOCAL_SCOPE, true); return req; }