package pfff

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type module_ = string
type shape =
  1. | LiteralShape
  2. | ArrayShape
  3. | ObjectShape of (int * shape Common.smap * shape list) ref
  4. | FunctionShape of shape Common.smap ref * shape
  5. | RequireShape of module_
  6. | UnknownShape of string
  7. | ClassShape of shape * shape
  8. | NewShape of shape
  9. | MixinShape of shape
  10. | ClassWithMixinShape of shape * shape
  11. | PropertyShape of shape * string
  12. | ApplyShape of shape
  13. | ElementShape of shape

lexical shapes that describe the environment *

val rootclass : shape

constant shape representing the empty class *

val new_object : shape Common.smap -> shape

generates an object shape containing a given property map *

val new_class : unit -> shape

generates a class object shape containing a new prototype object *

val fresh_id : unit -> int

generates a fresh id *

val string_of_shape : int -> shape -> string

Example: string_of_shape indent shape *

type parseinfo = Cst_js.program * Parser_js.token list

parse info for JS files, containing an AST and a token list with comments *

type parseinfo_map = parseinfo Common.smap

map of file names to parse info cached after parsing *

type moduleinfo = {
  1. module_ : module_;
  2. local_requires : module_ list;
  3. local_bindings : shape Common.smap;
}

local info computed per module, containing exports and local shapes *

type moduleinfo_map = moduleinfo Common.smap

map of module names to module info cached after analysis *