You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.0 KiB

(*
* 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
(** pointers produced by the AST exporter to represent sharing in the AST *)
type t = Clang_ast_t.pointer
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 *)