public IMember[] getAdditionalRequiredMembersToPullUp(final IProgressMonitor monitor) throws JavaModelException { final IMember[] members= getCreatedDestinationMembers(); monitor.beginTask(RefactoringCoreMessages.PullUpRefactoring_calculating_required, members.length);// not final List queue= new ArrayList(members.length); queue.addAll(Arrays.asList(members)); if (queue.isEmpty()) return new IMember[0]; int i= 0; IMember current; do { current= (IMember) queue.get(i); addAllRequiredPullableMembers(queue, current, new SubProgressMonitor(monitor, 1)); i++; if (queue.size() == i) current= null; } while (current != null); queue.removeAll(Arrays.asList(members));// report only additional return (IMember[]) queue.toArray(new IMember[queue.size()]); }
public IMember[] getAdditionalRequiredMembersToPullUp(final IProgressMonitor monitor) throws JavaModelException { final IMember[] members= getCreatedDestinationMembers(); List<IMember> queue; try { monitor.beginTask(RefactoringCoreMessages.PullUpRefactoring_calculating_required, getDeclaringType().getChildren().length);// maximum queue= new ArrayList<>(members.length); queue.addAll(Arrays.asList(members)); if (queue.isEmpty()) return new IMember[0]; int i= 0; IMember current; do { current= queue.get(i); addAllRequiredPullableMembers(queue, current, new SubProgressMonitor(monitor, 1)); i++; if (queue.size() == i) current= null; } while (current != null); queue.removeAll(Arrays.asList(members));// report only additional } finally { monitor.done(); } return queue.toArray(new IMember[queue.size()]); }
public IMember[] getAdditionalRequiredMembersToPullUp(final IProgressMonitor monitor) throws JavaModelException { final IMember[] members= getCreatedDestinationMembers(); List<IMember> queue; try { monitor.beginTask(RefactoringCoreMessages.PullUpRefactoring_calculating_required, getDeclaringType().getChildren().length);// maximum queue= new ArrayList<>(members.length); queue.addAll(Arrays.asList(members)); if (queue.isEmpty()) return new IMember[0]; int i= 0; IMember current; do { current= queue.get(i); addAllRequiredPullableMembers(queue, current, new SubProgressMonitor(monitor, 1)); i++; if (queue.size() == i) current= null; } while (current != null); queue.removeAll(Arrays.asList(members));// report only additional } finally { monitor.done(); } return queue.toArray(new IMember[queue.size()]); }