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 }