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 javafe.ast; 013 014 import javafe.util.Assert; 015 import javafe.util.Location; 016 import javafe.util.ErrorSet; 017 018 // Convention: unless otherwise noted, integer fields named "loc" refer 019 // to the location of the first character of the syntactic unit 020 021 022 /** 023 * Represents a ObjectDesignator of the form "super . ". 024 * Is created only by the parser, not by name resolution. 025 */ 026 027 public class SuperObjectDesignator extends ObjectDesignator 028 { 029 //@ invariant locSuper != javafe.util.Location.NULL; 030 public int locSuper; 031 032 public int getStartLoc() { return locSuper; } 033 public Type type; 034 public Type type() { return type; } 035 036 037 // Generated boilerplate constructors: 038 039 /** 040 * Construct a raw SuperObjectDesignator whose class invariant(s) have not 041 * yet been established. It is the caller's job to 042 * initialize the returned node's fields so that any 043 * class invariants hold. 044 */ 045 //@ requires I_will_establish_invariants_afterwards; 046 protected SuperObjectDesignator() {} //@ nowarn Invariant,NonNullInit; 047 048 049 // Generated boilerplate methods: 050 051 public final int childCount() { 052 return 0; 053 } 054 055 public final Object childAt(int index) { 056 /*throws IndexOutOfBoundsException*/ 057 if (index < 0) 058 throw new IndexOutOfBoundsException("AST child index " + index); 059 int indexPre = index; 060 061 int sz; 062 063 throw new IndexOutOfBoundsException("AST child index " + indexPre); 064 } //@ nowarn Exception; 065 066 public final String toString() { 067 return "[SuperObjectDesignator" 068 + " locDot = " + this.locDot 069 + " locSuper = " + this.locSuper 070 + "]"; 071 } 072 073 public final int getTag() { 074 return TagConstants.SUPEROBJECTDESIGNATOR; 075 } 076 077 public final void accept(Visitor v) { v.visitSuperObjectDesignator(this); } 078 079 public final Object accept(VisitorArgResult v, Object o) {return v.visitSuperObjectDesignator(this, o); } 080 081 public void check() { 082 super.check(); 083 } 084 085 //@ requires locDot != javafe.util.Location.NULL; 086 //@ requires locSuper != javafe.util.Location.NULL; 087 //@ ensures \result != null; 088 public static SuperObjectDesignator make(int locDot, int locSuper) { 089 //@ set I_will_establish_invariants_afterwards = true; 090 SuperObjectDesignator result = new SuperObjectDesignator(); 091 result.locDot = locDot; 092 result.locSuper = locSuper; 093 return result; 094 } 095 }