File tree Expand file tree Collapse file tree 2 files changed +15
-5
lines changed
sources/ClangSharp.PInvokeGenerator Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -273,7 +273,6 @@ private void VisitEnumConstantDecl(EnumConstantDecl enumConstantDecl)
273
273
274
274
var accessSpecifier = AccessSpecifier . None ;
275
275
var name = GetRemappedCursorName ( enumConstantDecl ) ;
276
- var escapedName = EscapeName ( name ) ;
277
276
var typeName = GetTargetTypeName ( enumConstantDecl , out _ ) ;
278
277
var isAnonymousEnum = false ;
279
278
var parentName = "" ;
@@ -295,10 +294,7 @@ private void VisitEnumConstantDecl(EnumConstantDecl enumConstantDecl)
295
294
parentName = _outputBuilder . Name ;
296
295
}
297
296
298
- if ( Config . StripEnumMemberTypeName )
299
- {
300
- escapedName = PrefixAndStrip ( escapedName , parentName , trimChar : '_' ) ;
301
- }
297
+ var escapedName = EscapeAndStripEnumMemberName ( name , parentName ) ;
302
298
303
299
var kind = isAnonymousEnum ? ValueKind . Primitive : ValueKind . Enumerator ;
304
300
var flags = ValueFlags . Constant ;
Original file line number Diff line number Diff line change @@ -2332,6 +2332,20 @@ private string EscapeAndStripMethodName(string name)
2332
2332
return EscapeName ( name ) ;
2333
2333
}
2334
2334
2335
+ private string EscapeAndStripEnumMemberName ( string name , string enumTypeName )
2336
+ {
2337
+ if ( Config . StripEnumMemberTypeName )
2338
+ {
2339
+ var escapedName = PrefixAndStrip ( name , enumTypeName , trimChar : '_' ) ;
2340
+ if ( escapedName . Length > 0 && char . IsAsciiDigit ( escapedName [ 0 ] ) )
2341
+ {
2342
+ escapedName = '_' + escapedName ;
2343
+ }
2344
+ return escapedName ;
2345
+ }
2346
+ return EscapeName ( name ) ;
2347
+ }
2348
+
2335
2349
internal static string EscapeCharacter ( char value ) => value switch {
2336
2350
'\0 ' => @"\0" ,
2337
2351
'\\ ' => @"\\" ,
You can’t perform that action at this time.
0 commit comments