Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
a4f8d3d
Start of XML output
Perksey Feb 26, 2021
a31cf58
Continuation of XML output
Perksey Feb 28, 2021
52a599b
Add Rider stuff to the .gitignore
Perksey Mar 1, 2021
97d0bc5
Start breaking the ice on COM
Perksey Mar 1, 2021
4d616d9
Finished(?) structs with COM helpers
Perksey Mar 2, 2021
f2f9c60
It builds!
Perksey Mar 6, 2021
b731d68
Change to om
Perksey Mar 6, 2021
6abed31
Fix NRE
Perksey Mar 6, 2021
5839eaa
Initial set of fixes
Perksey Mar 12, 2021
5067c52
C# fixes
Perksey Mar 14, 2021
f02ea2f
XML fixes
Perksey Mar 14, 2021
c68af8d
Internalise
Perksey Mar 14, 2021
45d6fd8
Internalise OutputBuilderFactory
Perksey Mar 14, 2021
1159f39
Fix some tests
Perksey Mar 15, 2021
13a791a
Be more stern with our dividers
Perksey Mar 15, 2021
ae28f46
Continued
Perksey Mar 15, 2021
442e42a
Revert "Continued"
Perksey Mar 15, 2021
a4c191f
Try hacking something together
Perksey Mar 15, 2021
53c2750
Move
Perksey Mar 15, 2021
150d692
Try again
Perksey Mar 15, 2021
4e7a0f0
Boolean logic is failing me
Perksey Mar 15, 2021
6442664
Somewhat hacky fix but it makes sense
Perksey Mar 15, 2021
32ddd9a
ConstantDesc
Perksey Mar 15, 2021
c53ad60
FieldDesc
Perksey Mar 15, 2021
bdb75fb
Flags
Perksey Mar 15, 2021
f11382c
Update FunctionOrDelegateDesc.cs
Perksey Mar 16, 2021
a8f1191
Update FunctionOrDelegateDesc.cs
Perksey Mar 16, 2021
398708e
Update StructDesc.cs
Perksey Mar 16, 2021
a4b16f4
Accessibility enums?
Perksey Mar 16, 2021
3194999
Calling convention enum
Perksey Mar 17, 2021
f44fd1a
Merge remote-tracking branch 'origin/master' into feature/xml
tannergooding Mar 17, 2021
5c874f6
Set vtbl methods as unsafe by default
Perksey Mar 19, 2021
fe47eac
Ensure "unsafe" is inserted for standalone delegates
tannergooding Mar 20, 2021
1c6f0d3
Merge remote-tracking branch 'origin/master' into feature/xml
tannergooding Mar 20, 2021
c13e4ea
Ensure unsafe isn't emitted on the method class due to vtbl helper me…
tannergooding Mar 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,83 +16,83 @@ public bool IsVirtual
{
get => (Flags & FunctionOrDelegateFlags.IsVirtual) != 0;
set => Flags =
value ? Flags | FunctionOrDelegateFlags.IsVirtual : Flags ^ FunctionOrDelegateFlags.IsVirtual;
value ? Flags | FunctionOrDelegateFlags.IsVirtual : Flags & FunctionOrDelegateFlags.IsVirtual;
}

public bool IsDllImport
{
get => (Flags & FunctionOrDelegateFlags.IsDllImport) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.IsDllImport
: Flags ^ FunctionOrDelegateFlags.IsDllImport;
: Flags & FunctionOrDelegateFlags.IsDllImport;
}

public bool HasFnPtrCodeGen
{
get => (Flags & FunctionOrDelegateFlags.HasFnPtrCodeGen) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.HasFnPtrCodeGen
: Flags ^ FunctionOrDelegateFlags.HasFnPtrCodeGen;
: Flags & FunctionOrDelegateFlags.HasFnPtrCodeGen;
}

public bool IsAggressivelyInlined
{
get => (Flags & FunctionOrDelegateFlags.IsAggressivelyInlined) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.IsAggressivelyInlined
: Flags ^ FunctionOrDelegateFlags.IsAggressivelyInlined;
: Flags & FunctionOrDelegateFlags.IsAggressivelyInlined;
}

public bool SetLastError
{
get => (Flags & FunctionOrDelegateFlags.SetLastError) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.SetLastError
: Flags ^ FunctionOrDelegateFlags.SetLastError;
: Flags & FunctionOrDelegateFlags.SetLastError;
}

public bool IsCxx
{
get => (Flags & FunctionOrDelegateFlags.IsCxx) != 0;
set => Flags = value ? Flags | FunctionOrDelegateFlags.IsCxx : Flags ^ FunctionOrDelegateFlags.IsCxx;
set => Flags = value ? Flags | FunctionOrDelegateFlags.IsCxx : Flags & FunctionOrDelegateFlags.IsCxx;
}

public bool NeedsNewKeyword
{
get => (Flags & FunctionOrDelegateFlags.NeedsNewKeyword) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.NeedsNewKeyword
: Flags ^ FunctionOrDelegateFlags.NeedsNewKeyword;
: Flags & FunctionOrDelegateFlags.NeedsNewKeyword;
}

public bool IsUnsafe
{
get => (Flags & FunctionOrDelegateFlags.IsUnsafe) != 0;
set => Flags = value ? Flags | FunctionOrDelegateFlags.IsUnsafe : Flags ^ FunctionOrDelegateFlags.IsUnsafe;
set => Flags = value ? Flags | FunctionOrDelegateFlags.IsUnsafe : Flags & FunctionOrDelegateFlags.IsUnsafe;
}

public bool IsCtxCxxRecord
{
get => (Flags & FunctionOrDelegateFlags.IsCtxCxxRecord) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.IsCtxCxxRecord
: Flags ^ FunctionOrDelegateFlags.IsCtxCxxRecord;
: Flags & FunctionOrDelegateFlags.IsCtxCxxRecord;
}

public bool IsCxxRecordCtxUnsafe
{
get => (Flags & FunctionOrDelegateFlags.IsCxxRecordCtxUnsafe) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.IsCxxRecordCtxUnsafe
: Flags ^ FunctionOrDelegateFlags.IsCxxRecordCtxUnsafe;
: Flags & FunctionOrDelegateFlags.IsCxxRecordCtxUnsafe;
}

public bool IsMemberFunction
{
get => (Flags & FunctionOrDelegateFlags.IsMemberFunction) != 0;
set => Flags = value
? Flags | FunctionOrDelegateFlags.IsMemberFunction
: Flags ^ FunctionOrDelegateFlags.IsMemberFunction;
: Flags & FunctionOrDelegateFlags.IsMemberFunction;
}

public bool? IsStatic
Expand All @@ -102,9 +102,9 @@ public bool? IsStatic
set => Flags = value switch
{
// true - static, false - not static, null - infer
true => Flags | FunctionOrDelegateFlags.IsStatic ^ FunctionOrDelegateFlags.IsNotStatic,
false => Flags ^ FunctionOrDelegateFlags.IsStatic | FunctionOrDelegateFlags.IsNotStatic,
null => Flags ^ FunctionOrDelegateFlags.IsStatic ^ FunctionOrDelegateFlags.IsNotStatic
true => Flags | FunctionOrDelegateFlags.IsStatic & FunctionOrDelegateFlags.IsNotStatic,
false => Flags & FunctionOrDelegateFlags.IsStatic | FunctionOrDelegateFlags.IsNotStatic,
null => Flags & FunctionOrDelegateFlags.IsStatic & FunctionOrDelegateFlags.IsNotStatic
};
}

Expand Down