Mir.Variable
type id = variable_id
type t = variable = {
name : string Pos.marked; | (* The position is the variable declaration *) |
alias : string option; | (* Input variable have an alias *) |
id : variable_id; | |
descr : string Pos.marked; | (* Description taken from the variable declaration *) |
attributes : Mast.variable_attribute list; | |
origin : variable option; | (* If the variable is an SSA duplication, refers to the original (declared) variable *) |
cats : cat_variable option; | |
is_table : int option; | |
is_temp : bool; | |
is_it : bool; |
}
val fresh_id : unit -> id
val new_var :
string Pos.marked ->
string option ->
string Pos.marked ->
attributes:Mast.variable_attribute list ->
origin:variable option ->
cats:cat_variable option ->
is_table:int option ->
is_temp:bool ->
is_it:bool ->
variable