Common.BaseBase storage of scalar values.
type base_kind = | Var of MopsaLib.varStack variable
*)| Addr of MopsaLib.addrHeap address
*)| String of string * Lang.Ast.c_character_kind * MopsaLib.typString literal, with character kind and type of character
*)Kinds of bases
type base = {base_kind : base_kind;base_valid : bool;base_invalidation_range : MopsaLib.range option;}Bases
val pp_base_kind : Format.formatter -> base_kind -> unitval pp_base : Format.formatter -> base -> unitval mk_base :
?valid:bool ->
?invalidation_range:MopsaLib.range option ->
base_kind ->
baseval mk_var_base :
?valid:bool ->
?invalidation_range:MopsaLib.range option ->
MopsaLib.var ->
baseval mk_addr_base :
?valid:bool ->
?invalidation_range:MopsaLib.range option ->
MopsaLib.addr ->
baseval mk_string_base :
?kind:Lang.Ast.c_character_kind ->
?typ:MopsaLib.typ ->
string ->
baseval base_kind_uniq_name : base_kind -> stringval base_uniq_name : base -> stringval base_size : base -> 'a Mopsa_analyzer.MopsaLib.Flow.flow -> Z.tval base_mode : base -> MopsaLib.modeval addr_opaque_chain : (MopsaLib.addr_kind -> addr_opacity) refval addr_opaque : MopsaLib.addr_kind -> addr_opacityval register_addr_opaque :
((MopsaLib.addr_kind -> addr_opacity) -> MopsaLib.addr_kind -> addr_opacity) ->
unitval is_base_readonly : base -> boolval is_var_base_expr : MopsaLib.expr -> boolval is_addr_base_expr : MopsaLib.expr -> boolval is_base_expr : MopsaLib.expr -> boolval expr_to_base : MopsaLib.expr -> baseval base_to_expr : base -> Mopsa_utils.Core.Location.range -> MopsaLib.exprval eval_base_size :
?route:MopsaLib.route ->
base ->
Mopsa_utils.Core.Location.range ->
('a, 't) MopsaLib.man ->
'a Core.Flow.flow ->
('a, MopsaLib.expr) Mopsa_analyzer.MopsaLib.Cases.casesEvaluate the size of a base in bytes
module Base : sig ... endmodule BaseSet : sig ... endmodule BaseMap : sig ... endval mk_lval :
base ->
MopsaLib.expr ->
MopsaLib.typ ->
Framework.Core.Ast.Var.mode option ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr