File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed
Cpp2IL.Core/Model/Contexts Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -340,7 +340,20 @@ public static ITypeInfoProvider GetSndnProviderForType(ApplicationAnalysisContex
340
340
string ITypeInfoProvider . RewrittenTypeName => Name ;
341
341
string ITypeInfoProvider . TypeNamespace => Namespace ;
342
342
public virtual bool IsGenericInstance => false ;
343
- public virtual bool IsValueType => Definition ? . IsValueType ?? BaseType is { Namespace : "System" , Name : "ValueType" } ;
343
+ public virtual bool IsValueType
344
+ {
345
+ get
346
+ {
347
+ if ( Definition is not null )
348
+ return Definition . IsValueType ;
349
+
350
+ if ( BaseType is { Namespace : "System" , Name : "ValueType" } )
351
+ return Namespace is not "System" || Name is not "Enum" ; // Enum is a reference type
352
+
353
+ return IsEnumType ;
354
+ }
355
+ }
356
+
344
357
public bool IsEnumType => Definition ? . IsEnumType ?? BaseType is { Namespace : "System" , Name : "Enum" } ;
345
358
IEnumerable < ITypeInfoProvider > ITypeInfoProvider . GenericArgumentInfoProviders => [ ] ;
346
359
IEnumerable < IFieldInfoProvider > ITypeInfoProvider . FieldInfoProviders => Fields ;
You can’t perform that action at this time.
0 commit comments