Module IR.Procname
module CSharp : sig ... end
Type of csharp procedure names.
module Java : sig ... end
Type of java procedure names.
module Parameter : sig ... end
module ObjC_Cpp : sig ... end
module C : sig ... end
module Block : sig ... end
module Erlang : sig ... end
type t
=
|
CSharp of CSharp.t
|
Java of Java.t
|
C of C.t
|
Erlang of Erlang.t
|
Linters_dummy_method
|
Block of Block.t
|
ObjC_Cpp of ObjC_Cpp.t
|
WithBlockParameters of t * Block.t list
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example:
foo(Block block) {block();}
bar() {foo(my_block)}
is executed asfoo_my_block() {my_block(); }
where foo_my_block is created with WithBlockParameters (foo,my_block
)
val block_of_procname : t -> Block.t
val equal : t -> t -> bool
val compare_name : t -> t -> int
Similar to compare, but compares only names, except parameter types and template arguments.
val get_class_type_name : t -> Typ.Name.t option
val get_class_name : t -> string option
val get_parameters : t -> Parameter.t list
val replace_parameters : Parameter.t list -> t -> t
val parameter_of_name : t -> Typ.Name.t -> Parameter.t
val is_java_access_method : t -> bool
val is_java_class_initializer : t -> bool
val is_java_anonymous_inner_class_method : t -> bool
val is_java_autogen_method : t -> bool
val is_objc_method : t -> bool
module Hash : IStdlib.IStd.Caml.Hashtbl.S with type Hash.key = t
Hash tables with proc names as keys.
module LRUHash : IStdlib.LRUHashtbl.S with type key = t
module HashQueue : IStdlib.IStd.Hash_queue.S with type HashQueue.key = t
module Map : IStdlib.PrettyPrintable.PPMap with type PPMap.key = t
Maps from proc names.
module Set : IStdlib.PrettyPrintable.PPSet with type PPSet.elt = t
Sets of proc names.
module SQLite : sig ... end
module SQLiteList : IBase.SqliteUtils.Data with type t = t list
module UnitCache : sig ... end
One-sized cache for one procedure at a time. Returns getter and setter.
val make_java : class_name:Typ.Name.t -> return_type:Typ.t option -> method_name:string -> parameters:Typ.t list -> kind:Java.kind -> unit -> t
Create a Java procedure name.
val make_csharp : class_name:Typ.Name.t -> return_type:Typ.t option -> method_name:string -> parameters:Typ.t list -> kind:CSharp.kind -> unit -> t
Create a CSharp procedure name.
val make_objc_dealloc : Typ.Name.t -> t
Create a Objective-C dealloc name. This is a destructor for an Objective-C class. This procname is given by the class name, since it is always an instance method with the name "dealloc"
val make_objc_copyWithZone : is_mutable:bool -> Typ.Name.t -> t
Create an Objective-C method for copyWithZone: or mutableCopyWithZone: according to is_mutable.
val empty_block : t
Empty block name.
val get_block_type : t -> Block.block_type
val get_language : t -> IBase.Language.t
Return the language of the procedure.
val get_method : t -> string
Return the method/function of a procname.
val is_objc_block : t -> bool
Return whether the procname is a block procname.
val is_cpp_lambda : t -> bool
Return whether the procname is a cpp lambda procname.
val is_objc_dealloc : t -> bool
Return whether the dealloc method of an Objective-C class.
val is_objc_init : t -> bool
Return whether the init method of an Objective-C class.
val is_c_method : t -> bool
Return true this is an Objective-C/C++ method name.
val is_constructor : t -> bool
Check if this is a constructor.
val is_csharp : t -> bool
Check if this is a CSharp procedure name.
val is_java : t -> bool
Check if this is a Java procedure name.
val with_block_parameters : t -> Block.t list -> t
Create a procedure name instantiated with block parameters from a base procedure name and a list of block procedures.
val objc_cpp_replace_method_name : t -> string -> t
val is_infer_undefined : t -> bool
Check if this is a special Infer undefined procedure.
val get_global_name_of_initializer : t -> string option
Return the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.
val pp : Stdlib.Format.formatter -> t -> unit
Pretty print a proc name for the user to see.
val to_string : t -> string
Convert a proc name into a string for the user to see.
val describe : Stdlib.Format.formatter -> t -> unit
to use in user messages
val replace_class : t -> Typ.Name.t -> t
Replace the class name component of a procedure name. In case of Java, replace package and class name.
val is_method_in_objc_protocol : t -> bool
val pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unit
Pretty print a proc name as an easy string for the user to see in an IDE.
val to_simplified_string : ?withclass:bool -> t -> string
Convert a proc name into an easy string for the user to see in an IDE.
val from_string_c_fun : string -> t
Convert a string to a c function name.
val replace_java_inner_class_prefix_regex : string -> string
Replace "$[0-9]+" index into "$_" in Java proc name.
val hashable_name : t -> string
Convert the procedure name in a format suitable for computing the bug hash.
val to_unique_id : t -> string
Convert a proc name into a unique identifier.
val to_filename : t -> string
Convert a proc name to a filename.
val get_qualifiers : t -> QualifiedCppName.t
get qualifiers of C/objc/C++ method/function
module Normalizer : IStdlib.HashNormalizer.S with type t = t