label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changevisibility.description", new String[] { name, getVisibilityString(includedModifiers) });
label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changevisibility.description", new String[] { name, getVisibilityString(includedModifiers) });
	public static void addNonAccessibleMemberProposal(ProblemPosition problemPos, ArrayList proposals, boolean visibilityChange) throws JavaModelException {		ICompilationUnit cu= problemPos.getCompilationUnit();		CompilationUnit astRoot= AST.parseCompilationUnit(cu, true);		ASTNode selectedNode= ASTResolving.findSelectedNode(astRoot, problemPos.getOffset(), problemPos.getLength());		if (selectedNode == null) {			return;		}				IBinding binding=null;		switch (selectedNode.getNodeType()) {			case ASTNode.SIMPLE_NAME:				binding= ((SimpleName) selectedNode).resolveBinding();				break;			case ASTNode.QUALIFIED_NAME:				binding= ((QualifiedName) selectedNode).resolveBinding();				break;			case ASTNode.SIMPLE_TYPE:				binding= ((SimpleType) selectedNode).resolveBinding();				break;			case ASTNode.METHOD_INVOCATION:				binding= ((MethodInvocation) selectedNode).getName().resolveBinding();				break;			case ASTNode.SUPER_METHOD_INVOCATION:				binding= ((SuperMethodInvocation) selectedNode).getName().resolveBinding();				break;											case ASTNode.SUPER_FIELD_ACCESS:				binding= ((SuperFieldAccess) selectedNode).getName().resolveBinding();				break;							case ASTNode.CLASS_INSTANCE_CREATION:				binding= ((ClassInstanceCreation) selectedNode).resolveConstructorBinding();				break;			case ASTNode.SUPER_CONSTRUCTOR_INVOCATION:				binding= ((SuperConstructorInvocation) selectedNode).resolveConstructorBinding();				break;										default:				return;		}		ITypeBinding typeBinding= null;		String name;		if (binding instanceof IMethodBinding) {			typeBinding= ((IMethodBinding) binding).getDeclaringClass();			name= binding.getName() + "()";		} else if (binding instanceof IVariableBinding) {			typeBinding= ((IVariableBinding) binding).getDeclaringClass();			name= binding.getName();		} else if (binding instanceof ITypeBinding) {			typeBinding= (ITypeBinding) binding;			name= binding.getName();		} else {			return;		}		if (typeBinding.isFromSource()) {			int includedModifiers= 0;			int excludedModifiers= 0;			String label;			if (visibilityChange) {				excludedModifiers= Modifier.PRIVATE | Modifier.PROTECTED | Modifier.PUBLIC;				includedModifiers= getNeededVisibility(selectedNode, typeBinding);				label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changevisibility.description", new String[] { name, getVisibilityString(includedModifiers) });			} else {								label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changemodifiertostatic.description", name);				includedModifiers= Modifier.STATIC;			}			ICompilationUnit targetCU= Binding2JavaModel.findCompilationUnit(typeBinding, cu.getJavaProject());			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);			proposals.add(new ModifierChangeCompletionProposal(label, targetCU, binding, selectedNode, includedModifiers, excludedModifiers, 0, image));		}	}