@Test public void testEquality() { Symbol foo_again = Symbol.get("foo"); Symbol bar_again = Symbol.get("bar"); assertEquals(foo, foo_again); assertEquals(bar, bar_again); assertFalse(foo.equals(bar)); assertFalse(foo.equals(bar_again)); assertEquals(foo.hashCode(), foo_again.hashCode()); assertEquals(bar.hashCode(), bar_again.hashCode()); }
public static Symbol get(String name) { Symbol ret = symbolTable.get(name); if(ret == null) { ret = new Symbol(name); symbolTable.put(name, ret); } return ret; }
Symbol { public static Symbol get(String name) { Symbol ret = symbolTable.get(name); if(ret == null) { ret = new Symbol(name); symbolTable.put(name, ret); } return ret; } }
Symbol { public static Symbol get(String name) { Symbol ret = symbolTable.get(name); if(ret == null) { ret = new Symbol(name); symbolTable.put(name, ret); } return ret; } protected  Symbol(); protected  Symbol(String name); }
Symbol { public static Symbol get(String name) { Symbol ret = symbolTable.get(name); if(ret == null) { ret = new Symbol(name); symbolTable.put(name, ret); } return ret; } protected  Symbol(); protected  Symbol(String name); static Symbol get(String name); String toString(); String toDotString(); int length(); }
Symbol { public static Symbol get(String name) { Symbol ret = symbolTable.get(name); if(ret == null) { ret = new Symbol(name); symbolTable.put(name, ret); } return ret; } protected  Symbol(); protected  Symbol(String name); static Symbol get(String name); String toString(); String toDotString(); int length();  }