Bike.Interpreter.Interpreter.Call C# (CSharp) Метод

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

private Call ( CallExpression node, IEnumerable suffixes ) : object
node CallExpression
suffixes IEnumerable
Результат object
        private object Call(CallExpression node, IEnumerable<Node> suffixes)
        {
            object firstObject;
            var memberSuffixes = new List<Node>();
            if (node.Member is MemberExpression)
            {
                var member = (MemberExpression)node.Member;
                memberSuffixes.AddRange(member.Suffixes);
                firstObject = GetFirstObjectFromMember(member.Expression, memberSuffixes);
            }
            else if (node.Member is FunctionExpression ||
                     node.Member is Identifier ||
                     node.Member is SelfExpression)
            {
                firstObject = node.Member.Accept(this);
            }
            else
            {
                throw ErrorFactory.CreateError(string.Format("Invalid member type {0}", node.Member));
            }
            var allSuffixes = new List<Node>();
            allSuffixes.AddRange(memberSuffixes);
            allSuffixes.Add(node.Arguments);
            allSuffixes.AddRange(suffixes);
            return AccessOneByOne(firstObject, null, allSuffixes);
        }