CodeQL library for Java/Kotlin
codeql/java-all 0.8.11-dev (changelog, source)
Search

Class MemberRefExpr

Member references are represented by their implicit class instance expressions, which instantiate an anonymous class that overrides the unique method designated by their functional interface type. The correspondence of the parameters of the overriding method in the anonymous class with the parameters of the callable that is referenced differs depending on the particular kind of member reference expression.

For details, see JLS v8 section 15.13.3: Run-Time Evaluation of Method References.

Import path

import java

Direct supertypes

Indirect supertypes

Predicates

asMethod

Gets the implicit method corresponding to this member reference expression. The body of this method is a return statement (enclosed in a block) whose expression is either a method access (if the reference is to a method), a class instance creation expression (if the reference is to a constructor) or an array creation expression (if the reference is to an array constructor).

getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

getReceiverExpr

Gets the expression whose member this member reference refers to, that is, the left side of the ::. For example, for the member reference this::toString the receiver expression is the this expression.

getReceiverType

Gets the receiver type whose member this expression refers to. The result might not be the type which actually declares the member. For example, for the member reference ArrayList::toString, this predicate has the result java.util.ArrayList, the type explicitly referred to, while getReferencedCallable will have java.util.AbstractCollection.toString as result, which ArrayList inherits.

getReferencedCallable

Gets the method or constructor referenced by this member reference expression.

toString

Gets a printable representation of this expression.

Inherited predicates

callsSuper

Holds if this constructor call is an explicit call to super(...).

from ConstructorCall
callsThis

Holds if this constructor call is an explicit call to this(...).

from ConstructorCall
getAChildExpr

Gets a child of this expression.

from Expr
getATypeArgument

Gets a type argument of the type of the created instance.

from ClassInstanceExpr
getAnArgument

Gets an argument provided to the constructor of this class instance creation expression.

from ClassInstanceExpr
getAnEnclosingStmt

Gets a statement that directly or transitively contains this expression, if any. This is equivalent to this.getEnclosingStmt().getEnclosingStmt*().

from Expr
getAnonymousClass

Gets the anonymous class created by this class instance creation expression, if any.

from ClassInstanceExpr
getArgument

Gets the argument provided to the constructor of this class instance creation expression at the specified (zero-based) position.

from ClassInstanceExpr
getBasicBlock

Gets the basic block in which this expression occurs, if any.

from Expr
getCallee

Gets the target callable of this call.

from Call
getCaller

Gets the callable invoking this call.

from Call
getCompilationUnit

Gets the compilation unit in which this expression occurs.

from Expr
getConstructedType

Gets the type of the object instantiated by this constructor call.

from ConstructorCall
getConstructor

Gets the constructor invoked by this class instance creation expression.

from ClassInstanceExpr
getControlFlowNode

Gets the ControlFlowNode corresponding to this expression.

from Expr
getEnclosingCallable

Gets the immediately enclosing callable of this class instance creation expression.

from ClassInstanceExpr
getEnclosingStmt

Gets the immediately enclosing statement of this class instance creation expression.

from ClassInstanceExpr
getFile

Gets the file associated with this element.

from Top
getHalsteadID

This statement’s Halstead ID (used to compute Halstead metrics).

from Expr
getIndex

Gets the index of this expression as a child of its parent.

from Expr
getKind

Gets the kind of this expression.

from Expr
getKotlinType

Gets the Kotlin type of this expression.

from Expr
getLocation

Gets the source location for this element.

from Top
getNumArgument

Gets the number of arguments provided to the constructor of the class instance creation expression.

from ClassInstanceExpr
getNumberOfCommentLines

Gets the number of comment lines that this element ranges over.

from Top
getNumberOfLinesOfCode

Gets the number of lines of code that this element ranges over.

from Top
getParent

Gets the parent of this expression.

from Expr
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Top
getQualifier

Gets the qualifier of this class instance creation expression, if any.

from ClassInstanceExpr
getTotalNumberOfLines

Gets the total number of lines that this element ranges over, including lines of code, comment and whitespace-only lines.

from Top
getType

Gets the type of this expression.

from Expr
getTypeArgument

Gets the type argument of the type of the created instance, at the specified (zero-based) position.

from ClassInstanceExpr
getTypeName

Gets the access to the type that is instantiated or subclassed by this class instance creation expression.

from ClassInstanceExpr
getUnderlyingExpr

Gets the underlying expression looking through casts and not-nulls, if any. Otherwise just gets this expression.

from Expr
hasLocationInfo

Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

from Top
isCompileTimeConstant

Holds if this expression is a compile-time constant.

from Expr
isDiamond

Holds if this class instance creation expression has an empty type argument list of the form <>.

from ClassInstanceExpr
isInStaticContext

Holds if this expression occurs in a static context.

from Expr
isNthChildOf

Holds if this expression is the child of the specified parent at the specified (zero-based) position.

from Expr
isParenthesized

Holds if this expression is parenthesized.

from Expr