// 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 ;
    }

}