|
|
|
|
org.eclipse.jdt.core.dom
Interface IMethodBinding
-
All Superinterfaces:
-
IBinding
-
public interface IMethodBinding
- extends
IBinding
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 ).
-
Since:
- 2.0
-
See Also:
-
ITypeBinding.getDeclaredMethods()
-
Restriction:
- This interface is not intended to be implemented by clients.
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
|
isConstructor
boolean isConstructor()
- Returns whether this binding is for a constructor or a method.
-
-
-
Returns:
-
true if this is the binding for a constructor,
and false if this is the binding for a method
isDefaultConstructor
boolean isDefaultConstructor()
- Returns whether this binding is known to be a compiler-generated
default constructor.
This method returns false for:
- methods
- constructors with more than one parameter
- 0-argument constructors where the binding information was obtained
from a Java source file containing an explicit 0-argument constructor
declaration
- 0-argument constructors where the binding information was obtained
from a Java class file (it is not possible to determine from a
class file whether a 0-argument constructor was present in the source
code versus generated automatically by a Java compiler)
-
-
-
Returns:
-
true if this is known to be the binding for a
compiler-generated default constructor, and false
otherwise -
Since:
- 3.0
getName
String getName()
- Returns the name of the method declared in this binding. The method name
is always a simple identifier. The name of a constructor is always the
same as the declared name of its declaring class.
-
-
Specified by:
-
getName
in interface
IBinding
-
-
Returns:
- the name of this method, or the declared name of this
constructor's declaring class
getDeclaringClass
ITypeBinding getDeclaringClass()
- Returns the type binding representing the class or interface
that declares this method or constructor.
-
-
-
Returns:
- the binding of the class or interface that declares this method
or constructor
getDefaultValue
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.
Resolved values are represented as follows (same as for
IMemberValuePairBinding.getValue() ):
- Primitive type - the equivalent boxed object
- java.lang.Class - the
ITypeBinding for the class object
- java.lang.String - the string value itself
- enum type - the
IVariableBinding for the enum constant
- annotation type - an
IAnnotationBinding
- array type - an
Object[] whose elements are as per above
(the language only allows single dimensional arrays in annotations)
-
-
-
Returns:
- the default value of this annotation type member, or
null
if none or not applicable -
Since:
- 3.2
getParameterAnnotations
IAnnotationBinding[] getParameterAnnotations(int paramIndex)
- Returns the resolved annotations of a parameter of this method.
The result returned is the same regardless of whether
this is a parameterized method.
-
-
-
Parameters:
-
paramIndex - the index of the parameter of interest
-
Returns:
- the resolved annotations of the
paramIndex th parameter,
or an empty list if there are none
-
Throws:
-
ArrayIndexOutOfBoundsException
- if paramIndex is
not a valid index -
Since:
- 3.2
getParameterTypes
ITypeBinding[] getParameterTypes()
- Returns a list of type bindings representing the formal parameter types,
in declaration order, of this method or constructor. Returns an array of
length 0 if this method or constructor does not takes any parameters.
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.
-
-
-
Returns:
- a (possibly empty) list of type bindings for the formal
parameters of this method or constructor
getReturnType
ITypeBinding getReturnType()
- Returns the binding for the return type of this method. Returns the
special primitive
void return type for constructors.
-
-
-
Returns:
- the binding for the return type of this method, or the
void return type for constructors
getExceptionTypes
ITypeBinding[] getExceptionTypes()
- Returns a list of type bindings representing the types of the exceptions thrown
by this method or constructor. Returns an array of length 0 if this method
throws no exceptions. The resulting types are in no particular order.
-
-
-
Returns:
- a list of type bindings for exceptions
thrown by this method or constructor
getTypeParameters
ITypeBinding[] getTypeParameters()
- Returns the type parameters of this method or constructor binding.
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).
-
-
-
Returns:
- the list of binding for the type variables for the type
parameters of this method, or otherwise the empty list
-
Since:
- 3.1
-
See Also:
-
ITypeBinding.isTypeVariable()
isAnnotationMember
boolean isAnnotationMember()
- Returns whether this is the binding for an annotation type member.
-
-
-
Returns:
-
true iff this is the binding for an annotation type member
and false otherwise -
Since:
- 3.2
isGenericMethod
boolean isGenericMethod()
- Returns whether this method binding represents a declaration of
a generic method.
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.
-
-
-
Returns:
-
true if this method binding represents a
declaration of a generic method, and false otherwise -
Since:
- 3.1
-
See Also:
-
getTypeParameters()
isParameterizedMethod
boolean isParameterizedMethod()
- Returns whether this method binding represents an instance of
a generic method corresponding to a parameterized method reference.
Note that
isGenericMethod() ,
isParameterizedMethod() ,
and
isRawMethod() are mutually exclusive.
-
-
-
Returns:
-
true if this method binding represents a
an instance of a generic method corresponding to a parameterized
method reference, and false otherwise -
Since:
- 3.1
-
See Also:
-
getMethodDeclaration() ,
getTypeArguments()
getTypeArguments
ITypeBinding[] getTypeArguments()
- Returns the type arguments of this generic method instance, or the
empty list for other method bindings.
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.
-
-
-
Returns:
- the list of type bindings for the type arguments used to
instantiate the corrresponding generic method, or otherwise the empty list
-
Since:
- 3.1
-
See Also:
-
getMethodDeclaration() ,
isParameterizedMethod() ,
isRawMethod()
getMethodDeclaration
IMethodBinding getMethodDeclaration()
- Returns the binding for the method declaration corresponding to this
method binding. For parameterized methods (
isParameterizedMethod() )
and raw methods (
isRawMethod() ), this method returns the binding
for the corresponding generic method. For other method bindings, this
returns the same binding.
Note: The one notable exception is the method Object.getClass() ,
which is declared to return Class<? extends Object> , but
when invoked its return type becomes Class<? extends
R
> , where R is the compile type of
the receiver of the method invocation.
-
-
-
Returns:
- the method binding
-
Since:
- 3.1
isRawMethod
boolean isRawMethod()
- Returns whether this method binding represents an instance of
a generic method corresponding to a raw method reference.
Note that
isGenericMethod() ,
isParameterizedMethod() ,
and
isRawMethod() are mutually exclusive.
-
-
-
Returns:
-
true if this method binding represents a
an instance of a generic method corresponding to a raw
method reference, and false otherwise -
Since:
- 3.1
-
See Also:
-
getMethodDeclaration() ,
getTypeArguments()
isSubsignature
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).
-
-
-
Returns:
-
true if this method's signature is a subsignature of the given method -
Since:
- 3.1
isVarargs
boolean isVarargs()
- Returns whether this is a variable arity method.
Note: Variable arity ("varargs") methods were added in JLS3.
-
-
-
Returns:
-
true if this is a variable arity method,
and false otherwise -
Since:
- 3.1
overrides
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).
-
-
-
Parameters:
-
method - the method that is possibly overriden
-
Returns:
-
true if this method overrides the given method,
and false otherwise -
Since:
- 3.1
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|
|