Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/rename/RenameTypeMemberProcessor.java

Issue 10790117: Check for conflicts between new function/method and other elements. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/rename/RenameTypeMemberProcessor.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/rename/RenameTypeMemberProcessor.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/rename/RenameTypeMemberProcessor.java
index 0a3b09817468ad5a2ed99dfcb07dab9bd33f3a5d..a2af7c7a5d0075ab84958171786873a0fd50fd27 100644
--- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/rename/RenameTypeMemberProcessor.java
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/rename/RenameTypeMemberProcessor.java
@@ -21,6 +21,7 @@ import com.google.common.collect.Sets;
import com.google.dart.tools.core.internal.util.SourceRangeUtils;
import com.google.dart.tools.core.model.CompilationUnit;
import com.google.dart.tools.core.model.CompilationUnitElement;
+import com.google.dart.tools.core.model.DartElement;
import com.google.dart.tools.core.model.DartLibrary;
import com.google.dart.tools.core.model.DartTypeParameter;
import com.google.dart.tools.core.model.Method;
@@ -61,10 +62,248 @@ import java.util.Set;
*/
public abstract class RenameTypeMemberProcessor extends DartRenameProcessor {
- protected final TypeMember member;
+ /**
+ * Analyzes possible conflicts when {@link DartElement} is renamed (or created) to the given
+ * "newName" - will it shadow some elements, or will it be shadowed by other elements.
+ */
+ public static RefactoringStatus analyzePossibleConflicts(int elementType, Type enclosingType,
+ String oldName, List<SearchMatch> references, String newName, IProgressMonitor pm)
+ throws CoreException {
+ RefactoringStatus result = new RefactoringStatus();
+ String elementTypeName = RenameAnalyzeUtil.getElementTypeName(elementType);
+ // prepare types
+ List<Type> subTypes = RenameAnalyzeUtil.getSubTypes(enclosingType);
+ Iterable<Type> enclosingAndSubTypes = Iterables.concat(ImmutableSet.of(enclosingType), subTypes);
+ // analyze top-level elements
+ pm.subTask("Analyze top-level elements");
+ {
+ CompilationUnitElement topLevelElement = RenameAnalyzeUtil.getTopLevelElementNamed(
+ enclosingType,
+ newName);
+ if (topLevelElement != null) {
+ DartLibrary shadowLibrary = topLevelElement.getAncestor(DartLibrary.class);
+ IPath libraryPath = shadowLibrary.getResource().getFullPath();
+ IPath resourcePath = topLevelElement.getResource().getFullPath();
+ // add warning for shadowing top-level declaration
+ {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_topLevelDecl_shadowedBy_element,
+ new Object[] {
+ RenameAnalyzeUtil.getElementTypeName(topLevelElement), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false),
+ BasicElementLabels.getPathLabel(libraryPath, false), elementTypeName});
+ result.addWarning(message, DartStatusContext.create(topLevelElement));
+ }
+ // TypeMember shadows top-level element usage in enclosing type
+ {
+ List<SearchMatch> refs = RenameAnalyzeUtil.getReferences(topLevelElement, null);
+ for (SearchMatch ref : refs) {
+ if (SourceRangeUtils.intersects(ref.getSourceRange(), enclosingType.getSourceRange())) {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_topLevelUsage_shadowedBy_element,
+ new Object[] {
+ RenameAnalyzeUtil.getElementTypeName(topLevelElement), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false),
+ BasicElementLabels.getPathLabel(libraryPath, false), elementTypeName});
+ result.addError(message, DartStatusContext.create(ref));
+ }
+ }
+ }
+ // top-level element shadows TypeMember usage in sub-type
+ // http://code.google.com/p/dart/issues/detail?id=1180
+ for (Type subType : subTypes) {
+ for (SearchMatch ref : references) {
+ if (SourceRangeUtils.intersects(ref.getSourceRange(), subType.getSourceRange())) {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_typeMemberUsage_shadowedBy_topLevel,
+ new Object[] {
+ elementTypeName, enclosingType.getElementName(), oldName,
+ RenameAnalyzeUtil.getElementTypeName(topLevelElement), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false),
+ BasicElementLabels.getPathLabel(libraryPath, false)});
+ result.addError(message, DartStatusContext.create(ref));
+ }
+ }
+ }
+ }
+ }
+ // analyze supertypes
+ pm.subTask("Analyze supertypes");
+ {
+ Set<Type> superTypes = RenameAnalyzeUtil.getSuperTypes(enclosingType);
+ for (Type superType : superTypes) {
+ TypeMember[] superTypeMembers = superType.getExistingMembers(newName);
+ for (TypeMember superTypeMember : superTypeMembers) {
+ // add warning for hiding super-type TypeMember
+ {
+ IPath resourcePath = superType.getResource().getFullPath();
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_typeMemberDecl_shadowedBy_element,
+ new Object[] {
+ RenameAnalyzeUtil.getElementTypeName(superTypeMember),
+ superType.getElementName(), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false), elementTypeName});
+ result.addWarning(message, DartStatusContext.create(superTypeMember));
+ }
+ // add error for using hidden super-type TypeMember
+ {
+ List<SearchMatch> refs = RenameAnalyzeUtil.getReferences(superTypeMember, null);
+ for (SearchMatch ref : refs) {
+ for (Type subType : enclosingAndSubTypes) {
+ if (SourceRangeUtils.intersects(ref.getSourceRange(), subType.getSourceRange())) {
+ IPath resourcePath = superType.getResource().getFullPath();
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_typeMemberUsage_shadowedBy_element,
+ new Object[] {
+ RenameAnalyzeUtil.getElementTypeName(superTypeMember),
+ superType.getElementName(), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false), elementTypeName});
+ result.addError(message, DartStatusContext.create(ref));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ pm.worked(1);
+ // analyze [sub-]type members
+ pm.subTask("Analyze subtypes");
+ for (Type subType : enclosingAndSubTypes) {
+ boolean isEnclosingType = subType == enclosingType;
+ IPath resourcePath = subType.getPath();
+ // TypeParameter shadowed by Renamed in enclosing type
+ if (isEnclosingType) {
+ DartTypeParameter[] typeParameters = subType.getTypeParameters();
+ for (DartTypeParameter parameter : typeParameters) {
+ if (Objects.equal(parameter.getElementName(), newName)) {
+ // add warning for shadowing TypeParameter declaration
+ {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_typeMemberDecl_shadowedBy_element,
+ new Object[] {
+ RenameAnalyzeUtil.getElementTypeName(parameter), subType.getElementName(),
+ newName, resourcePath, elementTypeName,});
+ result.addWarning(message, DartStatusContext.create(parameter));
+ }
+ // add error for shadowing TypeParameter usage
+ List<SourceRange> parameterReferences = RenameAnalyzeUtil.getReferences(parameter);
+ for (SourceRange parameterReference : parameterReferences) {
+ if (SourceRangeUtils.intersects(parameterReference, subType.getSourceRange())) {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_typeMemberUsage_shadowedBy_element,
+ new Object[] {
+ RenameAnalyzeUtil.getElementTypeName(parameter), subType.getElementName(),
+ newName, resourcePath, elementTypeName,});
+ result.addError(
+ message,
+ DartStatusContext.create(subType.getCompilationUnit(), parameterReference));
+ }
+ }
+ }
+ }
+ }
+ // TypeParameter shadows Renamed in sub-types
+ if (!isEnclosingType) {
+ DartTypeParameter[] typeParameters = subType.getTypeParameters();
+ for (DartTypeParameter parameter : typeParameters) {
+ // add warning for shadowing member declaration
+ {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_elementDecl_shadowedBy_typeMember,
+ new Object[] {
+ elementTypeName, RenameAnalyzeUtil.getElementTypeName(parameter),
+ subType.getElementName(), newName, resourcePath,});
+ result.addWarning(message, DartStatusContext.create(parameter));
+ }
+ // add error for shadowing member usage
+ for (SearchMatch reference : references) {
+ if (SourceRangeUtils.intersects(reference.getSourceRange(), subType.getSourceRange())) {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_elementUsage_shadowedBy_typeMember,
+ new Object[] {
+ elementTypeName, RenameAnalyzeUtil.getElementTypeName(parameter),
+ subType.getElementName(), newName, resourcePath,});
+ result.addError(message, DartStatusContext.create(reference));
+ }
+ }
+ }
+ }
+ // check for declared members of sub-types
+ if (!Objects.equal(subType, enclosingType)) {
+ // analyze TypeMember children
+ TypeMember[] subTypeMembers = subType.getExistingMembers(newName);
+ for (TypeMember subTypeMember : subTypeMembers) {
+ // add warning for hiding Renamed declaration
+ {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_elementDecl_shadowedBy_typeMember,
+ new Object[] {
+ elementTypeName, RenameAnalyzeUtil.getElementTypeName(subTypeMember),
+ subType.getElementName(), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false)});
+ result.addWarning(message, DartStatusContext.create(subTypeMember));
+ }
+ // add error for hiding Renamed usage
+ {
+ List<Type> subTypes2 = RenameAnalyzeUtil.getSubTypes(subType);
+ subTypes2.add(subType);
+ for (SearchMatch ref : references) {
+ Type refEnclosingType = ref.getElement().getAncestor(Type.class);
+ if (subTypes2.contains(refEnclosingType)) {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_elementUsage_shadowedBy_typeMember,
+ new Object[] {
+ elementTypeName, RenameAnalyzeUtil.getElementTypeName(subTypeMember),
+ subType.getElementName(), newName,
+ BasicElementLabels.getPathLabel(resourcePath, false)});
+ result.addError(message, DartStatusContext.create(ref));
+ }
+ }
+ }
+ }
+ }
+ // check for local variables
+ for (Method method : subType.getMethods()) {
+ List<FunctionLocalElement> localVariables = RenameAnalyzeUtil.getFunctionLocalElements(method);
+ for (FunctionLocalElement variable : localVariables) {
+ if (variable.getElementName().equals(newName)) {
+ CompilationUnitElement variableElement = variable.getElement();
+ // add warning for hiding Renamed declaration
+ {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_elementDecl_shadowedBy_variable_inMethod,
+ new Object[] {
+ elementTypeName, RenameAnalyzeUtil.getElementTypeName(variableElement),
+ subType.getElementName(), method.getElementName(),
+ BasicElementLabels.getPathLabel(resourcePath, false)});
+ result.addWarning(message, DartStatusContext.create(variableElement));
+ }
+ // add error for hiding Renamed usage
+ for (SearchMatch match : references) {
+ if (SourceRangeUtils.intersects(match.getSourceRange(), variable.getVisibleRange())) {
+ String message = Messages.format(
+ RefactoringCoreMessages.RenameProcessor_elementUsage_shadowedBy_variable_inMethod,
+ new Object[] {
+ elementTypeName, RenameAnalyzeUtil.getElementTypeName(variableElement),
+ subType.getElementName(), method.getElementName(),
+ BasicElementLabels.getPathLabel(resourcePath, false)});
+ result.addError(message, DartStatusContext.create(match));
+ }
+ }
+ }
+ }
+ }
+ }
+ pm.worked(1);
+ // OK
+ return result;
+ }
+ protected final TypeMember member;
private final String oldName;
private final TextChangeManager changeManager = new TextChangeManager(true);
+
private List<SearchMatch> declarations;
private List<SearchMatch> references;
@@ -204,256 +443,24 @@ public abstract class RenameTypeMemberProcessor extends DartRenameProcessor {
private RefactoringStatus analyzePossibleConflicts(IProgressMonitor pm) throws CoreException {
pm.beginTask("Analyze possible conflicts", 3);
- try {
- RefactoringStatus result = new RefactoringStatus();
- String newName = getNewElementName();
- Type enclosingType = member.getAncestor(Type.class);
- List<Type> subTypes = RenameAnalyzeUtil.getSubTypes(enclosingType);
- Iterable<Type> enclosingAndSubTypes = Iterables.concat(
- ImmutableSet.of(enclosingType),
- subTypes);
- // add error if will become private
- result.merge(RenameAnalyzeUtil.checkBecomePrivate(oldName, newName, member, references));
- // analyze top-level elements
- pm.subTask("Analyze top-level elements");
- {
- CompilationUnitElement topLevelElement = RenameAnalyzeUtil.getTopLevelElementNamed(
- member,
- newName);
- if (topLevelElement != null) {
- DartLibrary shadowLibrary = topLevelElement.getAncestor(DartLibrary.class);
- IPath libraryPath = shadowLibrary.getResource().getFullPath();
- IPath resourcePath = topLevelElement.getResource().getFullPath();
- // add warning for shadowing top-level declaration
- {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_topLevelDecl_shadowedBy_element,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(topLevelElement), newName,
- BasicElementLabels.getPathLabel(resourcePath, false),
- BasicElementLabels.getPathLabel(libraryPath, false),
- RenameAnalyzeUtil.getElementTypeName(member)});
- result.addWarning(message, DartStatusContext.create(topLevelElement));
- }
- // TypeMember shadows top-level element usage in enclosing type
- {
- List<SearchMatch> refs = RenameAnalyzeUtil.getReferences(topLevelElement, null);
- for (SearchMatch ref : refs) {
- if (SourceRangeUtils.intersects(ref.getSourceRange(), enclosingType.getSourceRange())) {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_topLevelUsage_shadowedBy_element,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(topLevelElement), newName,
- BasicElementLabels.getPathLabel(resourcePath, false),
- BasicElementLabels.getPathLabel(libraryPath, false),
- RenameAnalyzeUtil.getElementTypeName(member)});
- result.addError(message, DartStatusContext.create(ref));
- }
- }
- }
- // top-level element shadows TypeMember usage in sub-type
- // http://code.google.com/p/dart/issues/detail?id=1180
- for (Type subType : subTypes) {
- for (SearchMatch ref : references) {
- if (SourceRangeUtils.intersects(ref.getSourceRange(), subType.getSourceRange())) {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_typeMemberUsage_shadowedBy_topLevel,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- enclosingType.getElementName(), member.getElementName(),
- RenameAnalyzeUtil.getElementTypeName(topLevelElement), newName,
- BasicElementLabels.getPathLabel(resourcePath, false),
- BasicElementLabels.getPathLabel(libraryPath, false)});
- result.addError(message, DartStatusContext.create(ref));
- }
- }
- }
- }
- }
- // analyze supertypes
- pm.subTask("Analyze supertypes");
- {
- Set<Type> superTypes = RenameAnalyzeUtil.getSuperTypes(enclosingType);
- for (Type superType : superTypes) {
- TypeMember[] superTypeMembers = superType.getExistingMembers(newName);
- for (TypeMember superTypeMember : superTypeMembers) {
- // add warning for hiding super-type TypeMember
- {
- IPath resourcePath = superType.getResource().getFullPath();
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_typeMemberDecl_shadowedBy_element,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(superTypeMember),
- superType.getElementName(), newName,
- BasicElementLabels.getPathLabel(resourcePath, false),
- RenameAnalyzeUtil.getElementTypeName(member)});
- result.addWarning(message, DartStatusContext.create(superTypeMember));
- }
- // add error for using hidden super-type TypeMember
- {
- List<SearchMatch> refs = RenameAnalyzeUtil.getReferences(superTypeMember, null);
- for (SearchMatch ref : refs) {
- for (Type subType : enclosingAndSubTypes) {
- if (SourceRangeUtils.intersects(ref.getSourceRange(), subType.getSourceRange())) {
- IPath resourcePath = superType.getResource().getFullPath();
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_typeMemberUsage_shadowedBy_element,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(superTypeMember),
- superType.getElementName(), newName,
- BasicElementLabels.getPathLabel(resourcePath, false),
- RenameAnalyzeUtil.getElementTypeName(member)});
- result.addError(message, DartStatusContext.create(ref));
- }
- }
- }
- }
- }
- }
- }
- pm.worked(1);
- // analyze [sub-]type members
- pm.subTask("Analyze subtypes");
- for (Type subType : enclosingAndSubTypes) {
- boolean isEnclosingType = subType == enclosingType;
- IPath resourcePath = subType.getPath();
- // TypeParameter shadowed by Renamed in enclosing type
- if (isEnclosingType) {
- DartTypeParameter[] typeParameters = subType.getTypeParameters();
- for (DartTypeParameter parameter : typeParameters) {
- if (Objects.equal(parameter.getElementName(), newName)) {
- // add warning for shadowing TypeParameter declaration
- {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_typeMemberDecl_shadowedBy_element,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(parameter), subType.getElementName(),
- newName, resourcePath, RenameAnalyzeUtil.getElementTypeName(member),});
- result.addWarning(message, DartStatusContext.create(parameter));
- }
- // add error for shadowing TypeParameter usage
- List<SourceRange> parameterReferences = RenameAnalyzeUtil.getReferences(parameter);
- for (SourceRange parameterReference : parameterReferences) {
- if (SourceRangeUtils.intersects(parameterReference, subType.getSourceRange())) {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_typeMemberUsage_shadowedBy_element,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(parameter),
- subType.getElementName(), newName, resourcePath,
- RenameAnalyzeUtil.getElementTypeName(member),});
- result.addError(
- message,
- DartStatusContext.create(subType.getCompilationUnit(), parameterReference));
- }
- }
- }
- }
- }
- // TypeParameter shadows Renamed in sub-types
- if (!isEnclosingType) {
- DartTypeParameter[] typeParameters = subType.getTypeParameters();
- for (DartTypeParameter parameter : typeParameters) {
- // add warning for shadowing member declaration
- {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_elementDecl_shadowedBy_typeMember,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- RenameAnalyzeUtil.getElementTypeName(parameter), subType.getElementName(),
- newName, resourcePath,});
- result.addWarning(message, DartStatusContext.create(parameter));
- }
- // add error for shadowing member usage
- for (SearchMatch reference : references) {
- if (SourceRangeUtils.intersects(reference.getSourceRange(), subType.getSourceRange())) {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_elementUsage_shadowedBy_typeMember,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- RenameAnalyzeUtil.getElementTypeName(parameter), subType.getElementName(),
- newName, resourcePath,});
- result.addError(message, DartStatusContext.create(reference));
- }
- }
- }
- }
- // check for declared members of sub-types
- if (!Objects.equal(subType, enclosingType)) {
- // analyze TypeMember children
- TypeMember[] subTypeMembers = subType.getExistingMembers(newName);
- for (TypeMember subTypeMember : subTypeMembers) {
- // add warning for hiding Renamed declaration
- {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_elementDecl_shadowedBy_typeMember,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- RenameAnalyzeUtil.getElementTypeName(subTypeMember),
- subType.getElementName(), newName,
- BasicElementLabels.getPathLabel(resourcePath, false)});
- result.addWarning(message, DartStatusContext.create(subTypeMember));
- }
- // add error for hiding Renamed usage
- {
- List<Type> subTypes2 = RenameAnalyzeUtil.getSubTypes(subType);
- subTypes2.add(subType);
- for (SearchMatch ref : references) {
- Type refEnclosingType = ref.getElement().getAncestor(Type.class);
- if (subTypes2.contains(refEnclosingType)) {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_elementUsage_shadowedBy_typeMember,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- RenameAnalyzeUtil.getElementTypeName(subTypeMember),
- subType.getElementName(), newName,
- BasicElementLabels.getPathLabel(resourcePath, false)});
- result.addError(message, DartStatusContext.create(ref));
- }
- }
- }
- }
- }
- // check for local variables
- for (Method method : subType.getMethods()) {
- List<FunctionLocalElement> localVariables = RenameAnalyzeUtil.getFunctionLocalElements(method);
- for (FunctionLocalElement variable : localVariables) {
- if (variable.getElementName().equals(newName)) {
- CompilationUnitElement variableElement = variable.getElement();
- // add warning for hiding Renamed declaration
- {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_elementDecl_shadowedBy_variable_inMethod,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- RenameAnalyzeUtil.getElementTypeName(variableElement),
- subType.getElementName(), method.getElementName(),
- BasicElementLabels.getPathLabel(resourcePath, false)});
- result.addWarning(message, DartStatusContext.create(variableElement));
- }
- // add error for hiding Renamed usage
- for (SearchMatch match : references) {
- if (SourceRangeUtils.intersects(match.getSourceRange(), variable.getVisibleRange())) {
- String message = Messages.format(
- RefactoringCoreMessages.RenameProcessor_elementUsage_shadowedBy_variable_inMethod,
- new Object[] {
- RenameAnalyzeUtil.getElementTypeName(member),
- RenameAnalyzeUtil.getElementTypeName(variableElement),
- subType.getElementName(), method.getElementName(),
- BasicElementLabels.getPathLabel(resourcePath, false)});
- result.addError(message, DartStatusContext.create(match));
- }
- }
- }
- }
- }
- }
- pm.worked(1);
-
- // OK
- return result;
- } finally {
- pm.done();
- }
+ RefactoringStatus result = new RefactoringStatus();
+ // add error if will become private
+ result.merge(RenameAnalyzeUtil.checkBecomePrivate(oldName, newName, member, references));
+ pm.worked(1);
+ // analyze conflicts
+ int elementType = member.getElementType();
+ Type enclosingType = member.getAncestor(Type.class);
+ result.merge(analyzePossibleConflicts(
+ elementType,
+ enclosingType,
+ oldName,
+ references,
+ newName,
+ pm));
+ pm.worked(2);
+ // done
+ pm.done();
+ return result;
}
private void createChanges(IProgressMonitor pm) throws CoreException {

Powered by Google App Engine
This is Rietveld 408576698