Boo.Lang.Compiler.Steps.ProcessMethodBodies.ReplaceMetaMethodInvocationSite C# (CSharp) Метод

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

private ReplaceMetaMethodInvocationSite ( MethodInvocationExpression node, Node replacement ) : void
node MethodInvocationExpression
replacement Node
Результат void
        private void ReplaceMetaMethodInvocationSite(MethodInvocationExpression node, Node replacement)
        {
            if (replacement == null || replacement is Statement)
            {
                if (node.ParentNode.NodeType != NodeType.ExpressionStatement)
                    NotImplemented(node, "Cant use an statement where an expression is expected.");
                var statementParent = node.ParentNode.ParentNode;
                statementParent.Replace(node.ParentNode, replacement);
                if (replacement != null)
                    replacement = My<CodeReifier>.Instance.Reify((Statement)replacement);
            }
            else
            {
                node.ParentNode.Replace(node, replacement);
                replacement = My<CodeReifier>.Instance.Reify((Expression) replacement);
            }
            Visit(replacement);
        }
ProcessMethodBodies