/// <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); }
/// <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); }
public XmlElement Visit(ImplicitReceiverRequestNode n) { var el = makeNode(n, "implicit-receiver-request"); addProperty(el, "name", n.Name); addPropertyEnumRPN(el, "parts", n); return(el); }
/// <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); }