David Maas
David Maas
Because namespaces weren't initially supported in Biohazrd, some of the built-in transformations don't handle them properly. For instance, `MoveLooseDeclarationsIntoTypesTransformation` effectively removes them from loose declarations. * [x] `MoveLooseDeclarationsIntoTypesTransformation` * [x]...
* [ ] Ensure no `ClangSharpTypereference` are present anywhere in the entire tree * [ ] Ensure no `VoidTypeReference` are present for fields, parameters, or underlying enum types. (Probably easier...
For our purposes, calling convention attributes are really only relevant on x86. Clang knows this and returns cdecl for everything even if it's marked as stdcall/etc when building for x64...
`BrokenDeclarationExtractor` should be augmented to have some awareness for the things it is removing. For instance, if a parameter is removed it should actually remove the parent function since removing...
This issue effectively covers this TODO: https://github.com/InfectedLibraries/Biohazrd/blob/357faf9a59ed39864325d58c9a2d92315fa3e5a6/Biohazrd/TranslationUnitParser.cs#L527-L531 ---------------- This situation was discovered during the fix for https://github.com/InfectedLibraries/Biohazrd/issues/134 and is now more annoying because of it. Implicitly-instantiated templates cause an error...
Right now it isn't possible to safely remove a vtable entry in a transformation because vtables are emitted as sequential structs. We should keep track of slot numbers and ensure...
Things like the RTTI pointer are stored in the vTable before the entry where the vTable pointer points. Right now we just assume the vTable pointer points to the first...
We could use source generators to automatically generate the vtable stuff for C# overrides of C++ classes to avoid having the C# consumer from worrying about the thisptr/retbuf semantics without...
Building vtables to create C# classes derived from C++ ones is rather tedious and error-prone in Biohazrd. This issue tracks ideas for ways we could improve this situation. * [...
Right now all of the built-in declarations are restricted to being created internally. This prohibits them from being created synthetically. Should we lift this restriction? Currently I've not encountered a...