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 * Designates the object or type used for a field or method access.
025 * Subclasses represent "expr.", "type.", or "super."
026 */
027
028 public abstract class ObjectDesignator extends ASTNode
029 {
030 //@ invariant locDot != javafe.util.Location.NULL;
031 public int locDot;
032
033
034 //@ also public normal_behavior
035 //@ ensures \result == locDot;
036 public /*@ pure @*/ int getEndLoc() { return locDot; }
037 abstract public Type type();
038
039
040 // Generated boilerplate constructors:
041
042 //@ ensures this.locDot == locDot;
043 protected ObjectDesignator(int locDot) {
044 super();
045 this.locDot = locDot;
046 }
047 public void check() {
048 super.check();
049 }
050
051 }