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
340340 string ITypeInfoProvider . RewrittenTypeName => Name ;
341341 string ITypeInfoProvider . TypeNamespace => Namespace ;
342342 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+
344357 public bool IsEnumType => Definition ? . IsEnumType ?? BaseType is { Namespace : "System" , Name : "Enum" } ;
345358 IEnumerable < ITypeInfoProvider > ITypeInfoProvider . GenericArgumentInfoProviders => [ ] ;
346359 IEnumerable < IFieldInfoProvider > ITypeInfoProvider . FieldInfoProviders => Fields ;
You can’t perform that action at this time.
0 commit comments