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    public abstract class ModifierPragma extends ASTNode
024    {
025      /* denotes that a pragma is redundant (e.g. "requires_redundantly") */
026      public boolean redundant;
027    
028    
029      public boolean isRedundant() { return redundant; }
030      public void setRedundant(boolean v) { redundant = v; }
031      // when there are various synonomus tag names, tag and getTag() will be
032      // a canonical value; originalTag will be the specific value.  Thus tag
033      // can be used in switch statements and originalTag for printing. 
034      private int originalTag;
035      public ModifierPragma setOriginalTag(int t) { originalTag = t; return this; }
036      public int originalTag() {
037        return (originalTag == 0) ? getTag() : originalTag;
038      }
039      protected ModifierPragma() {}
040    
041    
042    // Generated boilerplate constructors:
043    
044      //@ ensures this.redundant == redundant;
045      protected ModifierPragma(boolean redundant) {
046         super();
047         this.redundant = redundant;
048      }
049      public void check() {
050         super.check();
051      }
052    
053    }