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

Class StdlibRandomSource

A method access calling a method declared on java.util.Random that returns random data or writes random data to an argument.

Import path

import semmle.code.java.security.RandomDataSource

Direct supertypes

Indirect supertypes

Known direct subtypes

Fields

Predicates

getLowerBound

Gets the integer lower bound, inclusive, of the values returned by this call, if applicable to this method’s type and a constant bound is known.

getLowerBoundExpr

Gets the integer lower bound, inclusive, of the values returned by this call, if applicable to this method’s type and a bound is known.

getOutput

Gets the result of this source of randomness: either the method access itself, or some argument in the case where it writes random data to that argument.

getUpperBoundExpr

Gets the integer upper bound, exclusive, of the values returned by this call, if applicable to this method’s type and a bound is known.

resultMayBeBounded

Holds if this source of random data may return bounded values (e.g. integers between 1 and 10). If it does not hold, it may return any value in the range of its result type (e.g., any possible integer).

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 MethodAccess
getATypeArgument

Gets a type argument supplied as part of this method access, if any.

from MethodAccess
getAnArgument

Gets an argument supplied to the method that is invoked using this method access.

from MethodAccess
getAnEnclosingStmt

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

from Expr
getArgument

Gets the argument at the specified (zero-based) position in this method access.

from MethodAccess
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
getControlFlowNode

Gets the ControlFlowNode corresponding to this expression.

from Expr
getEnclosingCallable

Gets the immediately enclosing callable that contains this method access.

from MethodAccess
getEnclosingStmt

Gets the immediately enclosing statement that contains this method access.

from MethodAccess
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
getMethod

Gets the method accessed by this method access.

from MethodAccess
getNumArgument

Gets the number of arguments provided in this call.

from Call
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 qualifying expression of this method access, if any.

from MethodAccess
getReceiverType

Gets the type of the qualifier on which this method is invoked, or the enclosing type if there is no qualifier.

from MethodAccess
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 at the specified (zero-based) position in this method access, if any.

from MethodAccess
getUnderlyingExpr

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

from Expr
getUpperBound

Gets the integer upper bound, exclusive, of the values returned by this call, if applicable to this method’s type and a constant bound is known.

from RandomDataSource
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
hasQualifier

Holds if this method access has a qualifier.

from MethodAccess
isCompileTimeConstant

Holds if this expression is a compile-time constant.

from Expr
isEnclosingMethodAccess

Holds if this is a method access to an instance method of the enclosing class t. That is, the qualifier is either an explicit or implicit t-qualified this or super.

from MethodAccess
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
isOwnMethodAccess

Holds if this is a method access to an instance method of this. That is, the qualifier is either an explicit or implicit unqualified this or super.

from MethodAccess
isParenthesized

Holds if this expression is parenthesized.

from Expr
printAccess

Gets a printable representation of this expression.

from MethodAccess
toString

Gets a printable representation of this expression.

from MethodAccess

Charpred