Member pointers
Creates a real or mock translation unit depending on the type
Searches moduleName for a contract function that creates a mock translation unit cursor, calls it, and returns the value
Parses C/C++ code located in a UDA on codeURL
Parses C/C++ code located in a UDA on testName which is in module moduleName
Defines a contract test by mixing in a new test function.
Create a variable called tu that is either a MockCursor or a real clang one depending on the type T
A way to identify a snippet of C/C++ code for testing.
To be used as a UDA indicating a function that does double duty as: * a contract test * builds a mock to satisfy the same contract
Walks like a clang.Cursor, quacks like a clang.Cursor
To be used as a UDA on contract tests establishing how to create a mock translation unit cursor that behaves _exactly_ the same as the one obtained by libclang. This is enforced at contract test time.
Walks like a clang.Type, quacks like a clang.Type
Calculate if we're in mocking or verifying mode using reflection
Contract tests for libclang. https://martinfowler.com/bliki/ContractTest.html