Pytocs.Syntax.Parser.argument C# (CSharp) Method

argument() public method

public argument ( ) : Argument
return Argument
        public Argument argument()
        {
            var name = test();
            if (name == null)
                return null;
            var posStart = name.Start;
            var posEnd = name.End;
            CompFor f;
            Exp defval = null;
            if (Peek(TokenType.For))
            {
                f = comp_for();
                return new Argument(name, f, filename, posStart, f.End);
            }
            else if (PeekAndDiscard(TokenType.EQ))
            {
                defval = test();
                posEnd = defval.End;
            }
            else
            {
                defval = name;
                name = null;
            }
            return new Argument(name, defval, filename, posStart, posEnd);
        }