Esempio n. 1
0
 public static IEnumerable <IResMemberDecl> GetMembers(
     this IResSimpleContainerDecl container)
 {
     foreach (var line in container.GetMemberLines())
     {
         yield return(line.EffectiveDecl);
     }
 }
Esempio n. 2
0
 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);
             }
         }
     }
 }
Esempio n. 3
0
        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();
        }