Skip to main content

Module emitter

Module emitter 

Source
Expand description

AST walker that emits C++17 headers.

Block-A: Header layout (#pragma once, includes, namespaces). Block-B: Primitive mapping (delegated to crate::type_map). Block-C: struct/enum/union/typedef/sequence/array/inheritance. Block-D: Exception → class X : public std::exception. Block-E: Time/Duration via DDS::Time_t / DDS::Duration_t.

Emission is single-pass: all required standard includes are collected via a pre-walk, then the body is emitted. This keeps the header preamble deterministic (alphabetically sorted).