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

Class SafeExternalApiMethod

A Method that is considered a “safe” external API from a security perspective.

Import path

import semmle.code.java.security.ExternalAPIs

Direct supertypes

Indirect supertypes

Known direct subtypes

    Inherited predicates

    accesses

    Holds if field f may be either read or written within the body of this callable.

    from Callable
    calls

    Holds if this callable calls target.

    from Callable
    callsConstructor

    Holds if this callable calls c using either a super(...) constructor call or a this(...) constructor call.

    from Callable
    callsImpl

    Holds if c is a viable implementation of a callable called by this callable, taking virtual dispatch resolution into account.

    from Callable
    callsSuper

    Holds if this callable calls target using a super method call.

    from Callable
    callsSuperConstructor

    Holds if this callable calls target using a super(...) constructor call.

    from Callable
    callsThis

    Holds if this callable calls target using a this(...) constructor call.

    from Callable
    compilerGeneratedReason

    Gets the reason this element was generated by the compiler, if any.

    from Element
    contains

    Holds if this element transitively contains the specified element e.

    from Element
    fromSource

    Holds if this element pertains to a source file.

    from Element
    getACallSite

    Gets the call site of a call from this callable to a callee.

    from Callable
    getACallee

    Gets a callee that may be called from this callable.

    from Callable
    getADeclaredAnnotation

    Gets an annotation that is declared on this element, excluding inherited annotations. The retention policy of the annotation type is not considered.

    from Annotatable
    getAModifier

    Gets a modifier of this element.

    from Modifiable
    getAParamType

    Gets the type of a formal parameter of this callable.

    from Callable
    getAParameter

    Gets a formal parameter of this callable.

    from Callable
    getAPossibleImplementation

    All the methods that could possibly be called when this method is called. For class methods this includes the method itself and all its overriding methods (if any), and for interface methods this includes matching methods defined on or inherited by implementing classes.

    from Method
    getAPrimaryQlClass

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

    from Method
    getAReference

    Gets a call site that references this callable.

    from Method
    getASourceOverriddenMethod

    Gets the source declaration of a method overridden by this method.

    from Method
    getAThrownExceptionType

    Gets an exception type that occurs in the throws clause of this callable.

    from Callable
    getAnAccessedField

    Gets a field accessed in this callable.

    from Callable
    getAnAnnotation

    Gets an annotation that applies to this element, including inherited annotations. The results only include direct annotations; indirect annotations, that is repeated annotations in an (implicit) container annotation, are not included. The retention policy of the annotation type is not considered.

    from Annotatable
    getAnAssociatedAnnotation

    Gets an annotation associated with this element, that is: - An annotation directly present on this element, or - An annotation indirectly present on this element (in the form of a repeated annotation), or - If an annotation of a type is neither directly nor indirectly present the result is an associated inherited annotation (recursively)

    from Annotatable
    getAnException

    Gets an exception that occurs in the throws clause of this callable.

    from Callable
    getAnOverride

    Gets a method (directly or transitively) overridden by this method.

    from Method
    getBody

    Gets the body of this callable, if any.

    from Callable
    getCompilationUnit

    Gets the compilation unit that this element belongs to.

    from Element
    getDeclaringType

    Gets the type in which this member is declared.

    from Member
    getDoc

    Cast this element to a Documentable.

    from Element
    getEnclosingCallable

    Gets the immediately enclosing callable, if this member is declared in an anonymous or local class or interface.

    from Member
    getFile

    Gets the file associated with this element.

    from Top
    getKotlinName

    Gets the Kotlin name of this method, that is either the name of this method, or if JvmName annotation was applied to the declaration, then the original name.

    from Method
    getKotlinParameterDefaultsProxy

    Gets this callable’s Kotlin proxy that supplies default parameter values, if one exists.

    from Callable
    getLocation

    Gets the source location for this element.

    from Top
    getMethodDescriptor

    Gets the bytecode method descriptor, encoding parameter and return types, but not the name of the callable.

    from Callable
    getMetrics

    Cast this callable to a class that provides access to metrics information.

    from Callable
    getName

    Gets the name of this element.

    from Element
    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
    getNumberOfParameters

    Gets the number of formal parameters of this callable.

    from Callable
    getParameter

    Gets the formal parameter at the specified (zero-based) position.

    from Callable
    getParameterKotlinType

    Gets the type of the formal parameter at the specified (zero-based) position.

    from Callable
    getParameterType

    Gets the type of the formal parameter at the specified (zero-based) position.

    from Callable
    getPrimaryQlClasses

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

    from Top
    getQualifiedName

    Gets the qualified name of this member. This is useful for debugging, but for normal use hasQualifiedName is recommended, as it is more efficient.

    from Member
    getReturnKotlinType

    Gets the declared return Kotlin type of this callable (Nothing for constructors).

    from Callable
    getReturnType

    Gets the declared return type of this callable (void for constructors).

    from Callable
    getSignature

    Gets the signature of this callable, where all types in the signature have a fully-qualified name. The parameter types are only separated by a comma (without space). If this callable has no parameters, the callable name is followed by ().

    from Method
    getSourceDeclaration

    Gets the source declaration of this callable.

    from Method
    getStringSignature

    Gets the signature of this callable, including its name and the types of all its parameters, identified by their simple (unqualified) names.

    from Callable
    getTotalNumberOfLines

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

    from Top
    getVaragsParameterIndex

    Gets the index of this callable’s varargs parameter, if any exists.

    from Callable
    hasAnnotation

    Holds if this element has an annotation, including inherited annotations. The retention policy of the annotation type is not considered.

    from Annotatable
    hasAnnotation

    Holds if this element has the specified annotation, including inherited annotations. The retention policy of the annotation type is not considered.

    from Annotatable
    hasChildElement

    Holds if this element is the immediate parent of the specified element e.

    from Element
    hasDeclaredAnnotation

    Holds if this element has a declared annotation, excluding inherited annotations. The retention policy of the annotation type is not considered.

    from Annotatable
    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
    hasModifier

    Holds if this element has modifier m.

    from Modifiable
    hasName

    Holds if this element has the specified name.

    from Element
    hasNoModifier

    Holds if this element has no modifier.

    from Modifiable
    hasNoParameters

    Holds if this callable does not have any formal parameters.

    from Callable
    hasQualifiedName

    Holds if this member has the specified name and is declared in the specified package and type.

    from Member
    hasStringSignature

    Holds if this callable has the specified string signature.

    from Callable
    isAbstract

    Holds if this element has an abstract modifier or is implicitly abstract.

    from Method
    isCompilerGenerated

    Holds if this is an auxiliary program element generated by the compiler.

    from Element
    isCrossinline

    Holds if this element has a crossinline modifier.

    from Modifiable
    isDefault

    Holds if this element has a default modifier.

    from Modifiable
    isFinal

    Holds if this element has a final modifier or is implicitly final.

    from Modifiable
    isIn

    Holds if this element has an in modifier.

    from Modifiable
    isInheritable

    Holds if this method is neither private nor a static interface method nor an initializer method, and hence could be inherited.

    from Method
    isInline

    Holds if this element has an inline modifier.

    from Modifiable
    isInternal

    Holds if this element has an internal modifier.

    from Modifiable
    isLateinit

    Holds if this element has a lateinit modifier.

    from Modifiable
    isLocal

    Holds if this method is a Kotlin local function.

    from Method
    isNative

    Holds if this element has a native modifier.

    from Modifiable
    isNoinline

    Holds if this element has a noinline modifier.

    from Modifiable
    isOut

    Holds if this element has an out modifier.

    from Modifiable
    isOverridable

    Holds if this method can be overridden.

    from Method
    isPackageProtected

    Holds if this member is package protected, that is, neither public nor private nor protected.

    from Member
    isPrivate

    Holds if this element has a private modifier or is implicitly private.

    from Modifiable
    isProtected

    Holds if this element has a protected modifier.

    from Modifiable
    isPublic

    Holds if this element has a public modifier or is implicitly public.

    from Method
    isReified

    Holds if this element has a reified modifier.

    from Modifiable
    isSealedKotlin

    Holds if this element has a sealed modifier.

    from Modifiable
    isSourceDeclaration

    Holds if this callable is the same as its source declaration.

    from Callable
    isStatic

    Holds if this element has a static modifier or is implicitly static.

    from Modifiable
    isStrictfp

    Holds if this element has a strictfp modifier.

    from Method
    isSuspend

    Holds if this element has a suspend modifier.

    from Modifiable
    isSynchronized

    Holds if this element has a synchronized modifier.

    from Modifiable
    isTransient

    Holds if this element has a transient modifier.

    from Modifiable
    isVarargs

    Holds if the last parameter of this callable is a varargs (variable arity) parameter.

    from Callable
    isVirtual

    Holds if this method is neither private nor static, and hence uses dynamic dispatch.

    from Method
    isVolatile

    Holds if this element has a volatile modifier.

    from Modifiable
    overrides

    Holds if this method (directly) overrides the specified callable.

    from Method
    overridesOrInstantiates

    Holds if this method either overrides m, or m is the source declaration of this method (and not equal to it).

    from Method
    paramsString

    Gets a parenthesized string containing all parameter types of this callable, separated by a comma and space. For the parameter types the unqualified string representation is used. If this callable has no parameters, the result is ().

    from Callable
    polyCalls

    Holds if this callable may call the specified callable, taking virtual dispatch into account.

    from Callable
    reads

    Holds if field f may be read within the body of this callable.

    from Callable
    sameParamTypes

    Holds if this method and method m are declared in the same type and have the same parameter types.

    from Method
    suppressesWarningsAbout

    Holds if this or any enclosing Annotatable has a @SuppressWarnings("<category>") annotation attached to it for the specified category.

    from Annotatable
    toString

    Gets a textual representation of this element.

    from Top
    writes

    Holds if field f may be assigned a value within the body of this callable.

    from Callable