Exemplo n.º 1
0
        /// <summary>
        /// set_stmbr_stmt                              = type "::" identifier "=" expr
        /// </summary>
        private SetMemberNode parseSetStmbrStmt()
        {
            var type = attempt(parseType);
            if (type == null)
                return null;

            if (!check(LexemType.DoubleСolon))
                return null;

            var node = new SetMemberNode();
            node.StaticType = type;
            node.MemberName = ensure(LexemType.Identifier, ParserMessages.MemberNameExpected).Value;

            if (!check(LexemType.Assign))
                return null;

            node.Value = ensure(parseExpr, ParserMessages.ExpressionExpected);

            return node;
        }
Exemplo n.º 2
0
 protected bool Equals(SetMemberNode other)
 {
     return base.Equals(other) && Equals(Value, other.Value);
 }