diff options
Diffstat (limited to 'src/Common/src/TypeSystem/Common/InstantiatedType.cs')
-rw-r--r-- | src/Common/src/TypeSystem/Common/InstantiatedType.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Common/src/TypeSystem/Common/InstantiatedType.cs b/src/Common/src/TypeSystem/Common/InstantiatedType.cs index c5ae6776e..a777f223f 100644 --- a/src/Common/src/TypeSystem/Common/InstantiatedType.cs +++ b/src/Common/src/TypeSystem/Common/InstantiatedType.cs @@ -79,6 +79,10 @@ namespace Internal.TypeSystem } } + // Type system implementations that support the notion of intrinsic types + // will provide an implementation that adds the flag if necessary. + partial void AddComputedIntrinsicFlag(ref TypeFlags flags); + protected override TypeFlags ComputeTypeFlags(TypeFlags mask) { TypeFlags flags = 0; @@ -104,12 +108,14 @@ namespace Internal.TypeSystem flags |= TypeFlags.HasFinalizer; } - if ((mask & TypeFlags.IsByRefLikeComputed) != 0) + if ((mask & TypeFlags.AttributeCacheComputed) != 0) { - flags |= TypeFlags.IsByRefLikeComputed; + flags |= TypeFlags.AttributeCacheComputed; if (_typeDef.IsByRefLike) flags |= TypeFlags.IsByRefLike; + + AddComputedIntrinsicFlag(ref flags); } return flags; |