public static IEnumerable <IResMemberDecl> GetMembers( this IResSimpleContainerDecl container) { foreach (var line in container.GetMemberLines()) { yield return(line.EffectiveDecl); } }
public static IEnumerable <IResMemberLineDecl> GetMemberLines( this IResSimpleContainerDecl container) { foreach (var mng in container.MemberNameGroups) { foreach (var mcg in mng.Categories) { foreach (var line in mcg.Lines) { yield return(line); } } } }
public static IResMemberLineDecl FindMember( this IResSimpleContainerDecl container, IResMemberSpec memberSpec) { var mng = container.LookupMemberNameGroup(memberSpec.Name); if (mng == null) { throw new KeyNotFoundException(); } foreach (var mcg in mng.Categories) { foreach (var line in mcg.Lines) { if (line.OriginalLexicalID == memberSpec.Decl.Line.OriginalLexicalID) { return(line); } } } throw new KeyNotFoundException(); }