package sawja

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type non_virtual_method_call =
  1. | CallStatic of Javalib_pack.JBasics.class_method_signature
  2. | CallSpecial of Javalib_pack.JBasics.class_method_signature
type virtual_method_call =
  1. | CallVirtual of Javalib_pack.JBasics.class_method_signature
  2. | CallInterface of Javalib_pack.JBasics.class_method_signature
type return_kind =
  1. | NormalReturn
  2. | ExceptionalReturn
type pc = int
module Formula : sig ... end
type instrCfg =
  1. | Nop
  2. | AssignVar of A3Bir.var * A3Bir.expr
  3. | AffectField of A3Bir.tvar * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.field_signature * A3Bir.tvar
  4. | AffectStaticField of Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.field_signature * A3Bir.tvar
  5. | ArrayStore of A3Bir.tvar * A3Bir.tvar * A3Bir.tvar
  6. | Assume of Formula.formula * Formula.should_be_verified
  7. | AllocVar of A3Bir.var * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.value_type list * A3Bir.tvar list
  8. | AllocArray of A3Bir.var * Javalib_pack.JBasics.value_type * A3Bir.tvar list
  9. | MayInit of Javalib_pack.JBasics.class_name
  10. | MonitorEnter of A3Bir.tvar
  11. | MonitorExit of A3Bir.tvar
  12. | NonVirtualCall of A3Bir.var * A3Bir.var * non_virtual_method_call * A3Bir.tvar list
  13. | VirtualCall of A3Bir.var * A3Bir.var * A3Bir.tvar * virtual_method_call * A3Bir.tvar list
  14. | UncaughtExceptionAfterMethodCall
  15. | NormalReturnAfterMethodCall
type t = {
  1. params : A3Bir.tvar list;
  2. code : (instrCfg * pc) list array;
  3. start_pc : pc;
  4. normal_return : A3Bir.var;
  5. normal_end_pc : pc;
  6. exceptional_return : A3Bir.var;
  7. exceptional_end_pc : pc;
  8. error_pc : pc;
  9. cfg2Bir : pc Javalib_pack.Ptmap.t;
}
val transform : A3Bir.t -> t
val cfg2dot : string -> Javalib_pack.JBasics.class_method_signature -> t -> unit