Module CType_decl.CProcname

val from_decl : ?⁠tenv:IR.Tenv.t -> ?⁠block_return_type:ATDGenerated.Clang_ast_t.qual_type -> ?⁠outer_proc:IR.Procname.t -> ATDGenerated.Clang_ast_t.decl -> IR.Procname.t

Given decl, return its procname. This function should be used for all procedures present in original AST

val from_decl_for_linters : ATDGenerated.Clang_ast_t.decl -> IR.Procname.t

This is used for bug hashing for linters. In ObjC the method names contain the parameter names, thus if people add new parameters, any bug about the method will be considered different which means reporting on unchanged code. So, in the ObjC method case, we create the method name only based on the first part of the name without the parameters

module NoAstDecl : sig ... end

WARNING: functions from this module should not be used if full decl is available in AST