DFGFunctionSummaries

If the user of the library registers one or multiple DFG-function summary files (via Builder.registerFunctionSummaries), this class is responsible for parsing the files, caching the result and adding the respective DFG summaries to the FunctionDeclaration.

Types

Link copied to clipboard
object Companion
Link copied to clipboard
data class DFGEntry(val from: String, val to: String, val dfgType: String)

Represents a data flow entry.

Link copied to clipboard
data class FunctionDeclarationEntry(val language: String, val methodName: String, val signature: List<String>? = null)

This class is used to identify the FunctionDeclaration of interest for the specified flows.

Properties

Link copied to clipboard

Saves the information on which parameter(s) of a function are modified by the function. This is interesting since we need to add DFG edges between the modified parameter and the respective argument(s). For each ParameterDeclaration as well as the MethodDeclaration.receiver that has some incoming DFG-edge within this FunctionDeclaration, we store all previous DFG nodes.

Functions

Link copied to clipboard

Adds the DFG edges to the functionDeclaration depending on the function summaries which are kept in this object. If no suitable entry was found, this method returns false.

Link copied to clipboard
Link copied to clipboard
fun hasSummary(functionDeclaration: FunctionDeclaration): Boolean