Пример #1
0
        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);
        }
Пример #2
0
 public void SetNameNode(ASTNodeName name)
 {
     name.SetParent(this);
     this.AddSpan(name.GetSpan());
     this.name = name;
 }
Пример #3
0
 public void SetNameNode(ASTNodeName name)
 {
     name.SetParent(this);
     this.AddSpan(name.GetSpan());
     this.name = name;
 }
Пример #4
0
 public void SetNameNode(ASTNodeName name)
 {
     this.name = name;
     this.AddSpan(name.GetSpan());
 }
Пример #5
0
 public void SetNameNode(ASTNodeName name)
 {
     this.name = name;
     this.AddSpan(name.GetSpan());
 }
Пример #6
0
 public void SetNameNode(ASTNodeName name)
 {
     name.SetParent(this);
     this.name = name;
 }
Пример #7
0
 public void SetNameNode(ASTNodeName name)
 {
     name.SetParent(this);
     this.name = name;
 }