Boo.BooLangService.Intellisense.DeclarationFinder.GetMembersFromCurrentScope C# (CSharp) Метод

GetMembersFromCurrentScope() приватный Метод

private GetMembersFromCurrentScope ( int line, string lineSource ) : List
line int
lineSource string
Результат List
        private List<ISourceOrigin> GetMembersFromCurrentScope(int line, string lineSource)
        {
            var scopedDeclarations = GetScopedIntellisenseDeclarations(line);
            var invocationStack = GetInvocationStack(lineSource);

            IBooParseTreeNode firstNode = scopedDeclarations.Find(e => e.Name.Equals(invocationStack[0].Name, StringComparison.OrdinalIgnoreCase));
            ISourceOrigin entity = firstNode.SourceOrigin;
            var constructor = invocationStack[0].HadParentheses;

            for (int i = 1; i < invocationStack.Length; i++)
            {
                var invocation = invocationStack[i];
                var members = entity.GetMembers(constructor);
                var matchingMember = members.Find(e => e.Name == invocation.Name);

                constructor = false;

                if (matchingMember != null)
                    entity = matchingMember;
            }

            return entity.GetMembers(constructor);
        }