Documentation ¶
Overview ¶
Package callctx defines a function call Context for static analysis.
A context is a map between local variables of a function and their instances. An element in the context is abstracted as a key-value store using the Key type and the Value type. The primary use for a context is to propagate local variables to other scopes through different forms of function calls using a substitution operation called Switch. A context Switch transforms context from the perspective of a caller to that of a callee.
This package is inspired by the builtin context package but for context-sensitive variable propagation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Context ¶
type Context interface { Get(store.Key) store.Value Put(store.Key, store.Value) // contains filtered or unexported methods }
A Context is map between local variables and their instances. Get and Put are the main functions to access the contents of the map.