macro IS_STRING(arg) = (typeof(arg) === 'string');
macro IS_OBJECT(arg) = (typeof(arg) === 'object');
macro IS_BOOLEAN(arg) = (typeof(arg) === 'boolean');
-macro IS_REGEXP(arg) = (%ClassOf(arg) === 'RegExp');
-macro IS_ARRAY(arg) = %IsArrayClass(arg);
-macro IS_DATE(arg) = %IsDateClass(arg);
+macro IS_REGEXP(arg) = %HasRegExpClass(arg);
+macro IS_ARRAY(arg) = %HasArrayClass(arg);
+macro IS_DATE(arg) = %HasDateClass(arg);
macro IS_ERROR(arg) = (%ClassOf(arg) === 'Error');
macro IS_SCRIPT(arg) = (%ClassOf(arg) === 'Script');
macro FLOOR(arg) = %Math_floor(arg);
// ECMA-262 section 15.5.4.2
function StringToString() {
- if (!IS_STRING(this) && !%IsStringClass(this))
+ if (!IS_STRING(this) && !%HasStringClass(this))
throw new $TypeError('String.prototype.toString is not generic');
return %_ValueOf(this);
}
// ECMA-262 section 15.5.4.3
function StringValueOf() {
- if (!IS_STRING(this) && !%IsStringClass(this))
+ if (!IS_STRING(this) && !%HasStringClass(this))
throw new $TypeError('String.prototype.valueOf is not generic');
return %_ValueOf(this);
}