Package org.eclipse.jdt.core.dom

## Class TypeMethodReference

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

    public class TypeMethodReference
    extends MethodReference

Type method reference expression AST node type (added in JLS8 API).

     TypeMethodReference:
         Type ::
             [ < Type { , Type } > ]
             Identifier

Since:
  3.10
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` `TYPE_ARGUMENTS_PROPERTY` The "typeArguments" structural property of this node type (element type: `Type`).
`static ChildPropertyDescriptor` `TYPE_PROPERTY` The "type" structural property of this node type (child type: `Type`).

### 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_EXPRESSION, 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 Static Methods Instance Methods Concrete Methods
`SimpleName` `getName()` Returns the name of the method referenced in this expression.
`Type` `getType()` Returns the type of this type method reference expression.
`static List` `propertyDescriptors​(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` `setName​(SimpleName name)` Sets the name of the method referenced in this expression to the given name.
`void` `setType​(Type type)` Sets the type of this type method reference expression.
`List` `typeArguments()` Returns the live ordered list of type arguments of this type method reference expression.

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

`getTypeArgumentsProperty, resolveMethodBinding`

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

### Field Detail

#### TYPE_PROPERTY

    public static final ChildPropertyDescriptor TYPE_PROPERTY

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

#### TYPE_ARGUMENTS_PROPERTY

    public static final ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY

The "typeArguments" structural property of this node type (element type: `Type`).

#### NAME_PROPERTY

    public static final ChildPropertyDescriptor NAME_PROPERTY

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

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

#### getType

    public Type getType()

Returns the type of this type method reference expression.

Returns:
  the type node

#### setType

    public void setType​(Type type)

Sets the type of this type method reference expression.

Parameters:
  `type` - the new type node
Throws:
  `IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent

#### typeArguments

    public List typeArguments()

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

Overrides:
  `typeArguments` in class `MethodReference`
Returns:
  the live list of type arguments (element type: `Type`)

#### getName

    public SimpleName getName()

Returns the name of the method referenced in this expression.

Returns:
  the method name node

#### setName

    public void setName​(SimpleName name)

Sets the name of the method referenced in this expression to the given name.

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