This rather large MR introduces a number of changes to header file collection, C++ type modelling and the lang.cpp
API, and the generator script test suite.
This MR simplifies and clarifies the way information about required header files is modelled and collected by the SFG.
required_headers
properties from AugExpr
and SfgVar
HeaderFile
typeclass to model header filesCppType
and the cpptype
utility to simplify creating C++ type classes and specifying their associated headersDependentExpression
track required headers in the same way as variables; introduce includes()
query to collect header files form all ExprLike
alternativesir.call_tree
nodes to allow dynamic tracking of headersWe clean up and refactor the C++ API mirror in accordance to the above changes.
std_<field type>_ref
factory functions in favor of <>.from_field()
static methodscpptype
utilitylang.cpp.std
The generator script test suite is heavily refactored and extended to become the primary testing driver for pystencils-sfg.
expected
folder in favor of regex-based checks