Extend IR model and Composer API

Composer API

Extend the composer API and IR to improve flexibility and support more C++ language features, in particular

  • constexpr, [[attributes]], static on functions / methods
  • manually specified function parameter lists
  • default and delete keywords for ctors (and dtors)
  • static class member variables
  • separate declarations and definitions for (static) class member variables
  • Allow defining constructors non-inline
  • Add a signature of .init() to the constructor builder that takes a dictionary of member-initializers
  • Add a class composer method for destructors
  • Also, it should be possible to expose kernels by adding their declaration to the header file, and to generate inline kernel definitions into the header.

IR

  • Extend the IR to support the above concepts
Edited by Frederik Hennig