public ASTNodeName ParseName(bool needsExplicitParameterSeparator, bool canBeRooted) { var nameNode = new ASTNodeName(); nameNode.SetSpan(this.Current().span); var pathNode = new ASTNodePath(); pathNode.SetSpan(this.Current().span); if (canBeRooted && this.CurrentIs(TokenKind.Placeholder)) { this.Advance(); pathNode.SetRooted(true); this.Match(TokenKind.DoubleColon, "expected '::'"); } pathNode.AddIdentifierNode(this.ParseIdentifier()); while (this.CurrentIs(TokenKind.DoubleColon) && this.NextIs(TokenKind.Identifier)) { this.Advance(); pathNode.AddIdentifierNode(this.ParseIdentifier()); } nameNode.SetPathNode(pathNode); return(nameNode); }
public void SetNameNode(ASTNodeName name) { name.SetParent(this); this.AddSpan(name.GetSpan()); this.name = name; }
public void SetNameNode(ASTNodeName name) { this.name = name; this.AddSpan(name.GetSpan()); }
public void SetNameNode(ASTNodeName name) { name.SetParent(this); this.name = name; }