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