public LoadReferenceRunnable( final RElementName name, final RProcess tool, final int stamp, final String cause) { super( "r/workspace/loadElements", //$NON-NLS-1$ NLS.bind("Load elements of {0} (requested for {1})", name.getDisplayName(), cause)); this.reference = null; this.name = name; this.process = tool; this.stamp = stamp; }
private void checkFunction(final RefactoringStatus result) { if ((fFunction.getElementType() & IRElement.MASK_C2) != IRElement.R_COMMON_FUNCTION && (fFunction.getElementType() & IRElement.MASK_C2) != IRElement.R_COMMON_FUNCTION) { result.merge( RefactoringStatus.createFatalErrorStatus( Messages.FunctionToS4Method_error_SelectionAlreadyS4_message)); return; } final RAstNode node = (RAstNode) fFunction.getAdapter(IAstNode.class); if (RAst.hasErrors(node)) { result.merge( RefactoringStatus.createWarningStatus( Messages.FunctionToS4Method_warning_SelectionSyntaxError_message)); } // if (fSelectionRegion != null // && (fSelectionRegion.getOffset() != fOperationRegion.getOffset() || // fSelectionRegion.getLength() != fOperationRegion.getLength())) { // result.merge(RefactoringStatus.createWarningStatus("The selected code does not equal // exactly the found expression(s).")); // } RElementName elementName = fFunction.getElementName(); while (elementName.getNextSegment() != null) { elementName = elementName.getNamespace(); } fFunctionName = elementName.getDisplayName(); final ArgsDefinition argsDef = fFunction.getArgsDefinition(); final int count = (argsDef != null) ? argsDef.size() : 0; fVariablesList = new ArrayList(count); boolean dots = false; for (int i = 0; i < count; i++) { final Arg arg = argsDef.get(i); final Variable variable = new Variable(arg); if (variable.getName().equals(RTerminal.S_ELLIPSIS)) { dots = true; variable.init(true); } else { variable.init(!dots); } fVariablesList.add(variable); } }