diff --git a/ICSharpCode.Decompiler/CSharp/Resolver/CSharpOperators.cs b/ICSharpCode.Decompiler/CSharp/Resolver/CSharpOperators.cs
index b9ae10a9b..304713e9b 100644
--- a/ICSharpCode.Decompiler/CSharp/Resolver/CSharpOperators.cs
+++ b/ICSharpCode.Decompiler/CSharp/Resolver/CSharpOperators.cs
@@ -214,16 +214,6 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver
get { return compilation.MainAssembly; }
}
- ISymbolReference ISymbol.ToReference()
- {
- throw new NotSupportedException();
- }
-
- IMemberReference IMember.ToReference()
- {
- throw new NotSupportedException();
- }
-
TypeParameterSubstitution IMember.Substitution {
get {
return TypeParameterSubstitution.Identity;
diff --git a/ICSharpCode.Decompiler/CSharp/Resolver/ReducedExtensionMethod.cs b/ICSharpCode.Decompiler/CSharp/Resolver/ReducedExtensionMethod.cs
index c5630a782..2c4dc4241 100644
--- a/ICSharpCode.Decompiler/CSharp/Resolver/ReducedExtensionMethod.cs
+++ b/ICSharpCode.Decompiler/CSharp/Resolver/ReducedExtensionMethod.cs
@@ -66,44 +66,6 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver
}
#region IMember implementation
-
- [Serializable]
- public sealed class ReducedExtensionMethodMemberReference : IMemberReference
- {
- readonly IMethod baseMethod;
-
- public ReducedExtensionMethodMemberReference (IMethod baseMethod)
- {
- this.baseMethod = baseMethod;
- }
-
- public IMember Resolve(ITypeResolveContext context)
- {
- return new ReducedExtensionMethod ((IMethod)baseMethod.ToReference ().Resolve (context));
- }
-
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return Resolve(context);
- }
-
- public ITypeReference DeclaringTypeReference {
- get {
- return baseMethod.ToReference ().DeclaringTypeReference;
- }
- }
- }
-
- public IMemberReference ToReference()
- {
- return new ReducedExtensionMethodMemberReference (baseMethod);
- }
-
- ISymbolReference ISymbol.ToReference()
- {
- return ToReference();
- }
-
public IMember MemberDefinition {
get {
return baseMethod.MemberDefinition;
diff --git a/ICSharpCode.Decompiler/CSharp/TypeSystem/ResolvedUsingScope.cs b/ICSharpCode.Decompiler/CSharp/TypeSystem/ResolvedUsingScope.cs
index 707972dfa..0d70e8cc6 100644
--- a/ICSharpCode.Decompiler/CSharp/TypeSystem/ResolvedUsingScope.cs
+++ b/ICSharpCode.Decompiler/CSharp/TypeSystem/ResolvedUsingScope.cs
@@ -201,11 +201,6 @@ namespace ICSharpCode.Decompiler.CSharp.TypeSystem
{
return null;
}
-
- public ISymbolReference ToReference()
- {
- return new MergedNamespaceReference(ExternAlias, ((INamespace)this).FullName);
- }
}
}
}
diff --git a/ICSharpCode.Decompiler/Documentation/IdStringMemberReference.cs b/ICSharpCode.Decompiler/Documentation/IdStringMemberReference.cs
index 4ca902a8f..b1eb9c6c0 100644
--- a/ICSharpCode.Decompiler/Documentation/IdStringMemberReference.cs
+++ b/ICSharpCode.Decompiler/Documentation/IdStringMemberReference.cs
@@ -68,10 +68,5 @@ namespace ICSharpCode.Decompiler.Documentation
}
return null;
}
-
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return Resolve(context);
- }
}
}
diff --git a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
index 995c102b8..1066e146e 100644
--- a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
+++ b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
@@ -489,7 +489,6 @@
-
@@ -505,7 +504,6 @@
-
@@ -534,7 +532,6 @@
-
diff --git a/ICSharpCode.Decompiler/TypeSystem/IField.cs b/ICSharpCode.Decompiler/TypeSystem/IField.cs
index f590c8aa5..f54219a3a 100644
--- a/ICSharpCode.Decompiler/TypeSystem/IField.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/IField.cs
@@ -85,7 +85,5 @@ namespace ICSharpCode.Decompiler.TypeSystem
/// If this is true, then ConstantValue contains the size of the buffer.
///
bool IsFixed { get; }
-
- new IMemberReference ToReference(); // solve ambiguity between IMember.ToReference() and IVariable.ToReference()
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/IMember.cs b/ICSharpCode.Decompiler/TypeSystem/IMember.cs
index 16f06e2f7..ad1e46e51 100644
--- a/ICSharpCode.Decompiler/TypeSystem/IMember.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/IMember.cs
@@ -81,7 +81,7 @@ namespace ICSharpCode.Decompiler.TypeSystem
IMember CreateResolved(ITypeResolveContext context);
}
- public interface IMemberReference : ISymbolReference
+ public interface IMemberReference
{
///
/// Gets the declaring type reference for the member.
@@ -100,7 +100,7 @@ namespace ICSharpCode.Decompiler.TypeSystem
///
/// Returns the resolved member, or null if the member could not be found.
///
- new IMember Resolve(ITypeResolveContext context);
+ IMember Resolve(ITypeResolveContext context);
}
///
@@ -159,15 +159,6 @@ namespace ICSharpCode.Decompiler.TypeSystem
///
bool IsOverridable { get; }
- ///
- /// Creates a member reference that can be used to rediscover this member in another compilation.
- ///
- ///
- /// If this member is specialized using open generic types, the resulting member reference will need to be looked up in an appropriate generic context.
- /// Otherwise, the main resolve context of a compilation is sufficient.
- ///
- new IMemberReference ToReference();
-
///
/// Gets the substitution belonging to this specialized member.
/// Returns TypeParameterSubstitution.Identity for not specialized members.
diff --git a/ICSharpCode.Decompiler/TypeSystem/ISymbol.cs b/ICSharpCode.Decompiler/TypeSystem/ISymbol.cs
index 12a765b85..e13851394 100644
--- a/ICSharpCode.Decompiler/TypeSystem/ISymbol.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/ISymbol.cs
@@ -84,15 +84,5 @@ namespace ICSharpCode.Decompiler.TypeSystem
/// Gets the short name of the symbol.
///
string Name { get; }
-
- ///
- /// Creates a symbol reference that can be used to rediscover this symbol in another compilation.
- ///
- ISymbolReference ToReference();
- }
-
- public interface ISymbolReference
- {
- ISymbol Resolve(ITypeResolveContext context);
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedEntity.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedEntity.cs
index 4a89b2cd6..0a19f0164 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedEntity.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedEntity.cs
@@ -60,8 +60,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public IReadOnlyList Attributes { get; protected set; }
- public abstract ISymbolReference ToReference();
-
public bool IsStatic { get { return unresolved.IsStatic; } }
public bool IsAbstract { get { return unresolved.IsAbstract; } }
public bool IsSealed { get { return unresolved.IsSealed; } }
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedMember.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedMember.cs
index 73d38c0b3..d930a6ec9 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedMember.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedMember.cs
@@ -113,22 +113,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public abstract IMember Specialize(TypeParameterSubstitution substitution);
- IMemberReference IMember.ToReference()
- {
- return (IMemberReference)ToReference();
- }
-
- public override ISymbolReference ToReference()
- {
- var declType = this.DeclaringType;
- var declTypeRef = declType != null ? declType.ToTypeReference() : SpecialType.UnknownType;
- if (IsExplicitInterfaceImplementation && ImplementedInterfaceMembers.Count == 1) {
- return new ExplicitInterfaceImplementationMemberReference(declTypeRef, ImplementedInterfaceMembers[0].ToReference());
- } else {
- return new DefaultMemberReference(this.SymbolKind, declTypeRef, this.Name);
- }
- }
-
internal IMethod GetAccessor(ref IMethod accessorField, IUnresolvedMethod unresolvedAccessor)
{
if (unresolvedAccessor == null)
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedTypeParameter.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedTypeParameter.cs
index 63db9706c..dcf47f9ea 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedTypeParameter.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractResolvedTypeParameter.cs
@@ -364,41 +364,10 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
{
return this == other; // use reference equality for type parameters
}
-
- public virtual ISymbolReference ToReference()
- {
- if (owner == null)
- return TypeParameterReference.Create(ownerType, index);
- return new OwnedTypeParameterReference(owner.ToReference(), index);
- }
public override string ToString()
{
return this.ReflectionName + " (owner=" + owner + ")";
}
}
-
- public sealed class OwnedTypeParameterReference : ISymbolReference
- {
- ISymbolReference owner;
- int index;
-
- public OwnedTypeParameterReference(ISymbolReference owner, int index)
- {
- if (owner == null)
- throw new ArgumentNullException("owner");
- this.owner = owner;
- this.index = index;
- }
-
- public ISymbol Resolve(ITypeResolveContext context)
- {
- var entity = owner.Resolve(context) as IEntity;
- if (entity is ITypeDefinition)
- return ((ITypeDefinition)entity).TypeParameters[index];
- if (entity is IMethod)
- return ((IMethod)entity).TypeParameters[index];
- return null;
- }
- }
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractUnresolvedMember.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractUnresolvedMember.cs
index 955295a34..a99cde01a 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractUnresolvedMember.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/AbstractUnresolvedMember.cs
@@ -152,11 +152,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
return Resolve(ExtendContextForType(context, this.DeclaringTypeDefinition), this.SymbolKind, this.Name, interfaceTypeReference);
}
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return ((IUnresolvedMember)this).Resolve(context);
- }
-
protected static ITypeResolveContext ExtendContextForType(ITypeResolveContext assemblyContext, IUnresolvedTypeDefinition typeDef)
{
if (typeDef == null)
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/AccessorOwnerMemberReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/AccessorOwnerMemberReference.cs
index bd126a3cc..efd95d849 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/AccessorOwnerMemberReference.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/AccessorOwnerMemberReference.cs
@@ -47,10 +47,5 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
else
return null;
}
-
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return ((IMemberReference)this).Resolve(context);
- }
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultMemberReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultMemberReference.cs
index 49f277bd3..1da5bd448 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultMemberReference.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultMemberReference.cs
@@ -99,11 +99,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
return null;
}
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return ((IMemberReference)this).Resolve(context);
- }
-
int ISupportsInterning.GetHashCodeForInterning()
{
return (int)symbolKind ^ typeReference.GetHashCode() ^ name.GetHashCode() ^ parameterTypes.GetHashCode();
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultParameter.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultParameter.cs
index 1ef38d722..8580c9d2d 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultParameter.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultParameter.cs
@@ -133,63 +133,5 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
}
return b.ToString();
}
-
- public ISymbolReference ToReference()
- {
- if (owner == null)
- return new ParameterReference(type.ToTypeReference(), name, isRef, isOut, isParams, isOptional, defaultValue);
- return new OwnedParameterReference(owner.ToReference(), owner.Parameters.IndexOf(this));
- }
- }
-
- sealed class OwnedParameterReference : ISymbolReference
- {
- readonly IMemberReference memberReference;
- readonly int index;
-
- public OwnedParameterReference(IMemberReference member, int index)
- {
- if (member == null)
- throw new ArgumentNullException("member");
- this.memberReference = member;
- this.index = index;
- }
-
- public ISymbol Resolve(ITypeResolveContext context)
- {
- IParameterizedMember member = memberReference.Resolve(context) as IParameterizedMember;
- if (member != null && index >= 0 && index < member.Parameters.Count)
- return member.Parameters[index];
- else
- return null;
- }
- }
-
- public sealed class ParameterReference : ISymbolReference
- {
- readonly ITypeReference type;
- readonly string name;
- readonly bool isRef, isOut, isParams, isOptional;
- readonly object defaultValue;
-
- public ParameterReference(ITypeReference type, string name, bool isRef, bool isOut, bool isParams, bool isOptional, object defaultValue)
- {
- if (type == null)
- throw new ArgumentNullException("type");
- if (name == null)
- throw new ArgumentNullException("name");
- this.type = type;
- this.name = name;
- this.isRef = isRef;
- this.isOut = isOut;
- this.isParams = isParams;
- this.isOptional = isOptional;
- this.defaultValue = defaultValue;
- }
-
- public ISymbol Resolve(ITypeResolveContext context)
- {
- return new DefaultParameter(type.Resolve(context), name, isRef: isRef, isOut: isOut, isParams: isParams, isOptional: isOptional, defaultValue: defaultValue);
- }
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedField.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedField.cs
index 3bc84af40..f0f8cba79 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedField.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedField.cs
@@ -81,10 +81,5 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
substitution = new TypeParameterSubstitution(substitution.ClassTypeArguments, EmptyList.Instance);
return new SpecializedField(this, substitution);
}
-
- IMemberReference IField.ToReference()
- {
- return (IMemberReference)ToReference();
- }
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedMethod.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedMethod.cs
index 40e6764fe..130356be8 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedMethod.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedMethod.cs
@@ -228,19 +228,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
}
}
- public override ISymbolReference ToReference()
- {
- var declType = this.DeclaringType;
- var declTypeRef = declType != null ? declType.ToTypeReference() : SpecialType.UnknownType;
- if (IsExplicitInterfaceImplementation && ImplementedInterfaceMembers.Count == 1) {
- return new ExplicitInterfaceImplementationMemberReference(declTypeRef, ImplementedInterfaceMembers[0].ToReference());
- } else {
- return new DefaultMemberReference(
- this.SymbolKind, declTypeRef, this.Name, this.TypeParameters.Count,
- this.Parameters.Select(p => p.Type.ToTypeReference()).ToList());
- }
- }
-
public override IMember Specialize(TypeParameterSubstitution substitution)
{
if (TypeParameterSubstitution.Identity.Equals(substitution))
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedProperty.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedProperty.cs
index 115753dfa..5afaf4e3a 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedProperty.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedProperty.cs
@@ -84,19 +84,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
get { return unresolved.IsIndexer; }
}
- public override ISymbolReference ToReference()
- {
- var declType = this.DeclaringType;
- var declTypeRef = declType != null ? declType.ToTypeReference() : SpecialType.UnknownType;
- if (IsExplicitInterfaceImplementation && ImplementedInterfaceMembers.Count == 1) {
- return new ExplicitInterfaceImplementationMemberReference(declTypeRef, ImplementedInterfaceMembers[0].ToReference());
- } else {
- return new DefaultMemberReference(
- this.SymbolKind, declTypeRef, this.Name, 0,
- this.Parameters.Select(p => p.Type.ToTypeReference()).ToList());
- }
- }
-
public override IMember Specialize(TypeParameterSubstitution substitution)
{
if (TypeParameterSubstitution.Identity.Equals(substitution)
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedTypeDefinition.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedTypeDefinition.cs
index 393ad32e5..bfa34941b 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedTypeDefinition.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultResolvedTypeDefinition.cs
@@ -633,11 +633,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
}
}
- ISymbolReference ISymbol.ToReference()
- {
- return (ISymbolReference)ToTypeReference();
- }
-
public IEnumerable GetNestedTypes(Predicate filter = null, GetMemberOptions options = GetMemberOptions.None)
{
const GetMemberOptions opt = GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions;
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedAssembly.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedAssembly.cs
index 764e7771a..422bf8425 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedAssembly.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedAssembly.cs
@@ -567,68 +567,7 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
else
return null;
}
-
- public ISymbolReference ToReference()
- {
- return new NamespaceReference(new DefaultAssemblyReference(assembly.AssemblyName), ns.FullName);
- }
- }
- }
- }
-
- public sealed class NamespaceReference : ISymbolReference
- {
- IAssemblyReference assemblyReference;
- string fullName;
-
- public NamespaceReference(IAssemblyReference assemblyReference, string fullName)
- {
- if (assemblyReference == null)
- throw new ArgumentNullException("assemblyReference");
- this.assemblyReference = assemblyReference;
- this.fullName = fullName;
- }
-
- public ISymbol Resolve(ITypeResolveContext context)
- {
- IAssembly assembly = assemblyReference.Resolve(context);
- INamespace parent = assembly.RootNamespace;
-
- string[] parts = fullName.Split('.');
-
- int i = 0;
- while (i < parts.Length && parent != null) {
- parent = parent.GetChildNamespace(parts[i]);
- i++;
- }
-
- return parent;
- }
- }
-
- public sealed class MergedNamespaceReference : ISymbolReference
- {
- string externAlias;
- string fullName;
-
- public MergedNamespaceReference(string externAlias, string fullName)
- {
- this.externAlias = externAlias;
- this.fullName = fullName;
- }
-
- public ISymbol Resolve(ITypeResolveContext context)
- {
- string[] parts = fullName.Split('.');
- INamespace parent = context.Compilation.GetNamespaceForExternAlias(externAlias);
-
- int i = 0;
- while (i < parts.Length && parent != null) {
- parent = parent.GetChildNamespace(parts[i]);
- i++;
}
-
- return parent;
}
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedParameter.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedParameter.cs
index ad8b8bb9c..4b7077759 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedParameter.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultUnresolvedParameter.cs
@@ -252,13 +252,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
{
return DefaultParameter.ToString(this);
}
-
- public ISymbolReference ToReference()
- {
- if (Owner == null)
- return new ParameterReference(Type.ToTypeReference(), Name, IsRef, IsOut, IsParams, true, ConstantValue);
- return new OwnedParameterReference(Owner.ToReference(), Owner.Parameters.IndexOf(this));
- }
}
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultVariable.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultVariable.cs
index 01399bbe6..e92327673 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultVariable.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DefaultVariable.cs
@@ -67,35 +67,5 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
public SymbolKind SymbolKind {
get { return SymbolKind.Variable; }
}
-
- public ISymbolReference ToReference()
- {
- return new VariableReference(type.ToTypeReference(), name, isConst, constantValue);
- }
- }
-
- public sealed class VariableReference : ISymbolReference
- {
- ITypeReference variableTypeReference;
- string name;
- bool isConst;
- object constantValue;
-
- public VariableReference(ITypeReference variableTypeReference, string name, bool isConst, object constantValue)
- {
- if (variableTypeReference == null)
- throw new ArgumentNullException("variableTypeReference");
- if (name == null)
- throw new ArgumentNullException("name");
- this.variableTypeReference = variableTypeReference;
- this.name = name;
- this.isConst = isConst;
- this.constantValue = constantValue;
- }
-
- public ISymbol Resolve(ITypeResolveContext context)
- {
- return new DefaultVariable(variableTypeReference.Resolve(context), name, isConst, constantValue);
- }
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/DummyTypeParameter.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/DummyTypeParameter.cs
index 94928c156..0b838a03a 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/DummyTypeParameter.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/DummyTypeParameter.cs
@@ -237,10 +237,5 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
bool ITypeParameter.HasValueTypeConstraint {
get { return false; }
}
-
- public ISymbolReference ToReference()
- {
- return new TypeParameterReference(ownerType, index);
- }
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/ExplicitInterfaceImplementationMemberReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/ExplicitInterfaceImplementationMemberReference.cs
deleted file mode 100644
index d33173730..000000000
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/ExplicitInterfaceImplementationMemberReference.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (c) 2010-2013 AlphaSierraPapa for the SharpDevelop Team
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy of this
-// software and associated documentation files (the "Software"), to deal in the Software
-// without restriction, including without limitation the rights to use, copy, modify, merge,
-// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
-// to whom the Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all copies or
-// substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
-// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace ICSharpCode.Decompiler.TypeSystem.Implementation
-{
- ///
- /// References a member that is an explicit interface implementation.
- ///
- ///
- /// Resolving an ExplicitInterfaceImplementationMemberReference requires a context
- /// that provides enough information for resolving the declaring type reference
- /// and the interface member reference.
- /// Note that the interface member reference is resolved in 'context.WithCurrentTypeDefinition(declaringType.GetDefinition())'
- /// - this is done to ensure that open generics in the interface member reference resolve to the type parameters of the
- /// declaring type.
- ///
- [Serializable]
- public sealed class ExplicitInterfaceImplementationMemberReference : IMemberReference
- {
- ITypeReference typeReference;
- IMemberReference interfaceMemberReference;
-
- public ExplicitInterfaceImplementationMemberReference(ITypeReference typeReference, IMemberReference interfaceMemberReference)
- {
- if (typeReference == null)
- throw new ArgumentNullException("typeReference");
- if (interfaceMemberReference == null)
- throw new ArgumentNullException("interfaceMemberReference");
- this.typeReference = typeReference;
- this.interfaceMemberReference = interfaceMemberReference;
- }
-
- public ITypeReference DeclaringTypeReference {
- get { return typeReference; }
- }
-
- public IMember Resolve(ITypeResolveContext context)
- {
- IType declaringType = typeReference.Resolve(context);
- IMember interfaceMember = interfaceMemberReference.Resolve(context.WithCurrentTypeDefinition(declaringType.GetDefinition()));
- if (interfaceMember == null)
- return null;
- IEnumerable members;
- if (interfaceMember.SymbolKind == SymbolKind.Accessor) {
- members = declaringType.GetAccessors(
- m => m.IsExplicitInterfaceImplementation,
- GetMemberOptions.IgnoreInheritedMembers);
- } else {
- members = declaringType.GetMembers(
- m => m.SymbolKind == interfaceMember.SymbolKind && m.IsExplicitInterfaceImplementation,
- GetMemberOptions.IgnoreInheritedMembers);
- }
- return members.FirstOrDefault(m => m.ImplementedInterfaceMembers.Count == 1 && interfaceMember.Equals(m.ImplementedInterfaceMembers[0]));
- }
-
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return Resolve(context);
- }
- }
-}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/GetClassTypeReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/GetClassTypeReference.cs
index 42265828c..c934e2ff9 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/GetClassTypeReference.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/GetClassTypeReference.cs
@@ -24,7 +24,7 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
/// Type Reference used when the fully qualified type name is known.
///
[Serializable]
- public sealed class GetClassTypeReference : ITypeReference, ISymbolReference, ISupportsInterning
+ public sealed class GetClassTypeReference : ITypeReference, ISupportsInterning
{
readonly IAssemblyReference assembly;
readonly FullTypeName fullTypeName;
@@ -124,14 +124,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
return type ?? new UnknownType(fullTypeName, isReferenceType);
}
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- var type = Resolve(context);
- if (type is ITypeDefinition)
- return (ISymbol)type;
- return null;
- }
-
public override string ToString()
{
return fullTypeName.ToString() + (assembly != null ? ", " + assembly.ToString() : null);
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/MergedNamespace.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/MergedNamespace.cs
index 07bb87ff5..c98f7285a 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/MergedNamespace.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/MergedNamespace.cs
@@ -155,10 +155,5 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
return string.Format(CultureInfo.InvariantCulture, "[MergedNamespace {0}{1} (from {2} assemblies)]",
externAlias != null ? externAlias + "::" : null, this.FullName, this.namespaces.Length);
}
-
- public ISymbolReference ToReference()
- {
- return new MergedNamespaceReference(externAlias, FullName);
- }
}
}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/NestedTypeReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/NestedTypeReference.cs
index 3cfd69a43..a1646e1fd 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/NestedTypeReference.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/NestedTypeReference.cs
@@ -24,7 +24,7 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
/// Type reference used to reference nested types.
///
[Serializable]
- public sealed class NestedTypeReference : ITypeReference, ISymbolReference, ISupportsInterning
+ public sealed class NestedTypeReference : ITypeReference, ISupportsInterning
{
readonly ITypeReference declaringTypeRef;
readonly string name;
@@ -78,14 +78,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
return new UnknownType(null, name, additionalTypeParameterCount);
}
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- var type = Resolve(context);
- if (type is ITypeDefinition)
- return (ISymbol)type;
- return null;
- }
-
public override string ToString()
{
if (additionalTypeParameterCount == 0)
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMember.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMember.cs
index b232e225d..86ed53812 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMember.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMember.cs
@@ -58,27 +58,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
this.substitution = TypeParameterSubstitution.Compose(newSubstitution, this.substitution);
}
- public virtual IMemberReference ToReference()
- {
- return new SpecializingMemberReference(
- baseMember.ToReference(),
- ToTypeReference(substitution.ClassTypeArguments),
- null);
- }
-
- ISymbolReference ISymbol.ToReference()
- {
- return ToReference();
- }
-
- internal static IList ToTypeReference(IReadOnlyList typeArguments)
- {
- if (typeArguments == null)
- return null;
- else
- return typeArguments.Select(t => t.ToTypeReference()).ToArray();
- }
-
internal IMethod WrapAccessor(ref IMethod cachingField, IMethod accessorDefinition)
{
if (accessorDefinition == null)
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMethod.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMethod.cs
index 7e883cfab..fda5f6983 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMethod.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializedMethod.cs
@@ -147,29 +147,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
accessorOwner = value;
}
}
-
- public override IMemberReference ToReference()
- {
- // Pass the MethodTypeArguments to the SpecializingMemberReference only if
- // the generic method itself is parameterized, not if the generic method is only
- // specialized with class type arguments.
-
- // This is necessary due to this part of the ToReference() contract:
- // If this member is specialized using open generic types, the resulting member reference will need to be looked up in an appropriate generic context.
- // Otherwise, the main resolve context of a compilation is sufficient.
- // ->
- // This means that if the method itself isn't specialized,
- // we must not include TypeParameterReferences for the specialized type parameters
- // in the resulting member reference.
- if (isParameterized) {
- return new SpecializingMemberReference(
- baseMember.ToReference(),
- ToTypeReference(base.Substitution.ClassTypeArguments),
- ToTypeReference(base.Substitution.MethodTypeArguments));
- } else {
- return base.ToReference();
- }
- }
public override bool Equals(object obj)
{
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializingMemberReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializingMemberReference.cs
deleted file mode 100644
index 46c846632..000000000
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/SpecializingMemberReference.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (c) 2010-2013 AlphaSierraPapa for the SharpDevelop Team
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy of this
-// software and associated documentation files (the "Software"), to deal in the Software
-// without restriction, including without limitation the rights to use, copy, modify, merge,
-// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
-// to whom the Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all copies or
-// substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
-// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-
-namespace ICSharpCode.Decompiler.TypeSystem.Implementation
-{
- [Serializable]
- public sealed class SpecializingMemberReference : IMemberReference
- {
- IMemberReference memberDefinitionReference;
- IList classTypeArgumentReferences;
- IList methodTypeArgumentReferences;
-
- public SpecializingMemberReference(IMemberReference memberDefinitionReference, IList classTypeArgumentReferences = null, IList methodTypeArgumentReferences = null)
- {
- if (memberDefinitionReference == null)
- throw new ArgumentNullException("memberDefinitionReference");
- this.memberDefinitionReference = memberDefinitionReference;
- this.classTypeArgumentReferences = classTypeArgumentReferences;
- this.methodTypeArgumentReferences = methodTypeArgumentReferences;
- }
-
- public IMember Resolve(ITypeResolveContext context)
- {
- var memberDefinition = memberDefinitionReference.Resolve(context);
- if (memberDefinition == null)
- return null;
- return memberDefinition.Specialize(
- new TypeParameterSubstitution(
- classTypeArgumentReferences != null ? classTypeArgumentReferences.Resolve(context) : null,
- methodTypeArgumentReferences != null ? methodTypeArgumentReferences.Resolve(context) : null
- )
- );
- }
-
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return Resolve(context);
- }
-
- public ITypeReference DeclaringTypeReference {
- get {
- if (classTypeArgumentReferences != null)
- return new ParameterizedTypeReference(memberDefinitionReference.DeclaringTypeReference, classTypeArgumentReferences);
- else
- return memberDefinitionReference.DeclaringTypeReference;
- }
- }
- }
-}
diff --git a/ICSharpCode.Decompiler/TypeSystem/Implementation/TypeParameterReference.cs b/ICSharpCode.Decompiler/TypeSystem/Implementation/TypeParameterReference.cs
index 712d536bc..f328d3615 100644
--- a/ICSharpCode.Decompiler/TypeSystem/Implementation/TypeParameterReference.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/Implementation/TypeParameterReference.cs
@@ -23,7 +23,7 @@ using ICSharpCode.Decompiler.Util;
namespace ICSharpCode.Decompiler.TypeSystem.Implementation
{
[Serializable]
- public sealed class TypeParameterReference : ITypeReference, ISymbolReference
+ public sealed class TypeParameterReference : ITypeReference
{
static readonly TypeParameterReference[] classTypeParameterReferences = new TypeParameterReference[8];
static readonly TypeParameterReference[] methodTypeParameterReferences = new TypeParameterReference[8];
@@ -80,11 +80,6 @@ namespace ICSharpCode.Decompiler.TypeSystem.Implementation
}
}
- ISymbol ISymbolReference.Resolve(ITypeResolveContext context)
- {
- return Resolve(context) as ISymbol;
- }
-
public override string ToString()
{
if (ownerType == SymbolKind.Method)
diff --git a/ICSharpCode.Decompiler/TypeSystem/ProjectReference.cs b/ICSharpCode.Decompiler/TypeSystem/ProjectReference.cs
deleted file mode 100644
index a74670df1..000000000
--- a/ICSharpCode.Decompiler/TypeSystem/ProjectReference.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright (c) 2010-2013 AlphaSierraPapa for the SharpDevelop Team
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy of this
-// software and associated documentation files (the "Software"), to deal in the Software
-// without restriction, including without limitation the rights to use, copy, modify, merge,
-// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
-// to whom the Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all copies or
-// substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
-// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-
-using System;
-
-namespace ICSharpCode.Decompiler.TypeSystem
-{
- ///
- /// References another project content in the same solution.
- /// Using the class requires that you
- ///
- [Serializable]
- public class ProjectReference : IAssemblyReference
- {
- readonly string projectFileName;
-
- ///
- /// Creates a new reference to the specified project (must be part of the same solution).
- ///
- /// Full path to the file name. Must be identical to of the target project; do not use a relative path.
- public ProjectReference(string projectFileName)
- {
- this.projectFileName = projectFileName;
- }
-
- public IAssembly Resolve(ITypeResolveContext context)
- {
- var solution = context.Compilation.SolutionSnapshot;
- var pc = solution.GetProjectContent(projectFileName);
- if (pc != null)
- return pc.Resolve(context);
- else
- return null;
- }
-
- public override string ToString()
- {
- return string.Format("[ProjectReference {0}]", projectFileName);
- }
- }
-}
diff --git a/ICSharpCode.Decompiler/TypeSystem/TypeSystemExtensions.cs b/ICSharpCode.Decompiler/TypeSystem/TypeSystemExtensions.cs
index 1ef80ee96..13506eb9a 100644
--- a/ICSharpCode.Decompiler/TypeSystem/TypeSystemExtensions.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/TypeSystemExtensions.cs
@@ -208,69 +208,6 @@ namespace ICSharpCode.Decompiler.TypeSystem
#endregion
#region Import
- ///
- /// Imports a symbol from another compilation.
- ///
- public static ISymbol Import(this ICompilation compilation, ISymbol symbol)
- {
- if (compilation == null)
- throw new ArgumentNullException("compilation");
- if (symbol == null)
- return null;
- switch (symbol.SymbolKind) {
- case SymbolKind.TypeParameter:
- return (ITypeParameter)Import(compilation, (IType)symbol);
- case SymbolKind.Variable:
- IVariable v = (IVariable)symbol;
- return new DefaultVariable(
- Import(compilation, v.Type),
- v.Name, v.IsConst, v.ConstantValue
- );
- case SymbolKind.Parameter:
- IParameter p = (IParameter)symbol;
- if (p.Owner != null) {
- int index = p.Owner.Parameters.IndexOf(p);
- var owner = (IParameterizedMember)Import(compilation, p.Owner);
- if (owner == null || index < 0 || index >= owner.Parameters.Count)
- return null;
- return owner.Parameters[index];
- } else {
- return new DefaultParameter(
- Import(compilation, p.Type),
- p.Name, null,
- null, p.IsRef, p.IsOut, p.IsParams
- );
- }
- case SymbolKind.Namespace:
- return Import(compilation, (INamespace)symbol);
- default:
- if (symbol is IEntity)
- return Import(compilation, (IEntity)symbol);
- throw new NotSupportedException("Unsupported symbol kind: " + symbol.SymbolKind);
- }
- }
-
- ///
- /// Imports a type from another compilation.
- ///
- public static IType Import(this ICompilation compilation, IType type)
- {
- if (compilation == null)
- throw new ArgumentNullException("compilation");
- if (type == null)
- return null;
- var compilationProvider = type as ICompilationProvider;
- if (compilationProvider != null && compilationProvider.Compilation == compilation)
- return type;
- IEntity typeParameterOwner = GetTypeParameterOwner(type);
- IEntity importedTypeParameterOwner = compilation.Import(typeParameterOwner);
- if (importedTypeParameterOwner != null) {
- return type.ToTypeReference().Resolve(new SimpleTypeResolveContext(importedTypeParameterOwner));
- } else {
- return type.ToTypeReference().Resolve(compilation.TypeResolveContext);
- }
- }
-
///
/// Imports a type from another compilation.
///
@@ -284,95 +221,6 @@ namespace ICSharpCode.Decompiler.TypeSystem
return typeDefinition;
return typeDefinition.ToTypeReference().Resolve(compilation.TypeResolveContext).GetDefinition();
}
-
- ///
- /// Imports an entity from another compilation.
- ///
- public static IEntity Import(this ICompilation compilation, IEntity entity)
- {
- if (compilation == null)
- throw new ArgumentNullException("compilation");
- if (entity == null)
- return null;
- if (entity.Compilation == compilation)
- return entity;
- if (entity is IMember)
- return ((IMember)entity).ToReference().Resolve(compilation.TypeResolveContext);
- else if (entity is ITypeDefinition)
- return ((ITypeDefinition)entity).ToTypeReference().Resolve(compilation.TypeResolveContext).GetDefinition();
- else
- throw new NotSupportedException("Unknown entity type");
- }
-
- ///
- /// Imports a member from another compilation.
- ///
- public static IMember Import(this ICompilation compilation, IMember member)
- {
- if (compilation == null)
- throw new ArgumentNullException("compilation");
- if (member == null)
- return null;
- if (member.Compilation == compilation)
- return member;
- return member.ToReference().Resolve(compilation.TypeResolveContext);
- }
-
- ///
- /// Imports a member from another compilation.
- ///
- public static IMethod Import(this ICompilation compilation, IMethod method)
- {
- return (IMethod)compilation.Import((IMember)method);
- }
-
- ///
- /// Imports a member from another compilation.
- ///
- public static IField Import(this ICompilation compilation, IField field)
- {
- return (IField)compilation.Import((IMember)field);
- }
-
- ///
- /// Imports a member from another compilation.
- ///
- public static IEvent Import(this ICompilation compilation, IEvent ev)
- {
- return (IEvent)compilation.Import((IMember)ev);
- }
-
- ///
- /// Imports a member from another compilation.
- ///
- public static IProperty Import(this ICompilation compilation, IProperty property)
- {
- return (IProperty)compilation.Import((IMember)property);
- }
-
- ///
- /// Imports a namespace from another compilation.
- ///
- ///
- /// This method may return null if the namespace does not exist in the target compilation.
- ///
- public static INamespace Import(this ICompilation compilation, INamespace ns)
- {
- if (compilation == null)
- throw new ArgumentNullException("compilation");
- if (ns == null)
- return null;
- if (ns.ParentNamespace == null) {
- // root namespace
- return compilation.GetNamespaceForExternAlias(ns.ExternAlias);
- } else {
- INamespace parent = Import(compilation, ns.ParentNamespace);
- if (parent != null)
- return parent.GetChildNamespace(ns.Name);
- else
- return null;
- }
- }
#endregion
#region GetDelegateInvokeMethod
diff --git a/ICSharpCode.Decompiler/TypeSystem/VarArgInstanceMethod.cs b/ICSharpCode.Decompiler/TypeSystem/VarArgInstanceMethod.cs
index 75bd2981f..8761bec35 100644
--- a/ICSharpCode.Decompiler/TypeSystem/VarArgInstanceMethod.cs
+++ b/ICSharpCode.Decompiler/TypeSystem/VarArgInstanceMethod.cs
@@ -164,11 +164,6 @@ namespace ICSharpCode.Decompiler.TypeSystem
#region IMember implementation
- public IMemberReference ToReference()
- {
- throw new NotImplementedException();
- }
-
IMember IMember.Specialize(TypeParameterSubstitution substitution)
{
return Specialize(substitution);
@@ -213,12 +208,7 @@ namespace ICSharpCode.Decompiler.TypeSystem
#endregion
#region ISymbol implementation
-
- ISymbolReference ISymbol.ToReference()
- {
- return ToReference();
- }
-
+
public SymbolKind SymbolKind {
get { return baseMethod.SymbolKind; }
}