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 javafe.ast;
014
015 import javafe.util.Assert;
016 import javafe.util.Location;
017 import javafe.util.ErrorSet;
018
019 // Convention: unless otherwise noted, integer fields named "loc" refer
020 // to the location of the first character of the syntactic unit
021
022
023 /* ---------------------------------------------------------------------- */
024
025 /**
026 * Represents a Type syntactic unit. <p>
027 *
028 * WARNING: unlike other AST nodes, Type and it's subtypes may
029 * not have associated locations! Locations exist only if syntax is
030 * true.
031 */
032
033 public abstract class Type extends ASTNode
034 {
035 /**
036 * Does this AST Node have associated locations? True if yes.
037 */
038 //@ public model boolean syntax;
039 //@ public represents syntax <- !isInternal;
040
041 public TypeModifierPragmaVec tmodifiers;
042
043 protected Type() {}
044
045
046
047 // Generated boilerplate constructors:
048
049 //@ ensures this.tmodifiers == tmodifiers;
050 protected Type(TypeModifierPragmaVec tmodifiers) {
051 super();
052 this.tmodifiers = tmodifiers;
053 }
054 public void check() {
055 super.check();
056 if (this.tmodifiers != null)
057 for(int i = 0; i < this.tmodifiers.size(); i++)
058 this.tmodifiers.elementAt(i).check();
059 }
060
061 }