Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support recursive typedef and constant usage (#60)
Refactor away from iterative IDLNodeProcessor to IDL node classes that resolve when writing out to `IDLMessageDefinition`. This allows for more clear types before/after resolving of constants and typedefs. Hoping this also makes it more clear how we resolve certain fields on end-types. - All AST types dubbed with ASTNode type - added output union type and `aggregatedKind` in anticipation of union type support (not used yet) - update ros2idl to convert to messagedefinitions since the test cases are there - `Idl` -> `IDL` and `Ast` -> `AST` Terms: `ASTNode`'s - the direct output of the grammar parser `parseIDLToAST`. This is unresolved in that primitive types reference other types or constants. These are only to be used internally. `IDLNode`'s - This is a collection of classes that wrap ASTNodes in order to facilitate resolving those types to IDLMessageDefinitions. Uses a map of global scoped identifiers to other IDLNodes to resolve the `ASTNode`s. `IDLMessageDefinition` - The final, resolved, ready-for-serde types. These are exposed via the API. FG-4327
- Loading branch information