Std.PluginPlugin - a loadable self-contained piece of code.
Plugin is a bundle, that contains code, data and meta information.
type t = pluginval of_path : string -> tof_path path creates a plugin of a give path
val path : t -> stringpath plugin is a plugin's path
val name : t -> stringname plugin is a plugin's name
val desc : t -> stringdesc plugin returns plugin description
val bundle : t -> Bap_bundle.Std.bundlebundle plugin returns a plugin's bundle
val load : ?argv:string array -> t -> unit Core_kernel.Or_error.tload plugin load all unsatisfied dependencies of a plugin, and then load the plugin itself. If it is already loaded, then do nothing.
Returns an error if some dependency can't be satisfied, or if there is a name conflict with already loaded or linked compilation unit. Can return error if the underlying loader raised an error, or package is malformed, or if there is some other system error.
val loaded : t -> unit Bap_future.Std.futureloaded event happens when a pass is successfully loaded