001 package escjava.vcGeneration;
002
003 import java.io.*;
004
005 abstract public class TVisitor {
006
007 /**
008 * Default pretty printer that may be used by implementing vistor patterns.
009 */
010 protected PrettyPrinter lib = null;
011
012 protected/*@ non_null @*/Writer out = null;
013
014 protected/*@ non_null @*/StringBuffer indentation = null;
015
016 public TVisitor(Writer out) {
017 this(out, " ", "(", ")", "\n");
018 }
019
020 public TVisitor(Writer out, String tab, String lbr, String rbr, String nl) {
021 this.out = out;
022 lib = new PrettyPrinter(out, tab, lbr, rbr, nl);
023 indentation = new StringBuffer();
024 }
025
026 //non automatic division
027 abstract public void visitTName(/*@ non_null @*/TName n) throws IOException;
028
029 abstract public void visitTRoot(/*@ non_null @*/TRoot n) throws IOException;
030
031 // class created using the perl script
032 abstract public void visitTBoolImplies(/*@ non_null @*/TBoolImplies n) throws IOException;
033
034 abstract public void visitTBoolAnd(/*@ non_null @*/TBoolAnd n) throws IOException;
035
036 abstract public void visitTBoolOr(/*@ non_null @*/TBoolOr n) throws IOException;
037
038 abstract public void visitTBoolNot(/*@ non_null @*/TBoolNot n) throws IOException;
039
040 abstract public void visitTBoolEQ(/*@ non_null @*/TBoolEQ n) throws IOException;
041
042 abstract public void visitTBoolNE(/*@ non_null @*/TBoolNE n) throws IOException;
043
044 abstract public void visitTAllocLT(/*@ non_null @*/TAllocLT n) throws IOException;
045
046 abstract public void visitTAllocLE(/*@ non_null @*/TAllocLE n) throws IOException;
047
048 abstract public void visitTAnyEQ(/*@ non_null @*/TAnyEQ n) throws IOException;
049
050 abstract public void visitTAnyNE(/*@ non_null @*/TAnyNE n) throws IOException;
051
052 abstract public void visitTIntegralEQ(/*@ non_null @*/TIntegralEQ n) throws IOException;
053
054 abstract public void visitTIntegralGE(/*@ non_null @*/TIntegralGE n) throws IOException;
055
056 abstract public void visitTIntegralGT(/*@ non_null @*/TIntegralGT n) throws IOException;
057
058 abstract public void visitTIntegralLE(/*@ non_null @*/TIntegralLE n) throws IOException;
059
060 abstract public void visitTIntegralLT(/*@ non_null @*/TIntegralLT n) throws IOException;
061
062 abstract public void visitTIntegralNE(/*@ non_null @*/TIntegralNE n) throws IOException;
063
064 abstract public void visitTIntegralAdd(/*@ non_null @*/TIntegralAdd n) throws IOException;
065
066 abstract public void visitTIntegralDiv(/*@ non_null @*/TIntegralDiv n) throws IOException;
067
068 abstract public void visitTIntegralMod(/*@ non_null @*/TIntegralMod n) throws IOException;
069
070 abstract public void visitTIntegralMul(/*@ non_null @*/TIntegralMul n) throws IOException;
071
072 abstract public void visitTFloatEQ(/*@ non_null @*/TFloatEQ n) throws IOException;
073
074 abstract public void visitTFloatGE(/*@ non_null @*/TFloatGE n) throws IOException;
075
076 abstract public void visitTFloatGT(/*@ non_null @*/TFloatGT n) throws IOException;
077
078 abstract public void visitTFloatLE(/*@ non_null @*/TFloatLE n) throws IOException;
079
080 abstract public void visitTFloatLT(/*@ non_null @*/TFloatLT n) throws IOException;
081
082 abstract public void visitTFloatNE(/*@ non_null @*/TFloatNE n) throws IOException;
083
084 abstract public void visitTFloatAdd(/*@ non_null @*/TFloatAdd n) throws IOException;
085
086 abstract public void visitTFloatDiv(/*@ non_null @*/TFloatDiv n) throws IOException;
087
088 abstract public void visitTFloatMod(/*@ non_null @*/TFloatMod n) throws IOException;
089
090 abstract public void visitTFloatMul(/*@ non_null @*/TFloatMul n) throws IOException;
091
092 abstract public void visitTLockLE(/*@ non_null @*/TLockLE n) throws IOException;
093
094 abstract public void visitTLockLT(/*@ non_null @*/TLockLT n) throws IOException;
095
096 abstract public void visitTRefEQ(/*@ non_null @*/TRefEQ n) throws IOException;
097
098 abstract public void visitTRefNE(/*@ non_null @*/TRefNE n) throws IOException;
099
100 abstract public void visitTTypeEQ(/*@ non_null @*/TTypeEQ n) throws IOException;
101
102 abstract public void visitTTypeNE(/*@ non_null @*/TTypeNE n) throws IOException;
103
104 abstract public void visitTTypeLE(/*@ non_null @*/TTypeLE n) throws IOException;
105
106 abstract public void visitTCast(/*@ non_null @*/TCast n) throws IOException;
107
108 abstract public void visitTIs(/*@ non_null @*/TIs n) throws IOException;
109
110 abstract public void visitTSelect(/*@ non_null @*/TSelect n) throws IOException;
111
112 abstract public void visitTStore(/*@ non_null @*/TStore n) throws IOException;
113
114 abstract public void visitTTypeOf(/*@ non_null @*/TTypeOf n) throws IOException;
115
116 abstract public void visitTForAll(/*@ non_null @*/TForAll n) throws IOException;
117
118 abstract public void visitTExist(/*@ non_null @*/TExist n) throws IOException;
119
120 abstract public void visitTIsAllocated(/*@ non_null @*/TIsAllocated n) throws IOException;
121
122 abstract public void visitTEClosedTime(/*@ non_null @*/TEClosedTime n) throws IOException;
123
124 abstract public void visitTFClosedTime(/*@ non_null @*/TFClosedTime n) throws IOException;
125
126 abstract public void visitTAsElems(/*@ non_null @*/TAsElems n) throws IOException;
127
128 abstract public void visitTAsField(/*@ non_null @*/TAsField n) throws IOException;
129
130 abstract public void visitTAsLockSet(/*@ non_null @*/TAsLockSet n) throws IOException;
131
132 abstract public void visitTArrayLength(/*@ non_null @*/TArrayLength n) throws IOException;
133
134 abstract public void visitTArrayFresh(/*@ non_null @*/TArrayFresh n) throws IOException;
135
136 abstract public void visitTArrayShapeOne(/*@ non_null @*/TArrayShapeOne n) throws IOException;
137
138 abstract public void visitTArrayShapeMore(/*@ non_null @*/TArrayShapeMore n) throws IOException;
139
140 abstract public void visitTIsNewArray(/*@ non_null @*/TIsNewArray n) throws IOException;
141
142 abstract public void visitTString(/*@ non_null @*/TString n) throws IOException;
143
144 abstract public void visitTBoolean(/*@ non_null @*/TBoolean n) throws IOException;
145
146 abstract public void visitTChar(/*@ non_null @*/TChar n) throws IOException;
147
148 abstract public void visitTInt(/*@ non_null @*/TInt n) throws IOException;
149
150 abstract public void visitTFloat(/*@ non_null @*/TFloat n) throws IOException;
151
152 abstract public void visitTDouble(/*@ non_null @*/TDouble n) throws IOException;
153
154 abstract public void visitTNull(/*@ non_null @*/TNull n) throws IOException;
155
156 // added by me
157 abstract public void visitTUnset(/*@ non_null @*/ TUnset n) throws IOException;
158
159 abstract public void visitTMethodCall(/*@ non_null @*/ TMethodCall call) throws IOException;
160
161 abstract public void visitTIntegralSub(/*@ non_null @*/ TIntegralSub sub) throws IOException;
162
163 abstract public void visitTSum (TSum s);
164 }