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 StmtPragma extends Stmt
024 {
025 /* denotes that a pragma is redundant (e.g. "assume_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 StmtPragma setOriginalTag(int t) { originalTag = t; return this; }
036 public int originalTag() {
037 return (originalTag == 0) ? getTag() : originalTag;
038 }
039 protected StmtPragma() {}
040
041
042 // Generated boilerplate constructors:
043
044 //@ ensures this.redundant == redundant;
045 protected StmtPragma(boolean redundant) {
046 super();
047 this.redundant = redundant;
048 }
049 public void check() {
050 super.check();
051 }
052
053 }