David Maas

Results 121 issues of 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]...

Area-Transformation
Concept-OutputFriendliness

* [ ] Ensure no `ClangSharpTypereference` are present anywhere in the entire tree * [ ] Ensure no `VoidTypeReference` are present for fields, parameters, or underlying enum types. (Probably easier...

Area-Verification
Language-C#
RelativelySmall

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...

Area-Translation
Arch-x64
Arch-x86
Concept-OutputFriendliness

`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...

Concept-Correctness
Bug
Area-Translation
Concept-OutputUsability
EdgeCase
RelativelySmall

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...

Concept-CppFeatures
Area-Translation
Concept-OutputFriendliness
EdgeCase
Concept-TemplateSupport

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...

Area-Transformation
Area-OutputGeneration
Concept-OutputUsability

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...

Concept-Correctness
Area-Translation

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...

Concept-Correctness
Concept-ApiClarity

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. * [...

Concept-OutputUsability
Concept-OutputFriendliness

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...

Concept-ApiClarity