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

Class ConstantExpr

An expression that evaluates to a constant at runtime.

This includes all JLS compile-time constants, plus expressions that can be deduced to be constant by making a closed world assumption.

Import path

import semmle.code.java.controlflow.UnreachableBlocks

Direct supertypes

Indirect supertypes

Predicates

getBooleanValue

Gets the inferred boolean value for this constant boolean expression.

getIntValue

Gets the inferred int value for this constant int expression.

Inherited predicates

getAChildExpr

Gets a child of this expression.

from Expr
getAPrimaryQlClass

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

from Top
getAnEnclosingStmt

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

from Expr
getBasicBlock

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

from Expr
getCompilationUnit

Gets the compilation unit in which this expression occurs.

from Expr
getControlFlowNode

Gets the ControlFlowNode corresponding to this expression.

from Expr
getEnclosingCallable

Gets the callable in which this expression occurs, if any.

from Expr
getEnclosingStmt

Gets the statement containing this expression, if any.

from Expr
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
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
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
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
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
toString

Gets a textual representation of this element.

from Expr

Charpred