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
get { return this; } get { return this; }
} }
IUnresolvedMember IMember.UnresolvedMember {
get { return null; }
}
IList<IMember> IMember.InterfaceImplementations { IList<IMember> IMember.InterfaceImplementations {
get { return EmptyList<IMember>.Instance; } get { return EmptyList<IMember>.Instance; }
} }

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

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

14
ICSharpCode.NRefactory/TypeSystem/IMember.cs

@ -84,9 +84,21 @@ namespace ICSharpCode.NRefactory.TypeSystem
/// </summary> /// </summary>
IMember MemberDefinition { get; } 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> /// <summary>
/// Gets the return type of this member. /// Gets the return type of this member.
/// This property never returns null. /// This property never returns <c>null</c>.
/// </summary> /// </summary>
IType ReturnType { get; } IType ReturnType { get; }

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

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

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

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

Loading…
Cancel
Save