public XmlMemberGet(AstNode target, XmlRef @ref, int opPos) : base(Token.DOTDOT, target, @ref, opPos) { { type = Token.DOTDOT; } }
/// <summary> /// Constructs a new /// <code>XmlMemberGet</code> /// node. /// Updates bounds to include /// <code>target</code> /// and /// <code>ref</code> /// nodes. /// </summary> public XmlMemberGet(AstNode target, XmlRef @ref) : base(target, @ref) { { type = Token.DOTDOT; } }
public XmlMemberGet(int pos, int len, AstNode target, XmlRef @ref) : base(pos, len, target, @ref) { { type = Token.DOTDOT; } }
/// <summary> /// Sets the XML member-ref expression, and sets its parent /// to this node. /// </summary> /// <remarks> /// Sets the XML member-ref expression, and sets its parent /// to this node. /// </remarks> /// <exception cref="System.ArgumentException"> /// if property is /// <code>null</code> /// </exception> public virtual void SetProperty(XmlRef @ref) { SetRight(@ref); }
private Node TransformXmlRef(Node pn, XmlRef node, int memberTypeFlags) { if ((memberTypeFlags & Node.ATTRIBUTE_FLAG) != 0) { decompiler.AddToken(Token.XMLATTR); } Name @namespace = node.GetNamespace(); string ns = @namespace != null ? @namespace.GetIdentifier() : null; if (ns != null) { decompiler.AddName(ns); decompiler.AddToken(Token.COLONCOLON); } if (node is XmlPropRef) { string name = ((XmlPropRef)node).GetPropName().GetIdentifier(); decompiler.AddName(name); return CreatePropertyGet(pn, ns, name, memberTypeFlags); } else { decompiler.AddToken(Token.LB); Node expr = Transform(((XmlElemRef)node).GetExpression()); decompiler.AddToken(Token.RB); return CreateElementGet(pn, ns, expr, memberTypeFlags); } }
// We get here if we weren't a child of a . or .. infix node private Node TransformXmlRef(XmlRef node) { int memberTypeFlags = node.IsAttributeAccess() ? Node.ATTRIBUTE_FLAG : 0; return TransformXmlRef(null, node, memberTypeFlags); }