File tree Expand file tree Collapse file tree 3 files changed +30
-4
lines changed Expand file tree Collapse file tree 3 files changed +30
-4
lines changed Original file line number Diff line number Diff line change @@ -58,9 +58,36 @@ private class Rewriter(Compilation compilation) : CSharpSyntaxRewriter
58
58
}
59
59
60
60
// Add None member if it doesn't exist yet
61
- var hasNoneMember = node . Members . Any (
62
- member => member . Identifier . Text == "None"
63
- || ( member . EqualsValue != null && semanticModel . GetConstantValue ( member . EqualsValue . Value ) . Value is 0 ) ) ;
61
+ var hasNoneMember = symbol . Members ( ) . Any ( member =>
62
+ {
63
+ if ( member . Name == "None" )
64
+ {
65
+ return true ;
66
+ }
67
+
68
+ if ( member is not IFieldSymbol fieldSymbol )
69
+ {
70
+ return false ;
71
+ }
72
+
73
+ // ConstantValue is an "object"
74
+ // Directly comparing to 0 doesn't work
75
+ // Casting to int does not either
76
+ var isZero = fieldSymbol . ConstantValue switch
77
+ {
78
+ sbyte n => n == 0 ,
79
+ byte n => n == 0 ,
80
+ short n => n == 0 ,
81
+ ushort n => n == 0 ,
82
+ int n => n == 0 ,
83
+ uint n => n == 0 ,
84
+ long n => n == 0 ,
85
+ ulong n => n == 0 ,
86
+ _ => false
87
+ } ;
88
+
89
+ return isZero ;
90
+ } ) ;
64
91
65
92
if ( ! hasNoneMember )
66
93
{
Original file line number Diff line number Diff line change @@ -13,6 +13,5 @@ namespace Silk.NET.Vulkan;
13
13
[ Flags ]
14
14
public enum AccessFlags3KHR : ulong
15
15
{
16
- None = 0 ,
17
16
Access3NoneKHR = unchecked ( ( ulong ) 0UL ) ,
18
17
}
You can’t perform that action at this time.
0 commit comments