@Override public RefactoringStatus checkNewName(String newName) { RefactoringStatus result = new RefactoringStatus(); result.merge(super.checkNewName(newName)); if (element instanceof LocalVariableElement) { LocalVariableElement variableElement = (LocalVariableElement) element; if (variableElement.isConst()) { result.merge(NamingConventions.validateConstantName(newName)); } else { result.merge(NamingConventions.validateVariableName(newName)); } } else if (element instanceof ParameterElement) { result.merge(NamingConventions.validateParameterName(newName)); } else if (element instanceof FunctionElement) { result.merge(NamingConventions.validateFunctionName(newName)); } return result; }
public boolean isEnabled() { try { String newName = fNamePosition.getContent(); if (fOriginalName.equals(newName)) { return false; } // TODO(scheglov) we may be rename not only variable, but also method, type, etc return NamingConventions.validateVariableName(newName).isOK(); } catch (BadLocationException e) { return false; } }