Browse Source

Fix references to nested types in generic classes.

pull/1641/head v5.0-preview4
Daniel Grunwald 6 years ago
parent
commit
cdc7a3641f
  1. 13
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/NullableRefTypes.cs
  2. 4
      ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractTypeParameter.cs

13
ICSharpCode.Decompiler.Tests/TestCases/Pretty/NullableRefTypes.cs

@ -83,4 +83,17 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
} }
public event EventHandler Event; public event EventHandler Event;
} }
public class T04_Dictionary<TKey, TValue> where TKey : notnull
{
private struct Entry
{
public TKey key;
public TValue value;
}
private int[]? _buckets;
private Entry[]? _entries;
private IEqualityComparer<TKey>? _comparer;
}
} }

4
ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractTypeParameter.cs

@ -194,11 +194,11 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
} }
bool IType.IsByRefLike => false; bool IType.IsByRefLike => false;
Nullability IType.Nullability => NullabilityConstraint; Nullability IType.Nullability => Nullability.Oblivious;
public IType ChangeNullability(Nullability nullability) public IType ChangeNullability(Nullability nullability)
{ {
if (nullability == NullabilityConstraint) if (nullability == Nullability.Oblivious)
return this; return this;
else else
return new NullabilityAnnotatedTypeParameter(this, nullability); return new NullabilityAnnotatedTypeParameter(this, nullability);

Loading…
Cancel
Save