Synopsis 0.5 - User Manual

Unduplicator

The unduplicator is responsible for cleaning up the mess from merging multiple ASTs. The problem is that each AST has its own copy of any duplicate classes and functions, and many types (e.g.: parameter types, return types, variable types) will be pointing to the wrong copy. The unduplicator walks the whole AST ensuring that each declaration only occurs once, that the types dictionary refers to the one correct declaration, and that every type refers to the correct declaration. It takes special care to handle "Modules" (eg: C++ namespace and IDL modules) by combining them into MetaModule AST nodes. Nested classes declared outside the original class are also taken care of.

There are no options for the Unduplicator, but you will always need it if you are combining multiple ASTs.