Example #1
0
        /// <summary>
        /// The main recursive method that given a SyntaxNode recursively quotes the entire subtree.
        /// </summary>
        private ApiCall QuoteNode(SyntaxNode node, string name)
        {
            APIList    quotedPropertyValues = QuotePropertyValues(node);
            MethodInfo factoryMethod        = PickFactoryMethodToCreateNode(node);
            var        factoryMethodCall    = new MethodCall(factoryMethod.DeclaringType.Name + "." + factoryMethod.Name);
            var        codeBlock            = new ApiCall(name, factoryMethodCall);

            APIList.AddFactoryMethodArguments(factoryMethod, factoryMethodCall, quotedPropertyValues);
            ApiCall.AddModifyingCalls(node, codeBlock, quotedPropertyValues);
            return(codeBlock);
        }