private IVariableBinding variableBinding(Name node) { if (node.resolveBinding() instanceof IVariableBinding) { return (IVariableBinding) node.resolveBinding(); } return null; }
private IMethodBinding getMethodBinding(Name name) { if (name == null) { return null; } IBinding binding = name.resolveBinding(); if (binding instanceof IMethodBinding) { return (IMethodBinding) binding; } return null; } }
public static boolean isExtractableExpression(ASTNode node) { if (!(node instanceof Expression)) return false; if (node instanceof Name) { IBinding binding= ((Name) node).resolveBinding(); return !(binding instanceof ITypeBinding); } return true; }
public static boolean isExtractableExpression(ASTNode node) { if (!(node instanceof Expression)) return false; if (node instanceof Name) { IBinding binding= ((Name) node).resolveBinding(); return binding == null || binding instanceof IVariableBinding; } return true; }
public static IVariableBinding getVariableBinding(Name node) { IBinding binding= node.resolveBinding(); if (binding instanceof IVariableBinding) return (IVariableBinding)binding; return null; }
private IMethodBinding getMethodBinding(Name name) { if (name == null) return null; IBinding binding= name.resolveBinding(); if (binding instanceof IMethodBinding) return (IMethodBinding)binding; return null; } }
public static boolean isExtractableExpression(ASTNode node) { if (!(node instanceof Expression)) return false; if (node instanceof Name) { IBinding binding= ((Name) node).resolveBinding(); return binding == null || binding instanceof IVariableBinding; } return true; }
protected boolean isStaticAccess(Expression exp, ITypeBinding type) { if (!(exp instanceof Name)) return false; return Bindings.equals(type, ((Name)exp).resolveBinding()); }
private static boolean isNotYetThrown(ITypeBinding binding, List thrownExcpetions) { for (int i= 0; i < thrownExcpetions.size(); i++) { Name name= (Name) thrownExcpetions.get(i); ITypeBinding elem= (ITypeBinding) name.resolveBinding(); if (elem != null) { if (Bindings.isSuperType(elem, binding)) { // existing exception is base class of new return false; } } } return true; }
private static IBinding getBinding(Expression expression) { if (expression instanceof FieldAccess) { return ((FieldAccess)expression).resolveFieldBinding(); } else if (expression instanceof Name) { return ((Name)expression).resolveBinding(); } return null; }
private static IBinding getBinding(Expression expression) { if (expression instanceof FieldAccess) { return ((FieldAccess)expression).resolveFieldBinding(); } else if (expression instanceof Name) { return ((Name)expression).resolveBinding(); } return null; }
private static boolean isEnumConstant(final Expression expr) { // TODO JNR make it work for enums fields which are static final, but not null if (expr instanceof Name) { final IBinding binding = ((Name) expr).resolveBinding(); if (binding instanceof IVariableBinding) { return ((IVariableBinding) binding).isEnumConstant(); } } return false; }
public Object constValue(Name expression) { IBinding binding = expression.resolveBinding(); if (IBinding.VARIABLE == binding.getKind()) { return ((IVariableBinding) binding).getConstantValue(); } return null; }
private boolean isReplacedByConstantValue(Name node) { if (!fBindingsResolved) { fNeedBindings = true; return false; } // if node is a variable with a constant value (static final field) IBinding binding= node.resolveBinding(); if (binding != null && binding.getKind() == IBinding.VARIABLE) { return ((IVariableBinding)binding).getConstantValue() != null; } return false; }
public String initialize(CompilationUnit root, ASTNode node) { if (!(node instanceof Name)) return SearchMessages.OccurrencesFinder_no_element; fRoot= root; fSelectedNode= (Name)node; fTarget= fSelectedNode.resolveBinding(); if (fTarget == null) return SearchMessages.OccurrencesFinder_no_binding; fTarget= getBindingDeclaration(fTarget); fTargetIsStaticMethodImport= isStaticImport(fSelectedNode.getParent()); return null; }
@Override public boolean visit(SuperMethodInvocation node) { if (node.getQualifier() == null) { throw new AbortSearchException(); } else { IBinding qualifierType = node.getQualifier().resolveBinding(); if (qualifierType instanceof ITypeBinding && ((ITypeBinding) qualifierType).isInterface()) { throw new AbortSearchException(); // JLS8: new overloaded meaning of 'interface'.super.'method'(..) } } return true; // references to outer scopes are harmless }
@Override public boolean visit(SuperMethodInvocation node) { if (node.getQualifier() == null) { throw new AbortSearchException(); } else { IBinding qualifierType= node.getQualifier().resolveBinding(); if (qualifierType instanceof ITypeBinding && ((ITypeBinding) qualifierType).isInterface()) { throw new AbortSearchException(); // JLS8: new overloaded meaning of 'interface'.super.'method'(..) } } return true; // references to outer scopes are harmless }
private static VariableDeclaration getVariableDeclaration(Name node) { IBinding binding= node.resolveBinding(); if (binding == null && node.getParent() instanceof VariableDeclaration) { return (VariableDeclaration) node.getParent(); } if (binding != null && binding.getKind() == IBinding.VARIABLE) { CompilationUnit cu= ASTNodes.getParent(node, CompilationUnit.class); return ASTNodes.findVariableDeclaration( ((IVariableBinding) binding), cu); } return null; }
private boolean isMemberReferenceValidInClassInitialization(Name name) { IBinding binding = name.resolveBinding(); Assert.isTrue(binding instanceof IVariableBinding || binding instanceof IMethodBinding); if (name instanceof SimpleName) { return Modifier.isStatic(binding.getModifiers()); } else { Assert.isTrue(name instanceof QualifiedName); return checkName(((QualifiedName) name).getQualifier()); } } }
private boolean isMemberReferenceValidInClassInitialization(Name name) { IBinding binding= name.resolveBinding(); Assert.isTrue(binding instanceof IVariableBinding || binding instanceof IMethodBinding); if(name instanceof SimpleName) return Modifier.isStatic(binding.getModifiers()); else { Assert.isTrue(name instanceof QualifiedName); return checkName(((QualifiedName) name).getQualifier()); } } }