org.aspectj.org.eclipse.jdt.core.dom
Class MethodReference

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.core.dom.ASTNode
      extended by org.aspectj.org.eclipse.jdt.core.dom.Expression
          extended by org.aspectj.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.aspectj.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
 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.
 java.util.List typeArguments()
          Returns the live ordered list of type arguments of this method reference.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
 
Methods inherited from class org.aspectj.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 java.util.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