FunctionPointerCallResolver

class FunctionPointerCallResolver(ctx: TranslationContext) : ComponentPass

This Pass is responsible for resolving function pointer calls, i.e., CallExpression nodes that contain a reference/pointer to a function and are being "called". This pass is intentionally split from the CallResolver because it depends on DFG edges. This split allows the CallResolver to be run before any DFG passes, which in turn allow us to also populate DFG passes for inferred functions.

This pass is currently only run for the CXXLanguageFrontend, however, in the future we might extend it to other languages that support some kind of function reference/pointer calling, such as Go.

Constructors

Link copied to clipboard
constructor(ctx: TranslationContext)

Functions

Link copied to clipboard
open override fun accept(component: Component)
Link copied to clipboard
open fun andThen(p0: Consumer<in Component>): Consumer<Component>
Link copied to clipboard
open override fun cleanup()
Link copied to clipboard
fun runsWithCurrentFrontend(usedFrontends: Collection<LanguageFrontend>): Boolean

Properties

Link copied to clipboard
val config: TranslationConfiguration
Link copied to clipboard
override val ctx: TranslationContext
Link copied to clipboard
Link copied to clipboard
val scopeManager: ScopeManager
Link copied to clipboard
val typeManager: TypeManager