Class AvailableFunctionsManager<Specifics>

Contains all the logic to manage all available functions, in particular, to support overloaded functions. In each type system, exactly one instance of this class is stored by the FunctionKind.

Type Parameters

Implements

Constructors

Properties

mapNameTypes: Map<string, OverloadedFunctionDetails<Specifics>> = ...

function name => all overloaded functions (with additional information) with this name/key

  • The types could be collected with the TypeGraphListener, but the additional information like inference rules are not available. Therefore this map needs to be maintained here.
  • Main purpose is to support inference and validation for overloaded functions: Since overloaded functions are realized with one function type for each variant, the corresponding rules and logic need to involve multiple types, which makes it more complex and requires to manage them here and not in the single types.
validatorArgumentsCalls: FunctionCallArgumentsValidation<Specifics>

Methods