Module JavaFrontend.JContext
- type jump_kind- =- |- Next- |- Jump of int- |- Exit
- data structure for representing whether an instruction is a goto, a return or a standard instruction. 
- module NodeTbl : IStdlib.IStd.Caml.Hashtbl.S with type NodeTbl.key = IR.Procdesc.Node.t
- Hastable for storing nodes that correspond to if-instructions. These are used when adding the edges in the contrl flow graph. 
- type icfg- =- {- tenv : IR.Tenv.t;- cfg : IR.Cfg.t;- }
- data structure for saving the three structures tht contain the intermediate representation of a file: the type environment, the control graph and the control flow graph 
- type t- = private- {- icfg : icfg;- procdesc : IR.Procdesc.t;- impl : Sawja_pack.JBir.t;- mutable var_map : (IR.Pvar.t * IR.Typ.t * IR.Typ.t) Sawja_pack.JBir.VarMap.t;- if_jumps : int NodeTbl.t;- goto_jumps : (int, jump_kind) IStdlib.IStd.Caml.Hashtbl.t;- cn : Javalib_pack.JBasics.class_name;- source_file : IBase.SourceFile.t;- program : JProgramDesc.t;- }
- data structure for storing the context elements. 
- val create_context : icfg -> IR.Procdesc.t -> Sawja_pack.JBir.t -> Javalib_pack.JBasics.class_name -> IBase.SourceFile.t -> JProgramDesc.t -> t
- cretes a context for a given method. 
- val add_if_jump : t -> IR.Procdesc.Node.t -> int -> unit
- adds to the context the line that an if-node will jump to 
- val get_if_jump : t -> IR.Procdesc.Node.t -> int option
- returns whether the given node corresponds to an if-instruction 
- val add_goto_jump : t -> int -> jump_kind -> unit
- adds to the context the line that the node in the given line will jump to. 
- val get_goto_jump : t -> int -> jump_kind
- if the given line corresponds to a goto instruction, then returns the line where it jumps to, otherwise returns the next line. 
- val is_goto_jump : t -> int -> bool
- returns whether the given line corresponds to a goto instruction. 
- val set_pvar : t -> Sawja_pack.JBir.var -> IR.Typ.t -> IR.Pvar.t
- set_pvar context var typeadds a variable with a type to the context
- val get_var_type : t -> Sawja_pack.JBir.var -> IR.Typ.t option
- get_var_type context varreturns the type of the variable, if the variable is in the context
- val reset_pvar_type : t -> unit
- resets the dynamic type of the variables in the context. 
- val reset_exn_node_table : unit -> unit
- resets the hashtable mapping methods to their exception nodes 
- val add_exn_node : IR.Procname.t -> IR.Procdesc.Node.t -> unit
- adds the exception node for a given method