IVariableBinding binding = variableDeclarationNode.resolveBinding() IJavaElement variableElement = binding.getJavaElement();
IVariableBinding binding = variable.resolveBinding(); ILocalVariable local = (ILocalVariable) binding.getJavaElement();
public static Object getVariableBindingConstValue(ASTNode node, IField field) { if (node != null && node.getNodeType() == ASTNode.SIMPLE_NAME) { IBinding binding= ((SimpleName) node).resolveBinding(); if (binding != null && binding.getKind() == IBinding.VARIABLE) { IVariableBinding variableBinding= (IVariableBinding) binding; if (field.equals(variableBinding.getJavaElement())) { return variableBinding.getConstantValue(); } } } return null; }
public static Object getVariableBindingConstValue(ASTNode node, IField field) { if (node != null && node.getNodeType() == ASTNode.SIMPLE_NAME) { IBinding binding= ((SimpleName) node).resolveBinding(); if (binding != null && binding.getKind() == IBinding.VARIABLE) { IVariableBinding variableBinding= (IVariableBinding) binding; if (field.equals(variableBinding.getJavaElement())) { return variableBinding.getConstantValue(); } } } return null; }
IVariableBinding binding = variable.resolveBinding(); if (!binding.isField() && !binding.isEnumConstant() && !binding.isParameter()) { ILocalVariable local = (ILocalVariable) binding.getJavaElement(); }
private RefactoringStatus findField() throws JavaModelException { fField= (IField) ((IVariableBinding) fSelectedConstantName.resolveBinding()).getJavaElement(); if (fField != null && ! fField.exists()) return RefactoringStatus.createStatus(RefactoringStatus.FATAL, RefactoringCoreMessages.InlineConstantRefactoring_local_anonymous_unsupported, null, Corext.getPluginId(), RefactoringStatusCodes.LOCAL_AND_ANONYMOUS_NOT_SUPPORTED, null); return null; } private RefactoringStatus findDeclaration() throws JavaModelException {
private RefactoringStatus findField() { fField= (IField) ((IVariableBinding) fSelectedConstantName.resolveBinding()).getJavaElement(); if (fField != null && ! fField.exists()) return RefactoringStatus.createStatus(RefactoringStatus.FATAL, RefactoringCoreMessages.InlineConstantRefactoring_local_anonymous_unsupported, null, Corext.getPluginId(), RefactoringStatusCodes.LOCAL_AND_ANONYMOUS_NOT_SUPPORTED, null); return null; } private RefactoringStatus findDeclaration() throws JavaModelException {
private RefactoringStatus findField() { fField= (IField) ((IVariableBinding) fSelectedConstantName.resolveBinding()).getJavaElement(); if (fField != null && ! fField.exists()) return RefactoringStatus.createStatus(RefactoringStatus.FATAL, RefactoringCoreMessages.InlineConstantRefactoring_local_anonymous_unsupported, null, Corext.getPluginId(), RefactoringStatusCodes.LOCAL_AND_ANONYMOUS_NOT_SUPPORTED, null); return null; } private RefactoringStatus findDeclaration() throws JavaModelException {
private ASTNode findDeclaration(CompilationUnit root, ConstraintVariable cv) throws JavaModelException { if (fFieldBinding != null){ IField f= (IField) fFieldBinding.getJavaElement(); return ASTNodeSearchUtil.getFieldDeclarationNode(f, root); } if (cv instanceof ExpressionVariable){ for (Iterator iter= fAllConstraints.iterator(); iter.hasNext();) { ITypeConstraint constraint= (ITypeConstraint) iter.next(); if (constraint.isSimpleTypeConstraint()){ SimpleTypeConstraint stc= (SimpleTypeConstraint)constraint; if (stc.isDefinesConstraint() && stc.getLeft().equals(cv)){ ConstraintVariable right= stc.getRight(); if (right instanceof TypeVariable){ TypeVariable typeVariable= (TypeVariable)right; return NodeFinder.perform(root, typeVariable.getCompilationUnitRange().getSourceRange()); } } } } } else if (cv instanceof ReturnTypeVariable) { ReturnTypeVariable rtv= (ReturnTypeVariable) cv; IMethodBinding mb= rtv.getMethodBinding(); IMethod im= (IMethod) mb.getJavaElement(); return ASTNodeSearchUtil.getMethodDeclarationNode(im, root); } return null; }
private ASTNode findDeclaration(CompilationUnit root, ConstraintVariable cv) throws JavaModelException { if (fFieldBinding != null){ IField f= (IField) fFieldBinding.getJavaElement(); return ASTNodeSearchUtil.getFieldDeclarationNode(f, root); } if (cv instanceof ExpressionVariable){ for (Iterator<ITypeConstraint> iter= fAllConstraints.iterator(); iter.hasNext();) { ITypeConstraint constraint= iter.next(); if (constraint.isSimpleTypeConstraint()){ SimpleTypeConstraint stc= (SimpleTypeConstraint)constraint; if (stc.isDefinesConstraint() && stc.getLeft().equals(cv)){ ConstraintVariable right= stc.getRight(); if (right instanceof TypeVariable){ TypeVariable typeVariable= (TypeVariable)right; return NodeFinder.perform(root, typeVariable.getCompilationUnitRange().getSourceRange()); } } } } } else if (cv instanceof ReturnTypeVariable) { ReturnTypeVariable rtv= (ReturnTypeVariable) cv; IMethodBinding mb= rtv.getMethodBinding(); IMethod im= (IMethod) mb.getJavaElement(); return ASTNodeSearchUtil.getMethodDeclarationNode(im, root); } return null; }
private ASTNode findDeclaration(CompilationUnit root, ConstraintVariable cv) throws JavaModelException { if (fFieldBinding != null){ IField f= (IField) fFieldBinding.getJavaElement(); return ASTNodeSearchUtil.getFieldDeclarationNode(f, root); } if (cv instanceof ExpressionVariable){ for (Iterator<ITypeConstraint> iter= fAllConstraints.iterator(); iter.hasNext();) { ITypeConstraint constraint= iter.next(); if (constraint.isSimpleTypeConstraint()){ SimpleTypeConstraint stc= (SimpleTypeConstraint)constraint; if (stc.isDefinesConstraint() && stc.getLeft().equals(cv)){ ConstraintVariable right= stc.getRight(); if (right instanceof TypeVariable){ TypeVariable typeVariable= (TypeVariable)right; return NodeFinder.perform(root, typeVariable.getCompilationUnitRange().getSourceRange()); } } } } } else if (cv instanceof ReturnTypeVariable) { ReturnTypeVariable rtv= (ReturnTypeVariable) cv; IMethodBinding mb= rtv.getMethodBinding(); IMethod im= (IMethod) mb.getJavaElement(); return ASTNodeSearchUtil.getMethodDeclarationNode(im, root); } return null; }
@Override public int compare(DelegateEntry firstEntry, DelegateEntry secondEntry) { IVariableBinding firstVariable= firstEntry.field; IVariableBinding secondVariable= secondEntry.field; if (firstVariable.equals(secondVariable)) { try { IMethod firstMethod= (IMethod)firstEntry.delegateMethod.getJavaElement(); IMethod secondMethod= (IMethod)secondEntry.delegateMethod.getJavaElement(); ISourceRange firstSourceRange= firstMethod.getSourceRange(); ISourceRange secondSourceRange= secondMethod.getSourceRange(); if (!SourceRange.isAvailable(firstSourceRange) || !SourceRange.isAvailable(secondSourceRange)) { return firstMethod.getElementName().compareTo(secondMethod.getElementName()); } else { return firstSourceRange.getOffset() - secondSourceRange.getOffset(); } } catch (JavaModelException e) { return 0; } } IField firstField= (IField)firstVariable.getJavaElement(); IField secondField= (IField)secondVariable.getJavaElement(); try { return firstField.getSourceRange().getOffset() - secondField.getSourceRange().getOffset(); } catch (JavaModelException e) { return 0; } } }
@Override public int compare(DelegateEntry firstEntry, DelegateEntry secondEntry) { IVariableBinding firstVariable= firstEntry.field; IVariableBinding secondVariable= secondEntry.field; if (firstVariable.equals(secondVariable)) { try { IMethod firstMethod= (IMethod)firstEntry.delegateMethod.getJavaElement(); IMethod secondMethod= (IMethod)secondEntry.delegateMethod.getJavaElement(); ISourceRange firstSourceRange= firstMethod.getSourceRange(); ISourceRange secondSourceRange= secondMethod.getSourceRange(); if (!SourceRange.isAvailable(firstSourceRange) || !SourceRange.isAvailable(secondSourceRange)) { return firstMethod.getElementName().compareTo(secondMethod.getElementName()); } else { return firstSourceRange.getOffset() - secondSourceRange.getOffset(); } } catch (JavaModelException e) { return 0; } } IField firstField= (IField)firstVariable.getJavaElement(); IField secondField= (IField)secondVariable.getJavaElement(); try { return firstField.getSourceRange().getOffset() - secondField.getSourceRange().getOffset(); } catch (JavaModelException e) { return 0; } } }
@Override RefactoringStatus checkMember(Object memberBinding) { RefactoringStatus status= new RefactoringStatus(); IVariableBinding variableBinding= (IVariableBinding)memberBinding; ITypeBinding fieldsType= variableBinding.getType(); if (fieldsType.isArray()) fieldsType= fieldsType.getElementType(); if (!fieldsType.isPrimitive() && !fieldsType.isEnum() && !alreadyCheckedMemberTypes.contains(fieldsType) && !fieldsType.equals(fTypeBinding)) { status.merge(checkHashCodeEqualsExists(fieldsType, false, ActionMessages.GenerateHashCodeEqualsAction_field_type)); alreadyCheckedMemberTypes.add(fieldsType); } if (Modifier.isTransient(variableBinding.getModifiers())) status.addWarning(Messages.format(ActionMessages.GenerateHashCodeEqualsAction_transient_field_included_error, BasicElementLabels.getJavaElementName(variableBinding.getName())), createRefactoringStatusContext(variableBinding.getJavaElement())); return status; }
@Override RefactoringStatus checkMember(Object memberBinding) { RefactoringStatus status= new RefactoringStatus(); IVariableBinding variableBinding= (IVariableBinding)memberBinding; ITypeBinding fieldsType= variableBinding.getType(); if (fieldsType.isArray()) fieldsType= fieldsType.getElementType(); if (!fieldsType.isPrimitive() && !fieldsType.isEnum() && !alreadyCheckedMemberTypes.contains(fieldsType) && !fieldsType.equals(fTypeBinding)) { status.merge(checkHashCodeEqualsExists(fieldsType, false)); alreadyCheckedMemberTypes.add(fieldsType); } if (Modifier.isTransient(variableBinding.getModifiers())) status.addWarning(Messages.format(ActionMessages.GenerateHashCodeEqualsAction_transient_field_included_error, BasicElementLabels.getJavaElementName(variableBinding.getName())), createRefactoringStatusContext(variableBinding.getJavaElement())); return status; }
return proposal; } else { IJavaElement element = context.variableBinding.getJavaElement(); if (element instanceof IField) { IField field = (IField) element;
/** * Proposes a getter for this field. * * @param context the proposal parameter * @param relevance relevance of this proposal * @return the proposal if available or null */ private static ChangeCorrectionProposal addGetterProposal(ProposalParameter context, int relevance) { IMethodBinding method= findGetter(context); if (method != null) { Expression mi= createMethodInvocation(context, method, null); context.astRewrite.replace(context.accessNode, mi, null); String label= Messages.format(CorrectionMessages.GetterSetterCorrectionSubProcessor_replacewithgetter_description, BasicElementLabels.getJavaCodeString(ASTNodes.asString(context.accessNode))); Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE); ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, context.compilationUnit, context.astRewrite, relevance, image); return proposal; } else { IJavaElement element= context.variableBinding.getJavaElement(); if (element instanceof IField) { IField field= (IField) element; try { if (RefactoringAvailabilityTester.isSelfEncapsulateAvailable(field)) return new SelfEncapsulateFieldProposal(relevance, field); } catch (JavaModelException e) { JavaPlugin.log(e); } } } return null; }
private void appendVariableQualification(IVariableBinding variable, long flags) { if (variable.isField()) { appendTypeBindingLabel(variable.getDeclaringClass(), flags); } else { IMethodBinding declaringMethod= variable.getDeclaringMethod(); if (declaringMethod != null) { IBinding declaringMember= declaringMethod.getDeclaringMember(); if (declaringMember != null) { appendLambdaLabel(declaringMethod, flags); fBuffer.append(' '); appendMethodBindingLabel(declaringMethod.getMethodDeclaration(), (flags & QUALIFIER_FLAGS) | M_ALL_QUALIFIED); } else { appendMethodBindingLabel(declaringMethod, flags | M_ALL_QUALIFIED); } } else { // workaround for: local variable inside initializer doesn't yet expose the #getDeclaringMethod(); IJavaElement element= variable.getJavaElement(); if (element != null && element.getParent() != null) appendElementLabel(element.getParent(), flags); else fBuffer.append(MISSING_LABEL); } } }
private void appendVariableQualification(IVariableBinding variable, long flags) { if (variable.isField()) { appendTypeBindingLabel(variable.getDeclaringClass(), flags); } else { IMethodBinding declaringMethod= variable.getDeclaringMethod(); if (declaringMethod != null) { IBinding declaringMember= declaringMethod.getDeclaringMember(); if (declaringMember != null) { appendLambdaLabel(declaringMethod, flags); fBuffer.append(' '); appendMethodBindingLabel(declaringMethod.getMethodDeclaration(), (flags & QUALIFIER_FLAGS) | M_ALL_QUALIFIED); } else { appendMethodBindingLabel(declaringMethod, flags | M_ALL_QUALIFIED); } } else { // workaround for: local variable inside initializer doesn't yet expose the #getDeclaringMethod(); IJavaElement element= variable.getJavaElement(); if (element != null && element.getParent() != null) appendElementLabel(element.getParent(), flags); else fBuffer.append(MISSING_LABEL); } } }
return proposal; } else { IJavaElement element= context.variableBinding.getJavaElement(); if (element instanceof IField) { IField field= (IField) element;