Browse Source

Merge branch 'srm' of https://github.com/icsharpcode/ILSpy into srm

pull/1198/head
Siegfried Pammer 7 years ago
parent
commit
7cdf7c2e7a
  1. 5
      ICSharpCode.Decompiler.Tests/TestCases/ILPretty/Issue982.cs
  2. 17
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.cs
  3. 51
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.il
  4. 45
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.opt.il
  5. 45
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.opt.roslyn.il
  6. 53
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.roslyn.il
  7. 2
      ICSharpCode.Decompiler.Tests/TypeSystem/TypeSystemTestCase.cs
  8. 2
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs
  9. 4
      ICSharpCode.Decompiler/CSharp/Resolver/CSharpOperators.cs
  10. 8
      ICSharpCode.Decompiler/CSharp/Resolver/ReducedExtensionMethod.cs
  11. 5
      ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs
  12. 4
      ICSharpCode.Decompiler/Semantics/MemberResolveResult.cs
  13. 2
      ICSharpCode.Decompiler/TypeSystem/ApplyAttributeTypeVisitor.cs
  14. 6
      ICSharpCode.Decompiler/TypeSystem/IEntity.cs
  15. 6
      ICSharpCode.Decompiler/TypeSystem/IField.cs
  16. 2
      ICSharpCode.Decompiler/TypeSystem/Implementation/FakeMember.cs
  17. 5
      ICSharpCode.Decompiler/TypeSystem/Implementation/KnownAttributes.cs
  18. 2
      ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataEvent.cs
  19. 9
      ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataField.cs
  20. 2
      ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataMethod.cs
  21. 5
      ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataProperty.cs
  22. 2
      ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataTypeDefinition.cs
  23. 4
      ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedField.cs
  24. 4
      ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMember.cs
  25. 4
      ICSharpCode.Decompiler/TypeSystem/VarArgInstanceMethod.cs

5
ICSharpCode.Decompiler.Tests/TestCases/ILPretty/Issue982.cs

@ -1,4 +1,6 @@ @@ -1,4 +1,6 @@
namespace ICSharpCode.Decompiler.Tests.TestCases.ILPretty
using System.Runtime.CompilerServices;
namespace ICSharpCode.Decompiler.Tests.TestCases.ILPretty
{
internal class Issue982
{
@ -15,6 +17,7 @@ @@ -15,6 +17,7 @@
}
}
[IndexerName("Text2")]
public string this[int index] {
get {
return textStr2;

17
ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.cs

@ -17,11 +17,28 @@ @@ -17,11 +17,28 @@
// DEALINGS IN THE SOFTWARE.
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
{
internal class MemberTests
{
public class IndexerNonDefaultName
{
[IndexerName("Foo")]
public int this[int index] {
get {
return 0;
}
}
}
[DefaultMember("Bar")]
public class NoDefaultMember
{
}
public const int IntConstant = 1;
public const decimal DecimalConstant = 2m;

51
ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.il

@ -32,6 +32,57 @@ @@ -32,6 +32,57 @@
.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests
extends [mscorlib]System.Object
{
.class auto ansi nested public beforefieldinit IndexerNonDefaultName
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 46 6F 6F 00 00 ) // ...Foo..
.method public hidebysig specialname
instance int32 get_Foo(int32 index) cil managed
{
// Code size 7 (0x7)
.maxstack 1
.locals init (int32 V_0)
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: stloc.0
IL_0003: br.s IL_0005
IL_0005: ldloc.0
IL_0006: ret
} // end of method IndexerNonDefaultName::get_Foo
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method IndexerNonDefaultName::.ctor
.property instance int32 Foo(int32)
{
.get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests/IndexerNonDefaultName::get_Foo(int32)
} // end of property IndexerNonDefaultName::Foo
} // end of class IndexerNonDefaultName
.class auto ansi nested public beforefieldinit NoDefaultMember
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 42 61 72 00 00 ) // ...Bar..
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method NoDefaultMember::.ctor
} // end of class NoDefaultMember
.field public static literal int32 IntConstant = int32(0x00000001)
.field public static initonly valuetype [mscorlib]System.Decimal DecimalConstant
.custom instance void [mscorlib]System.Runtime.CompilerServices.DecimalConstantAttribute::.ctor(uint8,

45
ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.opt.il

@ -32,6 +32,51 @@ @@ -32,6 +32,51 @@
.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests
extends [mscorlib]System.Object
{
.class auto ansi nested public beforefieldinit IndexerNonDefaultName
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 46 6F 6F 00 00 ) // ...Foo..
.method public hidebysig specialname
instance int32 get_Foo(int32 index) cil managed
{
// Code size 2 (0x2)
.maxstack 8
IL_0000: ldc.i4.0
IL_0001: ret
} // end of method IndexerNonDefaultName::get_Foo
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method IndexerNonDefaultName::.ctor
.property instance int32 Foo(int32)
{
.get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests/IndexerNonDefaultName::get_Foo(int32)
} // end of property IndexerNonDefaultName::Foo
} // end of class IndexerNonDefaultName
.class auto ansi nested public beforefieldinit NoDefaultMember
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 42 61 72 00 00 ) // ...Bar..
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method NoDefaultMember::.ctor
} // end of class NoDefaultMember
.field public static literal int32 IntConstant = int32(0x00000001)
.field public static initonly valuetype [mscorlib]System.Decimal DecimalConstant
.custom instance void [mscorlib]System.Runtime.CompilerServices.DecimalConstantAttribute::.ctor(uint8,

45
ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.opt.roslyn.il

@ -36,6 +36,51 @@ @@ -36,6 +36,51 @@
.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests
extends [mscorlib]System.Object
{
.class auto ansi nested public beforefieldinit IndexerNonDefaultName
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 46 6F 6F 00 00 ) // ...Foo..
.method public hidebysig specialname
instance int32 get_Foo(int32 index) cil managed
{
// Code size 2 (0x2)
.maxstack 8
IL_0000: ldc.i4.0
IL_0001: ret
} // end of method IndexerNonDefaultName::get_Foo
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method IndexerNonDefaultName::.ctor
.property instance int32 Foo(int32)
{
.get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests/IndexerNonDefaultName::get_Foo(int32)
} // end of property IndexerNonDefaultName::Foo
} // end of class IndexerNonDefaultName
.class auto ansi nested public beforefieldinit NoDefaultMember
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 42 61 72 00 00 ) // ...Bar..
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method NoDefaultMember::.ctor
} // end of class NoDefaultMember
.field public static literal int32 IntConstant = int32(0x00000001)
.field public static initonly valuetype [mscorlib]System.Decimal DecimalConstant
.custom instance void [mscorlib]System.Runtime.CompilerServices.DecimalConstantAttribute::.ctor(uint8,

53
ICSharpCode.Decompiler.Tests/TestCases/Pretty/MemberTests.roslyn.il

@ -36,6 +36,59 @@ @@ -36,6 +36,59 @@
.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests
extends [mscorlib]System.Object
{
.class auto ansi nested public beforefieldinit IndexerNonDefaultName
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 46 6F 6F 00 00 ) // ...Foo..
.method public hidebysig specialname
instance int32 get_Foo(int32 index) cil managed
{
// Code size 7 (0x7)
.maxstack 1
.locals init (int32 V_0)
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: stloc.0
IL_0003: br.s IL_0005
IL_0005: ldloc.0
IL_0006: ret
} // end of method IndexerNonDefaultName::get_Foo
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method IndexerNonDefaultName::.ctor
.property instance int32 Foo(int32)
{
.get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.MemberTests/IndexerNonDefaultName::get_Foo(int32)
} // end of property IndexerNonDefaultName::Foo
} // end of class IndexerNonDefaultName
.class auto ansi nested public beforefieldinit NoDefaultMember
extends [mscorlib]System.Object
{
.custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 03 42 61 72 00 00 ) // ...Bar..
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method NoDefaultMember::.ctor
} // end of class NoDefaultMember
.field public static literal int32 IntConstant = int32(0x00000001)
.field public static initonly valuetype [mscorlib]System.Decimal DecimalConstant
.custom instance void [mscorlib]System.Runtime.CompilerServices.DecimalConstantAttribute::.ctor(uint8,

2
ICSharpCode.Decompiler.Tests/TypeSystem/TypeSystemTestCase.cs

@ -272,7 +272,7 @@ namespace ICSharpCode.Decompiler.Tests.TypeSystem @@ -272,7 +272,7 @@ namespace ICSharpCode.Decompiler.Tests.TypeSystem
public interface IDerived : IBase1, IBase2
{
int Prop { get; set; }
new int Prop { get; set; }
}
public class ClassWithVirtualProperty

2
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -1067,8 +1067,8 @@ namespace ICSharpCode.Decompiler.CSharp @@ -1067,8 +1067,8 @@ namespace ICSharpCode.Decompiler.CSharp
Debug.Assert(decompilationContext.CurrentMember == property);
var typeSystemAstBuilder = CreateAstBuilder(decompilationContext);
EntityDeclaration propertyDecl = typeSystemAstBuilder.ConvertEntity(property);
int lastDot = property.Name.LastIndexOf('.');
if (property.IsExplicitInterfaceImplementation && !property.IsIndexer) {
int lastDot = property.Name.LastIndexOf('.');
propertyDecl.Name = property.Name.Substring(lastDot + 1);
}
FixParameterNames(propertyDecl);

4
ICSharpCode.Decompiler/CSharp/Resolver/CSharpOperators.cs

@ -170,10 +170,6 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver @@ -170,10 +170,6 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver
get { return false; }
}
bool IEntity.IsShadowing {
get { return false; }
}
bool IMember.IsExplicitInterfaceImplementation {
get { return false; }
}

8
ICSharpCode.Decompiler/CSharp/Resolver/ReducedExtensionMethod.cs

@ -266,13 +266,7 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver @@ -266,13 +266,7 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver
return baseMethod.IsSealed;
}
}
public bool IsShadowing {
get {
return baseMethod.IsShadowing;
}
}
#endregion
#region IHasAccessibility implementation

5
ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs

@ -965,9 +965,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax @@ -965,9 +965,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
} else if (typeDefinition.IsSealed) {
modifiers |= Modifiers.Sealed;
}
if (typeDefinition.IsShadowing) {
modifiers |= Modifiers.New;
}
}
ClassType classType;
@ -1360,8 +1357,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax @@ -1360,8 +1357,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
if (member.IsSealed)
m |= Modifiers.Sealed;
}
if (member.IsShadowing)
m |= Modifiers.New;
}
return m;
}

4
ICSharpCode.Decompiler/Semantics/MemberResolveResult.cs

@ -72,8 +72,8 @@ namespace ICSharpCode.Decompiler.Semantics @@ -72,8 +72,8 @@ namespace ICSharpCode.Decompiler.Semantics
case SymbolKind.Constructor:
return member.DeclaringType ?? SpecialType.UnknownType;
case SymbolKind.Field:
if (((IField)member).IsFixed)
return new PointerType(member.ReturnType);
//if (((IField)member).IsFixed)
// return new PointerType(member.ReturnType);
break;
}
if (member.ReturnType.Kind == TypeKind.ByReference)

2
ICSharpCode.Decompiler/TypeSystem/ApplyAttributeTypeVisitor.cs

@ -89,7 +89,7 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -89,7 +89,7 @@ namespace ICSharpCode.Decompiler.TypeSystem
int dynamicTypeIndex = 0;
int tupleTypeIndex = 0;
public ApplyAttributeTypeVisitor(ICompilation compilation, bool hasDynamicAttribute, bool[] dynamicAttributeData, bool useTupleTypes, string[] tupleElementNames)
private ApplyAttributeTypeVisitor(ICompilation compilation, bool hasDynamicAttribute, bool[] dynamicAttributeData, bool useTupleTypes, string[] tupleElementNames)
{
this.compilation = compilation ?? throw new ArgumentNullException(nameof(compilation));
this.hasDynamicAttribute = hasDynamicAttribute;

6
ICSharpCode.Decompiler/TypeSystem/IEntity.cs

@ -148,11 +148,5 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -148,11 +148,5 @@ namespace ICSharpCode.Decompiler.TypeSystem
/// </summary>
/// <remarks>Static classes also count as sealed classes.</remarks>
bool IsSealed { get; }
/// <summary>
/// Gets whether this member is declared to be shadowing another member with the same name.
/// (C# 'new' keyword)
/// </summary>
bool IsShadowing { get; }
}
}

6
ICSharpCode.Decompiler/TypeSystem/IField.cs

@ -79,11 +79,5 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -79,11 +79,5 @@ namespace ICSharpCode.Decompiler.TypeSystem
/// Gets whether this field is volatile.
/// </summary>
bool IsVolatile { get; }
/// <summary>
/// Gets whether this field is a fixed size buffer (C#-like fixed).
/// If this is true, then ConstantValue contains the size of the buffer.
/// </summary>
bool IsFixed { get; }
}
}

2
ICSharpCode.Decompiler/TypeSystem/Implementation/FakeMember.cs

@ -65,7 +65,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -65,7 +65,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public bool IsStatic { get; set; }
bool IEntity.IsAbstract => false;
bool IEntity.IsSealed => false;
bool IEntity.IsShadowing => false;
public abstract SymbolKind SymbolKind { get; }
@ -107,7 +106,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -107,7 +106,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
bool IField.IsReadOnly => false;
bool IField.IsVolatile => false;
bool IField.IsFixed => false;
bool IVariable.IsConst => false;
object IVariable.ConstantValue => null;

5
ICSharpCode.Decompiler/TypeSystem/Implementation/KnownAttributes.cs

@ -71,6 +71,9 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -71,6 +71,9 @@ namespace ICSharpCode.Decompiler.TypeSystem
PreserveSig,
MethodImpl,
// Property attributes:
IndexerName,
// Parameter attributes:
ParamArray,
In,
@ -121,6 +124,8 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -121,6 +124,8 @@ namespace ICSharpCode.Decompiler.TypeSystem
new TopLevelTypeName("System.Runtime.InteropServices", nameof(DllImportAttribute)),
new TopLevelTypeName("System.Runtime.InteropServices", nameof(PreserveSigAttribute)),
new TopLevelTypeName("System.Runtime.CompilerServices", nameof(MethodImplAttribute)),
// Property attributes:
new TopLevelTypeName("System.Runtime.CompilerServices", nameof(IndexerNameAttribute)),
// Parameter attributes:
new TopLevelTypeName("System", nameof(ParamArrayAttribute)),
new TopLevelTypeName("System.Runtime.InteropServices", nameof(InAttribute)),

2
ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataEvent.cs

@ -130,8 +130,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -130,8 +130,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public bool IsOverride => AnyAccessor?.IsOverride ?? false;
public bool IsOverridable => AnyAccessor?.IsOverridable ?? false;
bool IEntity.IsShadowing => AnyAccessor?.IsShadowing ?? false;
public IAssembly ParentAssembly => assembly;
public ICompilation Compilation => assembly.Compilation;

9
ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataField.cs

@ -97,14 +97,7 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -97,14 +97,7 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public bool IsReadOnly => (attributes & FieldAttributes.InitOnly) != 0;
public bool IsStatic => (attributes & FieldAttributes.Static) != 0;
// not sure if we need IsFixed anywhere...
bool IField.IsFixed => false;
// Do we still want IsShadowing in the TS?
// We never set it for assemblies loaded from disk; only for those parsed from C#...
bool IEntity.IsShadowing => false;
SymbolKind ISymbol.SymbolKind => SymbolKind.Field;
IMember IMember.MemberDefinition => this;
TypeParameterSubstitution IMember.Substitution => TypeParameterSubstitution.Identity;

2
ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataMethod.cs

@ -422,8 +422,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -422,8 +422,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
=> (attributes & (MethodAttributes.Abstract | MethodAttributes.Virtual)) != 0
&& (attributes & MethodAttributes.Final) == 0;
bool IEntity.IsShadowing => false;
public string FullName => $"{DeclaringType?.FullName}.{Name}";
public string ReflectionName => $"{DeclaringType?.ReflectionName}.{Name}";
public string Namespace => DeclaringType?.Namespace ?? string.Empty;

5
ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataProperty.cs

@ -158,6 +158,9 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -158,6 +158,9 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
var b = new AttributeListBuilder(assembly);
var metadata = assembly.metadata;
var propertyDef = metadata.GetPropertyDefinition(propertyHandle);
if (IsIndexer && Name != "Item" && !IsExplicitInterfaceImplementation) {
b.Add(KnownAttribute.IndexerName, KnownTypeCode.String, Name);
}
b.Add(propertyDef.GetCustomAttributes());
return b.Build();
}
@ -219,8 +222,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -219,8 +222,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public bool IsOverride => AnyAccessor?.IsOverride ?? false;
public bool IsOverridable => AnyAccessor?.IsOverridable ?? false;
bool IEntity.IsShadowing => AnyAccessor?.IsShadowing ?? false;
public IAssembly ParentAssembly => assembly;
public ICompilation Compilation => assembly.Compilation;

2
ICSharpCode.Decompiler/TypeSystem/Implementation/MetadataTypeDefinition.cs

@ -405,8 +405,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -405,8 +405,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public bool IsAbstract => (attributes & TypeAttributes.Abstract) != 0;
public bool IsSealed => (attributes & TypeAttributes.Sealed) != 0;
bool IEntity.IsShadowing => false;
public SymbolKind SymbolKind => SymbolKind.TypeDefinition;
public ICompilation Compilation => assembly.Compilation;

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

@ -60,10 +60,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -60,10 +60,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
get { return fieldDefinition.IsConst; }
}
public bool IsFixed {
get { return fieldDefinition.IsFixed; }
}
public object ConstantValue {
get { return fieldDefinition.ConstantValue; }
}

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

@ -183,10 +183,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation @@ -183,10 +183,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
get { return baseMember.IsSealed; }
}
public bool IsShadowing {
get { return baseMember.IsShadowing; }
}
public string FullName {
get { return baseMember.FullName; }
}

4
ICSharpCode.Decompiler/TypeSystem/VarArgInstanceMethod.cs

@ -241,10 +241,6 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -241,10 +241,6 @@ namespace ICSharpCode.Decompiler.TypeSystem
get { return baseMethod.IsSealed; }
}
public bool IsShadowing {
get { return baseMethod.IsShadowing; }
}
#endregion
#region IHasAccessibility implementation

Loading…
Cancel
Save