Browse Source

Add IMember.UnresolvedMember property.

newNRvisualizers
Daniel Grunwald 14 years ago
parent
commit
3c6cbeeae7
  1. 4
      ICSharpCode.NRefactory.CSharp/Resolver/CSharpOperators.cs
  2. 2
      ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.TestCase.cs
  3. 14
      ICSharpCode.NRefactory/TypeSystem/IMember.cs
  4. 4
      ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs
  5. 6
      ICSharpCode.NRefactory/TypeSystem/Implementation/SpecializedMember.cs

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

@ -127,6 +127,10 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver @@ -127,6 +127,10 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver
get { return this; }
}
IUnresolvedMember IMember.UnresolvedMember {
get { return null; }
}
IList<IMember> IMember.InterfaceImplementations {
get { return EmptyList<IMember>.Instance; }
}

2
ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.TestCase.cs

@ -153,7 +153,7 @@ namespace ICSharpCode.NRefactory.TypeSystem.TestCase @@ -153,7 +153,7 @@ namespace ICSharpCode.NRefactory.TypeSystem.TestCase
public class OuterGeneric<X>
{
public class Inner {
OuterGeneric<X> referenceToOuter;
public OuterGeneric<X> referenceToOuter;
public Inner(OuterGeneric<X> referenceToOuter) {}
}

14
ICSharpCode.NRefactory/TypeSystem/IMember.cs

@ -84,9 +84,21 @@ namespace ICSharpCode.NRefactory.TypeSystem @@ -84,9 +84,21 @@ namespace ICSharpCode.NRefactory.TypeSystem
/// </summary>
IMember MemberDefinition { get; }
/// <summary>
/// Gets the unresolved member instance from which this member was created.
/// This property may return <c>null</c> for special members that do not have a corresponding unresolved member instance.
/// </summary>
/// <remarks>
/// For specialized members, this property returns the unresolved member for the original member definition.
/// For partial methods, this property returns the implementing partial method declaration, if one exists, and the
/// defining partial method declaration otherwise.
/// For the members used to represent the built-in C# operators like "operator +(int, int);", this property returns <c>null</c>.
/// </remarks>
IUnresolvedMember UnresolvedMember { get; }
/// <summary>
/// Gets the return type of this member.
/// This property never returns null.
/// This property never returns <c>null</c>.
/// </summary>
IType ReturnType { get; }

4
ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs

@ -47,6 +47,10 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -47,6 +47,10 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
}
}
public IUnresolvedMember UnresolvedMember {
get { return unresolved; }
}
public IList<IMember> InterfaceImplementations {
get {
throw new NotImplementedException();

6
ICSharpCode.NRefactory/TypeSystem/Implementation/SpecializedMember.cs

@ -75,7 +75,11 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -75,7 +75,11 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
}
public IMember MemberDefinition {
get { return memberDefinition; }
get { return memberDefinition.MemberDefinition; }
}
public IUnresolvedMember UnresolvedMember {
get { return memberDefinition.UnresolvedMember; }
}
public IType ReturnType {

Loading…
Cancel
Save