Browse Source

Revert "[TypeSystem] Added a method to get only defined members with a filter"

This reverts commit aa324f018a.
newNRvisualizers
Mike Krüger 13 years ago
parent
commit
e7783d7808
  1. 7
      ICSharpCode.NRefactory/TypeSystem/ITypeDefinition.cs
  2. 14
      ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedTypeDefinition.cs

7
ICSharpCode.NRefactory/TypeSystem/ITypeDefinition.cs

@ -104,13 +104,6 @@ namespace ICSharpCode.NRefactory.TypeSystem @@ -104,13 +104,6 @@ namespace ICSharpCode.NRefactory.TypeSystem
IList<ITypeDefinition> NestedTypes { get; }
IList<IMember> Members { get; }
/// <summary>
/// Gets the members that are defined in this type.
/// </summary>
/// <param name="filter">The filter used to select which members to return.
/// The filter is tested on the original member definitions (before specialization).</param>
IList<IMember> GetDefinedMembers (Predicate<IUnresolvedMethod> filter);
IEnumerable<IField> Fields { get; }
IEnumerable<IMethod> Methods { get; }
IEnumerable<IProperty> Properties { get; }

14
ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedTypeDefinition.cs

@ -282,7 +282,7 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -282,7 +282,7 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
MemberList memberList;
MemberList GetMemberList(Predicate<IUnresolvedMethod> filter = null)
MemberList GetMemberList()
{
var result = LazyInit.VolatileRead(ref this.memberList);
if (result != null) {
@ -296,8 +296,6 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -296,8 +296,6 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
ITypeResolveContext parentContextForPart = part.CreateResolveContext(parentContext);
ITypeResolveContext contextForPart = parentContextForPart.WithCurrentTypeDefinition(this);
foreach (var member in part.Members) {
if (filter != null && !filter(member))
continue;
IUnresolvedMethod method = member as IUnresolvedMethod;
if (method != null && method.IsPartial) {
// Merge partial method declaration and implementation
@ -330,11 +328,8 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -330,11 +328,8 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
if (kind == TypeKind.Class && !this.IsStatic && !unresolvedMembers.Any(m => m.EntityType == EntityType.Constructor && !m.IsStatic)
|| kind == TypeKind.Enum || kind == TypeKind.Struct)
{
var defaultConstructor = DefaultUnresolvedMethod.CreateDefaultConstructor(parts[0]);
if (filter == null || filter(defaultConstructor)) {
contextPerMember.Add(parts[0].CreateResolveContext(parentContext).WithCurrentTypeDefinition(this));
unresolvedMembers.Add(defaultConstructor);
}
unresolvedMembers.Add(DefaultUnresolvedMethod.CreateDefaultConstructor(parts[0]));
}
}
result = new MemberList(contextPerMember, unresolvedMembers, partialMethodInfos);
@ -345,11 +340,6 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -345,11 +340,6 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
get { return GetMemberList(); }
}
public IList<IMember> GetDefinedMembers (Predicate<IUnresolvedMethod> filter)
{
return GetMemberList(filter);
}
public IEnumerable<IField> Fields {
get {
var members = GetMemberList();

Loading…
Cancel
Save