00001 package edu.ksu.cis.bandera.jjjc.unicodepreprocessor.analysis;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 import ca.mcgill.sable.util.*;
00036 import java.util.*;
00037 import edu.ksu.cis.bandera.jjjc.unicodepreprocessor.node.*;
00038
00039 public class AnalysisAdapter implements Analysis
00040 {
00041 private Hashtable in;
00042 private Hashtable out;
00043
00044 public void caseEOF(EOF node)
00045 {
00046 defaultCase(node);
00047 }
00048 public void caseTErroneousEscape(TErroneousEscape node)
00049 {
00050 defaultCase(node);
00051 }
00052 public void caseTEvenBackslash(TEvenBackslash node)
00053 {
00054 defaultCase(node);
00055 }
00056 public void caseTRawInputCharacter(TRawInputCharacter node)
00057 {
00058 defaultCase(node);
00059 }
00060 public void caseTSub(TSub node)
00061 {
00062 defaultCase(node);
00063 }
00064 public void caseTUnicodeEscape(TUnicodeEscape node)
00065 {
00066 defaultCase(node);
00067 }
00068 public void defaultCase(Node node)
00069 {
00070 }
00071 public Object getIn(Node node)
00072 {
00073 if(in == null)
00074 {
00075 return null;
00076 }
00077
00078 return in.get(node);
00079 }
00080 public Object getOut(Node node)
00081 {
00082 if(out == null)
00083 {
00084 return null;
00085 }
00086
00087 return out.get(node);
00088 }
00089 public void setIn(Node node, Object in)
00090 {
00091 if(this.in == null)
00092 {
00093 this.in = new Hashtable(1);
00094 }
00095
00096 if(in != null)
00097 {
00098 this.in.put(node, in);
00099 }
00100 else
00101 {
00102 this.in.remove(node);
00103 }
00104 }
00105 public void setOut(Node node, Object out)
00106 {
00107 if(this.out == null)
00108 {
00109 this.out = new Hashtable(1);
00110 }
00111
00112 if(out != null)
00113 {
00114 this.out.put(node, out);
00115 }
00116 else
00117 {
00118 this.out.remove(node);
00119 }
00120 }
00121 }