|
|
|
(*
|
|
|
|
* Copyright (c) 2017 - present Facebook, Inc.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* This source code is licensed under the BSD style license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
*)
|
|
|
|
|
|
|
|
open! IStd
|
|
|
|
|
|
|
|
module Map : module type of Map.Make (Int)
|
|
|
|
|
|
|
|
val ivar_to_property_table : Clang_ast_t.decl Int.Table.t
|
|
|
|
(** maps ivar decl pointer to its decl record *)
|
|
|
|
|
|
|
|
val pointer_decl_table : Clang_ast_t.decl Int.Table.t
|
|
|
|
(** maps decl pointer to its decl record *)
|
|
|
|
|
|
|
|
val pointer_stmt_table : Clang_ast_t.stmt Int.Table.t
|
|
|
|
(** maps stmt pointer to its stmt record *)
|
|
|
|
|
|
|
|
val pointer_type_table : Clang_ast_t.c_type Int.Table.t
|
|
|
|
(** map pointer to its type *)
|
|
|
|
|
|
|
|
val populate_all_tables : Clang_ast_t.decl -> unit
|
|
|
|
(** discover what pointers should point to in the tables above; should be run once for the current
|
|
|
|
toplevel decl *)
|