David Maas

Results 121 issues of David Maas

C# structs do not support inheritance and by extension do not support `protected`. Right now we emit `protected` as `private`, but usually the generator ends up changing `protected` to `public`...

Concept-OutputFriendliness

These trampolines aren't necessary since those constructors/destructors will be exported and available. However the trampolines also aren't hurting anything in this scenario, so it isn't a huge deal.

Concept-CppFeatures
Area-Transformation
Concept-OutputFriendliness
Concept-InlineExpectation

Pretty niche issue, but it's very frustrating when it happens. (In my case, it happened trying to process an older Windows SDK headers while Clang picked up the newer SDK...

Area-Translation
Concept-OutputFriendliness

[CLong](https://github.com/dotnet/runtime/blob/69f260eff523bc16c8a95c232e4816b3a1764e88/src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/CLong.cs) is a new type being introduced for platform-independent handling of C/C++'s `long`. We should (optionally) support this to make Biohazrd code more portable and allow platform-agnostic reference assemblies to...

Arch-x64
Arch-x86
Concept-OutputFriendliness

When testing Biohazrd with the DirectX API, I decided to split the API surface across various C# assemblies (IE: DXGI, D3D12, etc.) I implemented this by splitting the `TranslatedLibrary` into...

Area-Transformation
Area-OutputGeneration

Occasionally it only makes sense for a particular type reference to be a `TranslatedTypeReference`. However, in order to properly work with type transformations you have to support the extremely general...

Area-Transformation
Concept-ApiClarity

Right now if extensible metadata stores a type reference, it becomes a blind spot for type transformations.

Area-Transformation
Concept-ApiClarity

I don't remember exactly why ref structs are used. I think it was mainly because I didn't want to think about the struct enumerators being boxes but forgot that'd break...

Concept-ApiClarity

IE: ```c #define __LITERALLY_EVERY_HEADER_GUARD_H__ ``` Right now these appear in the macros listing, and when they are evaluated they yield no value and no diagnostics. We should also look into...

Area-Translation
Concept-ApiClarity

Area-Translation
Concept-OutputFriendliness