ICFGBuildable<'FnCtx, 'GlCtx> Type
The interface for building a function.
Instance members
| Instance member |
Description
|
|
The current activation status of the function builder. The default value is Activated, and it can be initially set to Deactivated when the builder is created but not scheduled yet.
|
Full Usage:
this.Authorize
Modifiers: abstract |
Authorize the function builder to start building the function. This will change the state of the function builder to `InProgress`, meaning that the same function will not be scheduled again, and a single worker will soon start building the function. |
Full Usage:
this.Build
Parameters:
ICFGBuildingStrategy<'FnCtx, 'GlCtx>
Returns: CFGResult
Modifiers: abstract |
Build the function CFG using the given strategy.
|
|
The current state of the function builder.
|
|
Return the current building context.
|
|
Currently pending DelayedBuilderRequest(s). This queue can only be populated when another builder wants to update the status of this builder while it is running. Note that this queue is not thread-safe, and thus, it should be accessed only by the task manager.
|
|
Entry point of the function that is being built.
|
Full Usage:
this.Finalize
Modifiers: abstract |
Finalize the function building process. This will change the state of the function builder to `Finished`, meaning that the function has been built successfully. |
Full Usage:
this.ForceFinish
Modifiers: abstract |
Forcefully finish the function building process because of a cyclic dependency. This will change the state of the function builder to `ForceFinished`. |
Full Usage:
this.HasJumpTable
Returns: bool
Modifiers: abstract |
Return whether the function has a jump table or not.
|
Full Usage:
this.Invalidate
Modifiers: abstract |
Mark the state to be invalid. This means that there has been a fatal error while building the function. |
Full Usage:
this.MakeNew
Parameters:
Agent<TaskManagerCommand<'FnCtx, 'GlCtx>>
Returns: ICFGBuildable<'FnCtx, 'GlCtx>
Modifiers: abstract |
Make a new builder with a new agent by copying the current one.
|
|
The address of the next function if there is any. Otherwise, this is None.
|
Full Usage:
this.ReInitialize
Modifiers: abstract |
Re-initialize the function builder. This will change the state of the function builder to `Initialized`, meaning that the function can be scheduled again. This can only be called during the post-recovery phase. |
Full Usage:
this.Reset
Modifiers: abstract |
Reset the current state in order to rebuild the function from scratch. |
Full Usage:
this.StartVerifying
Modifiers: abstract |
Mark the state to be `Verifying`. This means that the function builder is currently verifying the built function. |
Full Usage:
this.Stop
Modifiers: abstract |
Stop the current building process. This will change the state of the function builder to `Stopped`, meaning that this function can always be scheduled again later. |
|
Convert this builder to a function.
|
B2R2