|
Eclipse JDT Release 3.7 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IMethodBinding
A method binding represents a method or constructor of a class or interface.
Method bindings usually correspond directly to method or
constructor declarations found in the source code.
However, in certain cases of references to a generic method,
the method binding may correspond to a copy of a generic method
declaration with substitutions for the method's type parameters
(for these, getTypeArguments returns a non-empty
list, and either isParameterizedMethod or
isRawMethod returns true).
And in certain cases of references to a method declared in a
generic type, the method binding may correspond to a copy of a
method declaration with substitutions for the type's type
parameters (for these, getTypeArguments returns
an empty list, and both isParameterizedMethod and
isRawMethod return false).
ITypeBinding.getDeclaredMethods()| Field Summary |
|---|
| Fields inherited from interface org.eclipse.jdt.core.dom.IBinding |
|---|
ANNOTATION, MEMBER_VALUE_PAIR, METHOD, PACKAGE, TYPE, VARIABLE |
| Method Summary | |
|---|---|
ITypeBinding |
getDeclaringClass()
Returns the type binding representing the class or interface that declares this method or constructor. |
Object |
getDefaultValue()
Returns the resolved default value of an annotation type member, or null if the member has no default value, or if this
is not the binding for an annotation type member. |
ITypeBinding[] |
getExceptionTypes()
Returns a list of type bindings representing the types of the exceptions thrown by this method or constructor. |
IMethodBinding |
getMethodDeclaration()
Returns the binding for the method declaration corresponding to this method binding. |
String |
getName()
Returns the name of the method declared in this binding. |
IAnnotationBinding[] |
getParameterAnnotations(int paramIndex)
Returns the resolved annotations of a parameter of this method. |
ITypeBinding[] |
getParameterTypes()
Returns a list of type bindings representing the formal parameter types, in declaration order, of this method or constructor. |
ITypeBinding |
getReturnType()
Returns the binding for the return type of this method. |
ITypeBinding[] |
getTypeArguments()
Returns the type arguments of this generic method instance, or the empty list for other method bindings. |
ITypeBinding[] |
getTypeParameters()
Returns the type parameters of this method or constructor binding. |
boolean |
isAnnotationMember()
Returns whether this is the binding for an annotation type member. |
boolean |
isConstructor()
Returns whether this binding is for a constructor or a method. |
boolean |
isDefaultConstructor()
Returns whether this binding is known to be a compiler-generated default constructor. |
boolean |
isGenericMethod()
Returns whether this method binding represents a declaration of a generic method. |
boolean |
isParameterizedMethod()
Returns whether this method binding represents an instance of a generic method corresponding to a parameterized method reference. |
boolean |
isRawMethod()
Returns whether this method binding represents an instance of a generic method corresponding to a raw method reference. |
boolean |
isSubsignature(IMethodBinding otherMethod)
Returns whether this method's signature is a subsignature of the given method as specified in section 8.4.2 of The Java Language Specification, Third Edition (JLS3). |
boolean |
isVarargs()
Returns whether this is a variable arity method. |
boolean |
overrides(IMethodBinding method)
Returns whether this method overrides the given method, as specified in section 8.4.8.1 of The Java Language Specification, Third Edition (JLS3). |
| Methods inherited from interface org.eclipse.jdt.core.dom.IBinding |
|---|
equals, getAnnotations, getJavaElement, getKey, getKind, getModifiers, isDeprecated, isEqualTo, isRecovered, isSynthetic, toString |
| Method Detail |
|---|
boolean isConstructor()
true if this is the binding for a constructor,
and false if this is the binding for a methodboolean isDefaultConstructor()
This method returns false for:
true if this is known to be the binding for a
compiler-generated default constructor, and false
otherwiseString getName()
getName in interface IBindingITypeBinding getDeclaringClass()
Object getDefaultValue()
null if the member has no default value, or if this
is not the binding for an annotation type member.
Resolved values are represented as follows (same as for
IMemberValuePairBinding.getValue()):
ITypeBinding for the class objectIVariableBinding for the enum constantIAnnotationBindingObject[] whose elements are as per above
(the language only allows single dimensional arrays in annotations)
null
if none or not applicableIAnnotationBinding[] getParameterAnnotations(int paramIndex)
paramIndex - the index of the parameter of interest
paramIndexth parameter,
or an empty list if there are none
ArrayIndexOutOfBoundsException - if paramIndex is
not a valid indexITypeBinding[] getParameterTypes()
Note that the binding for the last parameter type of a vararg method
declaration like void fun(Foo... args) is always for
an array type (i.e., Foo[]) reflecting the the way varargs
get compiled. However, the type binding obtained directly from
the SingleVariableDeclaration for the vararg parameter
is always for the type as written; i.e., the type binding for
Foo.
Note: The result does not include synthetic parameters introduced by inner class emulation.
ITypeBinding getReturnType()
void return type for constructors.
void return type for constructorsITypeBinding[] getExceptionTypes()
ITypeBinding[] getTypeParameters()
Note that type parameters only occur on the binding of the declaring generic method. Type bindings corresponding to a raw or parameterized reference to a generic method do not carry type parameters (they instead have non-empty type arguments and non-trivial erasure).
ITypeBinding.isTypeVariable()boolean isAnnotationMember()
true iff this is the binding for an annotation type member
and false otherwiseboolean isGenericMethod()
Note that type parameters only occur on the binding of the
declaring generic method; e.g., public <T> T identity(T t);.
Method bindings corresponding to a raw or parameterized reference to a generic
method do not carry type parameters (they instead have non-empty type arguments
and non-trivial erasure).
This method is fully equivalent to getTypeParameters().length > 0).
Note that isGenericMethod(),
isParameterizedMethod(),
and isRawMethod() are mutually exclusive.
true if this method binding represents a
declaration of a generic method, and false otherwisegetTypeParameters()boolean isParameterizedMethod()
Note that isGenericMethod(),
isParameterizedMethod(),
and isRawMethod() are mutually exclusive.
true if this method binding represents a
an instance of a generic method corresponding to a parameterized
method reference, and false otherwisegetMethodDeclaration(),
getTypeArguments()ITypeBinding[] getTypeArguments()
Note that type arguments only occur on a method binding that represents an instance of a generic method corresponding to a raw or parameterized reference to a generic method. Do not confuse these with type parameters which only occur on the method binding corresponding directly to the declaration of a generic method.
getMethodDeclaration(),
isParameterizedMethod(),
isRawMethod()IMethodBinding getMethodDeclaration()
isParameterizedMethod())
and raw methods (isRawMethod()), this method returns the binding
for the corresponding generic method.Object.getClass(),
returns the binding for the method declaration which is declared to return
Class<?> or Class<? extends Object>. In the
reference binding, the return type becomes
Class<? extends R>, where R
is the erasure of the static type of the receiver of the method invocation.
boolean isRawMethod()
Note that isGenericMethod(),
isParameterizedMethod(),
and isRawMethod() are mutually exclusive.
true if this method binding represents a
an instance of a generic method corresponding to a raw
method reference, and false otherwisegetMethodDeclaration(),
getTypeArguments()boolean isSubsignature(IMethodBinding otherMethod)
true if this method's signature is a subsignature of the given methodboolean isVarargs()
Note: Variable arity ("varargs") methods were added in JLS3.
true if this is a variable arity method,
and false otherwiseboolean overrides(IMethodBinding method)
method - the method that is possibly overriden
true if this method overrides the given method,
and false otherwise
|
Eclipse JDT Release 3.7 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Guidelines for using Eclipse APIs.
Copyright (c) 2000, 2011 IBM Corporation and others. All rights reserved.