001    // -*- mode: java -*-
002    /* Copyright 2000, 2001, Compaq Computer Corporation */
003    
004    /* IF THIS IS A JAVA FILE, DO NOT EDIT IT!  
005    
006       Most Java files in this directory which are part of the Javafe AST
007       are automatically generated using the astgen comment (see
008       ESCTools/Javafe/astgen) from the input file 'hierarchy.h'.  If you
009       wish to modify AST classes or introduce new ones, modify
010       'hierarchy.j.'
011     */
012    
013    package escjava.ast;
014    
015    import java.util.Hashtable;
016    import java.util.Set;
017    import java.util.ArrayList;
018    
019    import javafe.ast.*;
020    import javafe.util.Assert;
021    import javafe.util.Location;
022    import escjava.ParsedRoutineSpecs;
023    
024    // Convention: unless otherwise noted, integer fields named "loc" refer
025    // to the location of the first character of the syntactic unit
026    
027    //# TagBase javafe.tc.TagConstants.LAST_TAG + 1
028    //# VisitorRoot javafe.ast.Visitor
029    
030    
031    //// Guarded commands
032    
033    public abstract class GuardedCmd extends ASTNode
034    { 
035    
036    // Generated boilerplate constructors:
037    
038       protected GuardedCmd() {
039       }
040       
041    
042    // Generated boilerplate methods:
043    
044       /** Return the number of children a node has. */
045       public abstract int childCount();
046    
047       /** Return the first-but-ith child of a node. */
048       public abstract Object childAt(int i);
049    
050       /** Return the tag of a node. */
051       public abstract int getTag();
052    
053       /** Return a string representation of <code>this</code>.
054       Meant for debugging use only, not for presentation. */
055       public abstract /*@non_null*/ String toString();
056    
057       /** Accept a visit from <code>v</code>.  This method simply
058       calls the method of <code>v</code> corresponding to the
059       allocated type of <code>this</code>, passing <code>this</code>
060       as the argument.  See the design patterns book. */
061       public abstract void accept(javafe.ast.Visitor v);
062    
063    public abstract Object accept(javafe.ast.VisitorArgResult v, Object o);
064    
065       public void check() {
066       }
067    
068    }