/**
  * Generates code for all string constants in the string table.
  *
  * @param stringclasstag the class tag for String
  * @param s the output stream
  */
 public void codeStringTable(int stringclasstag, PrintStream s) {
   StringSymbol sym = null;
   for (int i = tbl.size() - 1; i >= 0; i--) {
     try {
       sym = (StringSymbol) tbl.elementAt(i);
     } catch (ArrayIndexOutOfBoundsException ex) {
       Utilities.fatalError("Unexpected exception: " + ex);
     }
     sym.codeDef(stringclasstag, s);
   }
 }
Example #2
0
 public static void codeRefByString(String str, PrintStream s) {
   StringSymbol symbol = (StringSymbol) AbstractTable.stringtable.lookup(str);
   symbol.codeRef(s);
 }