Package org.eclipse.jdt.core.dom

## Class MethodReference

- java.lang.Object
- - org.eclipse.jdt.core.dom.ASTNode
  - - org.eclipse.jdt.core.dom.Expression
    - - org.eclipse.jdt.core.dom.MethodReference

Direct Known Subclasses:
  `CreationReference`, `ExpressionMethodReference`, `SuperMethodReference`, `TypeMethodReference`

    public abstract class MethodReference
    extends Expression

Abstract base class of all AST node types that represent a method reference expression (added in JLS8 API).

     MethodReference:
        CreationReference
        ExpressionMethodReference
        SuperMethodReference
        TypeMethodReference

A method reference that is represented by a simple or qualified name, followed by `::`, followed by a simple name can be represented as `ExpressionMethodReference` or as `TypeMethodReference`. The ASTParser currently prefers the first form.

Since:
  3.10
See Also:
  `CreationReference`, `ExpressionMethodReference`, `SuperMethodReference`, `TypeMethodReference`

### Field Summary

### 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, EXPORTS_DIRECTIVE, 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, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REQUIRES_DIRECTIVE, 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, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE`

### Method Summary

All Methods Instance Methods Concrete Methods
`ChildListPropertyDescriptor` `getTypeArgumentsProperty()` Returns the structural property descriptor for the "typeArguments" property of this node (element type: `Type`).
`IMethodBinding` `resolveMethodBinding()` Resolves and returns the binding for the method referenced by this method reference expression.
`List` `typeArguments()` Returns the live ordered list of type arguments of this method reference.

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

`resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing`

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

### Method Detail

#### getTypeArgumentsProperty

    public final ChildListPropertyDescriptor getTypeArgumentsProperty()

Returns the structural property descriptor for the "typeArguments" property of this node (element type: `Type`).

Returns:
  the property descriptor

#### typeArguments

    public List typeArguments()

Returns the live ordered list of type arguments of this method reference.

Returns:
  the live list of type arguments (element type: `Type`)

#### resolveMethodBinding

    public IMethodBinding resolveMethodBinding()

Resolves and returns the binding for the method referenced by this method reference expression.

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

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