    // Automatically generated code.  Edit at your own risk!
    // Generated by bali2jak v2002.09.03.

    layer syntax ;

    public class IfNode extends If {

        final public static int ARG_LENGTH = 3 ;
        final public static int TOK_LENGTH = 1 ;

        public ElseClause getElseClause () {
            AstNode node = arg[2].arg [0] ;
            return (node != null) ? (ElseClause) node : null ;
        }

        public Test getTest () {
            return (Test) arg [0] ;
        }

        public ThenClause getThenClause () {
            return (ThenClause) arg [1] ;
        }

        public boolean[] printorder () {
            return new boolean[] {true, false, false, false} ;
        }

        public IfNode setParms
        (AstToken tok0, Test arg0, ThenClause arg1, AstOptNode arg2) {
            arg = new AstNode [ARG_LENGTH] ;
            tok = new AstTokenInterface [TOK_LENGTH] ;

            tok [0] = tok0 ;              /* "if" */
            arg [0] = arg0 ;              /* Test */
            arg [1] = arg1 ;              /* ThenClause */
            arg [2] = arg2 ;              /* [ElseClause] */

            InitChildren () ;
            return (IfNode) this ;
        }

    }