return AConstant.CHAR((char)((Number)value).intValue());
return AConstant.CHAR(((Character)value).charValue());
    public AConstant getConstant(Symbol base, Object value) {        if (base == global.definitions.BOOLEAN_CLASS)            return AConstant.BOOLEAN(((Number)value).intValue() != 0);        if (base == global.definitions.BYTE_CLASS)            return AConstant.BYTE(((Number)value).byteValue());        if (base == global.definitions.SHORT_CLASS)            return AConstant.SHORT(((Number)value).shortValue());        if (base == global.definitions.CHAR_CLASS)            return AConstant.CHAR((char)((Number)value).intValue());        if (base == global.definitions.INT_CLASS)            return AConstant.INT(((Number)value).intValue());        if (base == global.definitions.LONG_CLASS)            return AConstant.LONG(((Number)value).longValue());        if (base == global.definitions.FLOAT_CLASS)            return AConstant.FLOAT(((Number)value).floatValue());        if (base == global.definitions.DOUBLE_CLASS)            return AConstant.DOUBLE(((Number)value).doubleValue());        if (base == global.definitions.STRING_CLASS)            return AConstant.STRING((String)value);    	throw Debug.abort("illegal value", Debug.show(value, " - ", base));    }