@Override public void rewriteVisibility(final MemberVisibilityAdjustor adjustor, final IProgressMonitor monitor) throws JavaModelException { Assert.isNotNull(adjustor); Assert.isNotNull(monitor); try { monitor.beginTask("", 1); //$NON-NLS-1$ monitor.setTaskName(RefactoringCoreMessages.MemberVisibilityAdjustor_adjusting); if (fNeedsRewriting) { if (adjustor.fRewrite != null && adjustor.fRoot != null) rewriteVisibility(adjustor, adjustor.fRewrite, adjustor.fRoot, null, fRefactoringStatus); else { final CompilationUnitRewrite rewrite= adjustor.getCompilationUnitRewrite(fMember.getCompilationUnit()); rewriteVisibility(adjustor, rewrite.getASTRewrite(), rewrite.getRoot(), rewrite.createCategorizedGroupDescription(Messages.format(RefactoringCoreMessages.MemberVisibilityAdjustor_change_visibility, getLabel(getKeyword())), SET_VISIBILITY_ADJUSTMENTS), fRefactoringStatus); } } else if (fRefactoringStatus != null) adjustor.fStatus.merge(fRefactoringStatus); monitor.worked(1); } finally { monitor.done(); } }
ModifierKeyword kw= adjustment != null ? adjustment.getKeyword() : ModifierKeyword.fromFlagValue(JdtFlags.getVisibilityCode(member)); if (MemberVisibilityAdjustor.hasLowerVisibility(kw, threshold)) { adjustments.put(member, new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(member, threshold, RefactoringStatus.createWarningStatus(Messages.format(MemberVisibilityAdjustor.getMessage(member), new String[] { MemberVisibilityAdjustor.getLabel(member), MemberVisibilityAdjustor.getLabel(threshold)}), JavaStatusContext.create(member))));
ModifierKeyword kw= (adjustment != null) ? adjustment.getKeyword() : ModifierKeyword.fromFlagValue(JdtFlags.getVisibilityCode(member)); if (MemberVisibilityAdjustor.hasLowerVisibility(kw, threshold)) { adjustments.put(member, new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(member, threshold, RefactoringStatus.createWarningStatus(Messages.format(MemberVisibilityAdjustor.getMessage(member), new String[] { MemberVisibilityAdjustor.getLabel(member), MemberVisibilityAdjustor.getLabel(threshold)}), JavaStatusContext.create(member))));
ModifierKeyword kw= adjustment != null ? adjustment.getKeyword() : ModifierKeyword.fromFlagValue(JdtFlags.getVisibilityCode(member)); if (MemberVisibilityAdjustor.hasLowerVisibility(kw, threshold)) { adjustments.put(member, new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(member, threshold, RefactoringStatus.createWarningStatus(Messages.format(MemberVisibilityAdjustor.getMessage(member), new String[] { MemberVisibilityAdjustor.getLabel(member), MemberVisibilityAdjustor.getLabel(threshold)}), JavaStatusContext.create(member))));
} else if (MemberVisibilityAdjustor.hasLowerVisibility(binding.getModifiers(), same ? Modifier.NONE : keyword == null ? Modifier.NONE : keyword.toFlagValue()) && MemberVisibilityAdjustor.needsVisibilityAdjustments(fMethod, keyword, adjustments)) { final MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment adjustment= new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(fMethod, keyword, RefactoringStatus.createStatus(RefactoringStatus.WARNING, Messages.format(RefactoringCoreMessages.MemberVisibilityAdjustor_change_visibility_method_warning, new String[] { MemberVisibilityAdjustor.getLabel(fMethod), MemberVisibilityAdjustor.getLabel(keyword) }), JavaStatusContext.create(fMethod), null, RefactoringStatusEntry.NO_CODE, null)); modifierRewrite.setVisibility(keyword == null ? Modifier.NONE : keyword.toFlagValue(), null); adjustment.setNeedsRewriting(false); adjustments.put(fMethod, adjustment);
} else if (MemberVisibilityAdjustor.hasLowerVisibility(binding.getModifiers(), same ? Modifier.NONE : keyword == null ? Modifier.NONE : keyword.toFlagValue()) && MemberVisibilityAdjustor.needsVisibilityAdjustments(fMethod, keyword, adjustments)) { final MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment adjustment= new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(fMethod, keyword, RefactoringStatus.createStatus(RefactoringStatus.WARNING, Messages.format(RefactoringCoreMessages.MemberVisibilityAdjustor_change_visibility_method_warning, new String[] { MemberVisibilityAdjustor.getLabel(fMethod), MemberVisibilityAdjustor.getLabel(keyword) }), JavaStatusContext.create(fMethod), null, RefactoringStatusEntry.NO_CODE, null)); modifierRewrite.setVisibility(keyword == null ? Modifier.NONE : keyword.toFlagValue(), null); adjustment.setNeedsRewriting(false); adjustments.put(fMethod, adjustment);
final Modifier.ModifierKeyword keyword= same ? null : Modifier.ModifierKeyword.PUBLIC_KEYWORD; if (MemberVisibilityAdjustor.hasLowerVisibility(binding.getModifiers(), same ? Modifier.NONE : (keyword == null ? Modifier.NONE : keyword.toFlagValue())) && MemberVisibilityAdjustor.needsVisibilityAdjustments(fMethod, keyword, adjustments)) { final MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment adjustment= new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(fMethod, keyword, RefactoringStatus.createStatus(RefactoringStatus.WARNING, Messages.format(RefactoringCoreMessages.MemberVisibilityAdjustor_change_visibility_method_warning, new String[] { MemberVisibilityAdjustor.getLabel(fMethod), MemberVisibilityAdjustor.getLabel(keyword) }), JavaStatusContext.create(fMethod), null, RefactoringStatusEntry.NO_CODE, null)); ModifierRewrite.create(rewrite, declaration).setVisibility(keyword == null ? Modifier.NONE : keyword.toFlagValue(), null); adjustment.setNeedsRewriting(false); adjustments.put(fMethod, adjustment);
public void rewriteVisibility(final MemberVisibilityAdjustor adjustor, final IProgressMonitor monitor) throws JavaModelException { Assert.isNotNull(adjustor); Assert.isNotNull(monitor); try { monitor.beginTask("", 1); //$NON-NLS-1$ monitor.setTaskName(RefactoringCoreMessages.MemberVisibilityAdjustor_adjusting); if (fNeedsRewriting) { if (adjustor.fRewrite != null && adjustor.fRoot != null) rewriteVisibility(adjustor, adjustor.fRewrite, adjustor.fRoot, null, fRefactoringStatus); else { final CompilationUnitRewrite rewrite= adjustor.getCompilationUnitRewrite(fMember.getCompilationUnit()); rewriteVisibility(adjustor, rewrite.getASTRewrite(), rewrite.getRoot(), rewrite.createCategorizedGroupDescription(Messages.format(RefactoringCoreMessages.MemberVisibilityAdjustor_change_visibility, getLabel(getKeyword())), SET_VISIBILITY_ADJUSTMENTS), fRefactoringStatus); } } else if (fRefactoringStatus != null) adjustor.fStatus.merge(fRefactoringStatus); monitor.worked(1); } finally { monitor.done(); } }
/** * Does the specified member need further visibility adjustment? * * @param member the member to test * @param threshold the visibility threshold to test for * @param adjustments the map of members to visibility adjustments * @return <code>true</code> if the member needs further adjustment, <code>false</code> otherwise */ public static boolean needsVisibilityAdjustments(final IMember member, final int threshold, final Map adjustments) { Assert.isNotNull(member); Assert.isTrue(isVisibilityModifier(threshold)); Assert.isNotNull(adjustments); final IncomingMemberVisibilityAdjustment adjustment= (IncomingMemberVisibilityAdjustment) adjustments.get(member); if (adjustment != null) { final ModifierKeyword keyword= adjustment.getKeyword(); return hasLowerVisibility(keyword == null ? Modifier.NONE : keyword.toFlagValue(), threshold); } return true; }
@Override public void rewriteVisibility(final MemberVisibilityAdjustor adjustor, final IProgressMonitor monitor) throws JavaModelException { Assert.isNotNull(adjustor); Assert.isNotNull(monitor); try { monitor.beginTask("", 1); //$NON-NLS-1$ monitor.setTaskName(RefactoringCoreMessages.MemberVisibilityAdjustor_adjusting); if (fNeedsRewriting) { if (adjustor.fRewrite != null && adjustor.fRoot != null) rewriteVisibility(adjustor, adjustor.fRewrite, adjustor.fRoot, null, fRefactoringStatus); else { final CompilationUnitRewrite rewrite= adjustor.getCompilationUnitRewrite(fMember.getCompilationUnit()); rewriteVisibility(adjustor, rewrite.getASTRewrite(), rewrite.getRoot(), rewrite.createCategorizedGroupDescription(Messages.format(RefactoringCoreMessages.MemberVisibilityAdjustor_change_visibility, getLabel(getKeyword())), SET_VISIBILITY_ADJUSTMENTS), fRefactoringStatus); } } else if (fRefactoringStatus != null) adjustor.fStatus.merge(fRefactoringStatus); monitor.worked(1); } finally { monitor.done(); } }
/** * Does the specified member need further visibility adjustment? * * @param member the member to test * @param threshold the visibility threshold to test for * @param adjustments the map of members to visibility adjustments * @return <code>true</code> if the member needs further adjustment, <code>false</code> otherwise */ public static boolean needsVisibilityAdjustments(final IMember member, final int threshold, final Map<IMember, IncomingMemberVisibilityAdjustment> adjustments) { Assert.isNotNull(member); Assert.isTrue(isVisibilityModifier(threshold)); Assert.isNotNull(adjustments); final IncomingMemberVisibilityAdjustment adjustment= adjustments.get(member); if (adjustment != null) { final ModifierKeyword keyword= adjustment.getKeyword(); return hasLowerVisibility(keyword == null ? Modifier.NONE : keyword.toFlagValue(), threshold); } return true; }
/** * Does the specified member need further visibility adjustment? * * @param member the member to test * @param threshold the visibility threshold to test for * @param adjustments the map of members to visibility adjustments * @return <code>true</code> if the member needs further adjustment, <code>false</code> otherwise */ public static boolean needsVisibilityAdjustments(final IMember member, final int threshold, final Map<IMember, IncomingMemberVisibilityAdjustment> adjustments) { Assert.isNotNull(member); Assert.isTrue(isVisibilityModifier(threshold)); Assert.isNotNull(adjustments); final IncomingMemberVisibilityAdjustment adjustment= adjustments.get(member); if (adjustment != null) { final ModifierKeyword keyword= adjustment.getKeyword(); return hasLowerVisibility(keyword == null ? Modifier.NONE : keyword.toFlagValue(), threshold); } return true; }
/** * Adjusts the visibility of the specified member. * * @param element the "source" point from which to calculate the visibility * @param referencedMovedElement the moved element which may be adjusted in visibility * @param monitor the progress monitor to use * @throws JavaModelException if the visibility adjustment could not be computed */ private void adjustIncomingVisibility(final IJavaElement element, IMember referencedMovedElement, final IProgressMonitor monitor) throws JavaModelException { final ModifierKeyword threshold= getVisibilityThreshold(element, referencedMovedElement, monitor); int flags= referencedMovedElement.getFlags(); IType declaring= referencedMovedElement.getDeclaringType(); if (declaring.isInterface()) return; if (hasLowerVisibility(flags, threshold == null ? Modifier.NONE : threshold.toFlagValue()) && needsVisibilityAdjustment(referencedMovedElement, threshold)) fAdjustments.put(referencedMovedElement, new IncomingMemberVisibilityAdjustment(referencedMovedElement, threshold, RefactoringStatus.createStatus(fVisibilitySeverity, Messages.format(getMessage(referencedMovedElement), new String[] { getLabel(referencedMovedElement), getLabel(threshold)}), JavaStatusContext.create(referencedMovedElement), null, RefactoringStatusEntry.NO_CODE, null))); }
/** * Adjusts the visibility of the specified member. * * @param element the "source" point from which to calculate the visibility * @param referencedMovedElement the moved element which may be adjusted in visibility * @param monitor the progress monitor to use * @throws JavaModelException if the visibility adjustment could not be computed */ private void adjustIncomingVisibility(final IJavaElement element, IMember referencedMovedElement, final IProgressMonitor monitor) throws JavaModelException { final ModifierKeyword threshold= getVisibilityThreshold(element, referencedMovedElement, monitor); int flags= referencedMovedElement.getFlags(); IType declaring= referencedMovedElement.getDeclaringType(); if (declaring != null && declaring.isInterface() || referencedMovedElement instanceof IField && Flags.isEnum(referencedMovedElement.getFlags())) return; if (hasLowerVisibility(flags, threshold == null ? Modifier.NONE : threshold.toFlagValue()) && needsVisibilityAdjustment(referencedMovedElement, threshold)) fAdjustments.put(referencedMovedElement, new IncomingMemberVisibilityAdjustment(referencedMovedElement, threshold, RefactoringStatus.createStatus(fVisibilitySeverity, Messages.format(getMessage(referencedMovedElement), new String[] { getLabel(referencedMovedElement), getLabel(threshold)}), JavaStatusContext.create(referencedMovedElement), null, RefactoringStatusEntry.NO_CODE, null))); }
/** * Does the specified member need further visibility adjustment? * * @param member the member to test * @param threshold the visibility threshold to test for, or <code>null</code> for default visibility * @param adjustments the map of members to visibility adjustments * @return <code>true</code> if the member needs further adjustment, <code>false</code> otherwise */ public static boolean needsVisibilityAdjustments(final IMember member, final ModifierKeyword threshold, final Map adjustments) { Assert.isNotNull(member); Assert.isNotNull(adjustments); final IncomingMemberVisibilityAdjustment adjustment= (IncomingMemberVisibilityAdjustment) adjustments.get(member); if (adjustment != null) return hasLowerVisibility(adjustment.getKeyword(), threshold); return true; }
/** * Adjusts the visibility of the specified member. * * @param element the "source" point from which to calculate the visibility * @param referencedMovedElement the moved element which may be adjusted in visibility * @param monitor the progress monitor to use * @throws JavaModelException if the visibility adjustment could not be computed */ private void adjustIncomingVisibility(final IJavaElement element, IMember referencedMovedElement, final IProgressMonitor monitor) throws JavaModelException { final ModifierKeyword threshold= getVisibilityThreshold(element, referencedMovedElement, monitor); int flags= referencedMovedElement.getFlags(); IType declaring= referencedMovedElement.getDeclaringType(); if (declaring != null && declaring.isInterface() || referencedMovedElement instanceof IField && Flags.isEnum(referencedMovedElement.getFlags())) return; if (hasLowerVisibility(flags, threshold == null ? Modifier.NONE : threshold.toFlagValue()) && needsVisibilityAdjustment(referencedMovedElement, threshold)) fAdjustments.put(referencedMovedElement, new IncomingMemberVisibilityAdjustment(referencedMovedElement, threshold, RefactoringStatus.createStatus(fVisibilitySeverity, Messages.format(getMessage(referencedMovedElement), new String[] { getLabel(referencedMovedElement), getLabel(threshold)}), JavaStatusContext.create(referencedMovedElement), null, RefactoringStatusEntry.NO_CODE, null))); }
/** * Does the specified member need further visibility adjustment? * * @param member the member to test * @param threshold the visibility threshold to test for, or <code>null</code> for default visibility * @param adjustments the map of members to visibility adjustments * @return <code>true</code> if the member needs further adjustment, <code>false</code> otherwise */ public static boolean needsVisibilityAdjustments(final IMember member, final ModifierKeyword threshold, final Map<IMember, IncomingMemberVisibilityAdjustment> adjustments) { Assert.isNotNull(member); Assert.isNotNull(adjustments); final IncomingMemberVisibilityAdjustment adjustment= adjustments.get(member); if (adjustment != null) return hasLowerVisibility(adjustment.getKeyword(), threshold); return true; }
/** * Does the specified member need further visibility adjustment? * * @param member the member to test * @param threshold the visibility threshold to test for, or <code>null</code> for default visibility * @param adjustments the map of members to visibility adjustments * @return <code>true</code> if the member needs further adjustment, <code>false</code> otherwise */ public static boolean needsVisibilityAdjustments(final IMember member, final ModifierKeyword threshold, final Map<IMember, IncomingMemberVisibilityAdjustment> adjustments) { Assert.isNotNull(member); Assert.isNotNull(adjustments); final IncomingMemberVisibilityAdjustment adjustment= adjustments.get(member); if (adjustment != null) return hasLowerVisibility(adjustment.getKeyword(), threshold); return true; }
private void addAdjustment(IMember whoToAdjust, ModifierKeyword neededVisibility, Map adjustments) throws JavaModelException { ModifierKeyword currentVisibility= ModifierKeyword.fromFlagValue(JdtFlags.getVisibilityCode(whoToAdjust)); if (MemberVisibilityAdjustor.hasLowerVisibility(currentVisibility, neededVisibility) && MemberVisibilityAdjustor.needsVisibilityAdjustments(whoToAdjust, neededVisibility, adjustments)) adjustments.put(whoToAdjust, new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(whoToAdjust, neededVisibility, RefactoringStatus.createWarningStatus(Messages.format(MemberVisibilityAdjustor.getMessage(whoToAdjust), new String[] { MemberVisibilityAdjustor.getLabel(whoToAdjust), MemberVisibilityAdjustor.getLabel(neededVisibility) }), JavaStatusContext .create(whoToAdjust)))); }
private void addAdjustment(IMember whoToAdjust, ModifierKeyword neededVisibility, Map<IMember, IncomingMemberVisibilityAdjustment> adjustments) throws JavaModelException { ModifierKeyword currentVisibility= ModifierKeyword.fromFlagValue(JdtFlags.getVisibilityCode(whoToAdjust)); if (MemberVisibilityAdjustor.hasLowerVisibility(currentVisibility, neededVisibility) && MemberVisibilityAdjustor.needsVisibilityAdjustments(whoToAdjust, neededVisibility, adjustments)) adjustments.put(whoToAdjust, new MemberVisibilityAdjustor.IncomingMemberVisibilityAdjustment(whoToAdjust, neededVisibility, RefactoringStatus.createWarningStatus(Messages.format(MemberVisibilityAdjustor.getMessage(whoToAdjust), new String[] { MemberVisibilityAdjustor.getLabel(whoToAdjust), MemberVisibilityAdjustor.getLabel(neededVisibility) }), JavaStatusContext .create(whoToAdjust)))); }