class JSString extends JSPrimitive {
final String s;
public JSString(String s) { this.s = s; }
public int hashCode() { return s.hashCode(); }
class JSString extends JSPrimitive {
final String s;
public JSString(String s) { this.s = s; }
public int hashCode() { return s.hashCode(); }
if(o == this) return true;
if(o instanceof JSString) {
return ((JSString)o).s.equals(s);
} else if(o instanceof JSNumber) {
if(o == this) return true;
if(o instanceof JSString) {
return ((JSString)o).s.equals(s);
} else if(o instanceof JSNumber) {
static synchronized JS intern(String s) {
synchronized(internHash) {
JS js = (JS)internHash.get(s);
static synchronized JS intern(String s) {
synchronized(internHash) {
JS js = (JS)internHash.get(s);