org.eclipse.jdt.core.dom

## Class MethodRef

- java.lang.Object
- - org.eclipse.jdt.core.dom.ASTNode
  - - org.eclipse.jdt.core.dom.MethodRef

All Implemented Interfaces:
  IDocElement

    public class MethodRef
    extends ASTNode
    implements IDocElement

AST node for a method or constructor reference within a doc comment (`Javadoc`). The principal uses of these are in "@see" and "@link" tag elements, for references to method and constructor members.

     MethodRef:
         [ Name ] # Identifier
             ( [ MethodRefParameter | { , MethodRefParameter } ] )

Since:
  3.0
See Also:
  `Javadoc`
Restriction:
  This class is not intended to be instantiated by clients.

### Field Summary

Fields
`static ChildPropertyDescriptor` `NAME_PROPERTY` The "name" structural property of this node type (child type: `SimpleName`).
`static ChildListPropertyDescriptor` `PARAMETERS_PROPERTY` The "parameters" structural property of this node type (element type: `MethodRefParameter`).
`static ChildPropertyDescriptor` `QUALIFIER_PROPERTY` The "qualifier" structural property of this node type (child type: `Name`).

### Fields inherited from class org.eclipse.jdt.core.dom.ASTNode

`ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`SimpleName` `getName()` Returns the name of the referenced method or constructor.
`Name` `getQualifier()` Returns the qualifier of this method reference, or `null` if there is none.
`List` `parameters()` Returns the live ordered list of method parameter references for this method reference.
`static List` `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`IBinding` `resolveBinding()` Resolves and returns the binding for the entity referred to by this method reference.
`void` `setName(SimpleName name)` Sets the name of the referenced method or constructor to the given name.
`void` `setQualifier(Name name)` Sets or clears the qualifier of this method reference.

### Methods inherited from class org.eclipse.jdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### QUALIFIER_PROPERTY

    public static final ChildPropertyDescriptor QUALIFIER_PROPERTY

The "qualifier" structural property of this node type (child type: `Name`).

Since:
  3.0

#### NAME_PROPERTY

    public static final ChildPropertyDescriptor NAME_PROPERTY

The "name" structural property of this node type (child type: `SimpleName`).

Since:
  3.0

#### PARAMETERS_PROPERTY

    public static final ChildListPropertyDescriptor PARAMETERS_PROPERTY

The "parameters" structural property of this node type (element type: `MethodRefParameter`).

Since:
  3.0

### Method Detail

#### propertyDescriptors

    public static List propertyDescriptors(int apiLevel)

Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the AST.JLS* constants
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)
Since:
  3.0

#### getQualifier

    public Name getQualifier()

Returns the qualifier of this method reference, or `null` if there is none.

Returns:
  the qualifier name node, or `null` if there is none

#### setQualifier

    public void setQualifier(Name name)

Sets or clears the qualifier of this method reference.

Parameters:
  `name` - the qualifier name node, or `null` if there is none
Throws:
  `IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent

#### getName

    public SimpleName getName()

Returns the name of the referenced method or constructor.

Returns:
  the method or constructor name node

#### setName

    public void setName(SimpleName name)

Sets the name of the referenced method or constructor to the given name.

Parameters:
  `name` - the new method or constructor name node
Throws:
  `IllegalArgumentException` - if:
  - the name is `null`
  - the node belongs to a different AST
  - the node already has a parent

#### parameters

    public List parameters()

Returns the live ordered list of method parameter references for this method reference.

Returns:
  the live list of method parameter references (element type: `MethodRefParameter`)

#### resolveBinding

    public final IBinding resolveBinding()

Resolves and returns the binding for the entity referred to by this method reference.

Note that bindings are generally unavailable unless requested when the AST is being built.

Returns:
  the binding, or `null` if the binding cannot be resolved