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
5858 }
5959
6060 // 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+ } ) ;
6491
6592 if ( ! hasNoneMember )
6693 {
Original file line number Diff line number Diff line change @@ -13,6 +13,5 @@ namespace Silk.NET.Vulkan;
1313[ Flags ]
1414public enum AccessFlags3KHR : ulong
1515{
16- None = 0 ,
1716 Access3NoneKHR = unchecked ( ( ulong ) 0UL ) ,
1817}
You can’t perform that action at this time.
0 commit comments