Example #1
0
        /// <inheritdoc />
        public Node Visit(ImplicitReceiverRequestParseNode irrpn)
        {
            ImplicitReceiverRequestNode ret = null;

            if (irrpn.Name == "if then")
            {
                ret = new IfThenRequestNode(irrpn.Token, irrpn);
            }
            else if (irrpn.Name == "for do")
            {
                ret = new ForDoRequestNode(irrpn.Token, irrpn);
            }
            else
            {
                ret = new ImplicitReceiverRequestNode(irrpn.Token, irrpn);
            }
            for (int i = 0; i < irrpn.Arguments.Count; i++)
            {
                var rpn = new RequestPartNode(
                    ((IdentifierParseNode)irrpn.NameParts[i]).Name,
                    map(irrpn.GenericArguments[i]),
                    map(irrpn.Arguments[i]));
                ret.AddPart(rpn);
            }
            return(ret);
        }
Example #2
0
        /// <inheritdoc />
        public Node Visit(IdentifierParseNode i)
        {
            var ret = new ImplicitReceiverRequestNode(i.Token, i);
            var rpn = new RequestPartNode(i.Name, new List <Node>(), new List <Node>());

            ret.AddPart(rpn);
            return(ret);
        }
Example #3
0
        public XmlElement Visit(ImplicitReceiverRequestNode n)
        {
            var el = makeNode(n, "implicit-receiver-request");

            addProperty(el, "name", n.Name);
            addPropertyEnumRPN(el, "parts", n);
            return(el);
        }
Example #4
0
        /// <inheritdoc />
        public Node Visit(ImplicitBracketRequestParseNode ibrpn)
        {
            ImplicitReceiverRequestNode ret = new ImplicitReceiverRequestNode(ibrpn.Token, ibrpn);
            RequestPartNode             rpn = new RequestPartNode("circumfix" + ibrpn.Name,
                                                                  new List <Node>(),
                                                                  map(ibrpn.Arguments),
                                                                  false);

            ret.AddPart(rpn);
            return(ret);
        }