Package 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
Modifier and Type
Field
Description
`static final ChildPropertyDescriptor`
`NAME_PROPERTY`
The "name" structural property of this node type (child type: `SimpleName`).
`static final ChildListPropertyDescriptor`
`PARAMETERS_PROPERTY`
The "parameters" structural property of this node type (element type: `MethodRefParameter`).
`static final 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, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EitherOr_MultiPattern, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_FRAGMENT, STRING_LITERAL, STRING_TEMPLATE_COMPONENT, STRING_TEMPLATE_EXPRESSION, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT`

## Method Summary

Modifier and Type
Method
Description
`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.
`final 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 Details

### 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 Details

### 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