Module bindgen::ir

source ·
Expand description

The ir module defines bindgen’s intermediate representation.

Parsing C/C++ generates the IR, while code generation outputs Rust code from the IR.

Modules

Fix-point analyses on the IR using the “monotone framework”.
Types and functions related to bindgen annotation comments.
Utilities for manipulating C/C++ comments.
Compound types (unions and structs) in our intermediate representation.
Common context that is passed around during parsing and codegen.
Traits for determining whether we can derive traits for a thing or not.
Generating Graphviz dot files from our IR.
Intermediate representation for C/C++ enumerations.
Intermediate representation for C/C++ functions and methods.
Intermediate representation for integral types.
Bindgen’s core intermediate representation type.
Different variants of an Item in our intermediate representation.
Intermediate representation for the physical layout of some type.
Intermediate representation for modules (AKA C++ namespaces).
Objective C types
Template declaration and instantiation related things.
Traversal of the graph of IR items and types.
Everything related to types in our intermediate representation.
Intermediate representation of variables.