зеркало из https://github.com/github/ruby.git
* use RB_TYPE_P which is optimized for constant types, instead of
comparison with TYPE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
68f97d7851
Коммит
8e6e8e6288
|
@ -1,3 +1,8 @@
|
|||
Thu Sep 29 20:07:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* use RB_TYPE_P which is optimized for constant types, instead of
|
||||
comparison with TYPE.
|
||||
|
||||
Wed Sep 28 09:20:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* configure.in (pthread_np.h): needs pthread.h to be included
|
||||
|
|
8
array.c
8
array.c
|
@ -2016,7 +2016,7 @@ enum {
|
|||
sort_optimizable_count
|
||||
};
|
||||
|
||||
#define STRING_P(s) (TYPE(s) == T_STRING && CLASS_OF(s) == rb_cString)
|
||||
#define STRING_P(s) (RB_TYPE_P((s), T_STRING) && CLASS_OF(s) == rb_cString)
|
||||
|
||||
#define SORT_OPTIMIZABLE_BIT(type) (1U << TOKEN_PASTE(sort_opt_,type))
|
||||
#define SORT_OPTIMIZABLE(data, type) \
|
||||
|
@ -3137,7 +3137,7 @@ rb_ary_rassoc(VALUE ary, VALUE value)
|
|||
|
||||
for (i = 0; i < RARRAY_LEN(ary); ++i) {
|
||||
v = RARRAY_PTR(ary)[i];
|
||||
if (TYPE(v) == T_ARRAY &&
|
||||
if (RB_TYPE_P(v, T_ARRAY) &&
|
||||
RARRAY_LEN(v) > 1 &&
|
||||
rb_equal(RARRAY_PTR(v)[1], value))
|
||||
return v;
|
||||
|
@ -3176,7 +3176,7 @@ static VALUE
|
|||
rb_ary_equal(VALUE ary1, VALUE ary2)
|
||||
{
|
||||
if (ary1 == ary2) return Qtrue;
|
||||
if (TYPE(ary2) != T_ARRAY) {
|
||||
if (!RB_TYPE_P(ary2, T_ARRAY)) {
|
||||
if (!rb_respond_to(ary2, rb_intern("to_ary"))) {
|
||||
return Qfalse;
|
||||
}
|
||||
|
@ -3211,7 +3211,7 @@ static VALUE
|
|||
rb_ary_eql(VALUE ary1, VALUE ary2)
|
||||
{
|
||||
if (ary1 == ary2) return Qtrue;
|
||||
if (TYPE(ary2) != T_ARRAY) return Qfalse;
|
||||
if (!RB_TYPE_P(ary2, T_ARRAY)) return Qfalse;
|
||||
if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;
|
||||
return rb_exec_recursive_paired(recursive_eql, ary1, ary2, ary2);
|
||||
}
|
||||
|
|
16
bignum.c
16
bignum.c
|
@ -101,7 +101,7 @@ rb_cmpint(VALUE val, VALUE a, VALUE b)
|
|||
if (l < 0) return -1;
|
||||
return 0;
|
||||
}
|
||||
if (TYPE(val) == T_BIGNUM) {
|
||||
if (RB_TYPE_P(val, T_BIGNUM)) {
|
||||
if (BIGZEROP(val)) return 0;
|
||||
if (RBIGNUM_SIGN(val)) return 1;
|
||||
return -1;
|
||||
|
@ -269,7 +269,7 @@ bigfixize(VALUE x)
|
|||
static VALUE
|
||||
bignorm(VALUE x)
|
||||
{
|
||||
if (!FIXNUM_P(x) && TYPE(x) == T_BIGNUM) {
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) {
|
||||
x = bigfixize(bigtrunc(x));
|
||||
}
|
||||
return x;
|
||||
|
@ -1628,7 +1628,7 @@ rb_big_eq(VALUE x, VALUE y)
|
|||
static VALUE
|
||||
rb_big_eql(VALUE x, VALUE y)
|
||||
{
|
||||
if (TYPE(y) != T_BIGNUM) return Qfalse;
|
||||
if (!RB_TYPE_P(y, T_BIGNUM)) return Qfalse;
|
||||
if (RBIGNUM_SIGN(x) != RBIGNUM_SIGN(y)) return Qfalse;
|
||||
if (RBIGNUM_LEN(x) != RBIGNUM_LEN(y)) return Qfalse;
|
||||
if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,RBIGNUM_LEN(y)) != 0) return Qfalse;
|
||||
|
@ -3107,7 +3107,7 @@ rb_big_pow(VALUE x, VALUE y)
|
|||
static inline VALUE
|
||||
bit_coerce(VALUE x)
|
||||
{
|
||||
while (!FIXNUM_P(x) && TYPE(x) != T_BIGNUM) {
|
||||
while (!FIXNUM_P(x) && !RB_TYPE_P(x, T_BIGNUM)) {
|
||||
rb_raise(rb_eTypeError,
|
||||
"can't convert %s into Integer for bitwise arithmetic",
|
||||
rb_obj_classname(x));
|
||||
|
@ -3434,7 +3434,7 @@ rb_big_lshift(VALUE x, VALUE y)
|
|||
}
|
||||
break;
|
||||
}
|
||||
else if (TYPE(y) == T_BIGNUM) {
|
||||
else if (RB_TYPE_P(y, T_BIGNUM)) {
|
||||
if (!RBIGNUM_SIGN(y)) {
|
||||
VALUE t = check_shiftdown(y, x);
|
||||
if (!NIL_P(t)) return t;
|
||||
|
@ -3498,7 +3498,7 @@ rb_big_rshift(VALUE x, VALUE y)
|
|||
}
|
||||
break;
|
||||
}
|
||||
else if (TYPE(y) == T_BIGNUM) {
|
||||
else if (RB_TYPE_P(y, T_BIGNUM)) {
|
||||
if (RBIGNUM_SIGN(y)) {
|
||||
VALUE t = check_shiftdown(y, x);
|
||||
if (!NIL_P(t)) return t;
|
||||
|
@ -3586,7 +3586,7 @@ rb_big_aref(VALUE x, VALUE y)
|
|||
VALUE shift;
|
||||
long i, s1, s2;
|
||||
|
||||
if (TYPE(y) == T_BIGNUM) {
|
||||
if (RB_TYPE_P(y, T_BIGNUM)) {
|
||||
if (!RBIGNUM_SIGN(y))
|
||||
return INT2FIX(0);
|
||||
bigtrunc(y);
|
||||
|
@ -3646,7 +3646,7 @@ rb_big_coerce(VALUE x, VALUE y)
|
|||
if (FIXNUM_P(y)) {
|
||||
return rb_assoc_new(rb_int2big(FIX2LONG(y)), x);
|
||||
}
|
||||
else if (TYPE(y) == T_BIGNUM) {
|
||||
else if (RB_TYPE_P(y, T_BIGNUM)) {
|
||||
return rb_assoc_new(y, x);
|
||||
}
|
||||
else {
|
||||
|
|
20
class.c
20
class.c
|
@ -93,7 +93,7 @@ rb_class_boot(VALUE super)
|
|||
void
|
||||
rb_check_inheritable(VALUE super)
|
||||
{
|
||||
if (TYPE(super) != T_CLASS) {
|
||||
if (!RB_TYPE_P(super, T_CLASS)) {
|
||||
rb_raise(rb_eTypeError, "superclass must be a Class (%s given)",
|
||||
rb_obj_classname(super));
|
||||
}
|
||||
|
@ -463,7 +463,7 @@ rb_define_class(const char *name, VALUE super)
|
|||
id = rb_intern(name);
|
||||
if (rb_const_defined(rb_cObject, id)) {
|
||||
klass = rb_const_get(rb_cObject, id);
|
||||
if (TYPE(klass) != T_CLASS) {
|
||||
if (!RB_TYPE_P(klass, T_CLASS)) {
|
||||
rb_raise(rb_eTypeError, "%s is not a class", name);
|
||||
}
|
||||
if (rb_class_real(RCLASS_SUPER(klass)) != super) {
|
||||
|
@ -530,7 +530,7 @@ rb_define_class_id_under(VALUE outer, ID id, VALUE super)
|
|||
|
||||
if (rb_const_defined_at(outer, id)) {
|
||||
klass = rb_const_get_at(outer, id);
|
||||
if (TYPE(klass) != T_CLASS) {
|
||||
if (!RB_TYPE_P(klass, T_CLASS)) {
|
||||
rb_raise(rb_eTypeError, "%s is not a class", rb_id2name(id));
|
||||
}
|
||||
if (rb_class_real(RCLASS_SUPER(klass)) != super) {
|
||||
|
@ -581,7 +581,7 @@ rb_define_module(const char *name)
|
|||
id = rb_intern(name);
|
||||
if (rb_const_defined(rb_cObject, id)) {
|
||||
module = rb_const_get(rb_cObject, id);
|
||||
if (TYPE(module) == T_MODULE)
|
||||
if (RB_TYPE_P(module, T_MODULE))
|
||||
return module;
|
||||
rb_raise(rb_eTypeError, "%s is not a module", rb_obj_classname(module));
|
||||
}
|
||||
|
@ -605,7 +605,7 @@ rb_define_module_id_under(VALUE outer, ID id)
|
|||
|
||||
if (rb_const_defined_at(outer, id)) {
|
||||
module = rb_const_get_at(outer, id);
|
||||
if (TYPE(module) == T_MODULE)
|
||||
if (RB_TYPE_P(module, T_MODULE))
|
||||
return module;
|
||||
rb_raise(rb_eTypeError, "%s::%s is not a module",
|
||||
rb_class2name(outer), rb_obj_classname(module));
|
||||
|
@ -636,7 +636,7 @@ include_class_new(VALUE module, VALUE super)
|
|||
RCLASS_CONST_TBL(klass) = RCLASS_CONST_TBL(module);
|
||||
RCLASS_M_TBL(klass) = RCLASS_M_TBL(module);
|
||||
RCLASS_SUPER(klass) = super;
|
||||
if (TYPE(module) == T_ICLASS) {
|
||||
if (RB_TYPE_P(module, T_ICLASS)) {
|
||||
RBASIC(klass)->klass = RBASIC(module)->klass;
|
||||
}
|
||||
else {
|
||||
|
@ -659,7 +659,7 @@ rb_include_module(VALUE klass, VALUE module)
|
|||
rb_secure(4);
|
||||
}
|
||||
|
||||
if (TYPE(module) != T_MODULE) {
|
||||
if (!RB_TYPE_P(module, T_MODULE)) {
|
||||
Check_Type(module, T_MODULE);
|
||||
}
|
||||
|
||||
|
@ -791,7 +791,7 @@ rb_mix_module(VALUE klass, VALUE module, st_table *constants, st_table *methods)
|
|||
rb_secure(4);
|
||||
}
|
||||
|
||||
if (TYPE(module) != T_MODULE) {
|
||||
if (!RB_TYPE_P(module, T_MODULE)) {
|
||||
Check_Type(module, T_MODULE);
|
||||
}
|
||||
|
||||
|
@ -1248,7 +1248,7 @@ rb_obj_singleton_methods(int argc, VALUE *argv, VALUE obj)
|
|||
klass = RCLASS_SUPER(klass);
|
||||
}
|
||||
if (RTEST(recur)) {
|
||||
while (klass && (FL_TEST(klass, FL_SINGLETON) || TYPE(klass) == T_ICLASS)) {
|
||||
while (klass && (FL_TEST(klass, FL_SINGLETON) || RB_TYPE_P(klass, T_ICLASS))) {
|
||||
st_foreach(RCLASS_M_TBL(klass), method_entry_i, (st_data_t)list);
|
||||
klass = RCLASS_SUPER(klass);
|
||||
}
|
||||
|
@ -1435,7 +1435,7 @@ rb_singleton_class(VALUE obj)
|
|||
VALUE klass = singleton_class_of(obj);
|
||||
|
||||
/* ensures an exposed class belongs to its own eigenclass */
|
||||
if (TYPE(obj) == T_CLASS) (void)ENSURE_EIGENCLASS(klass);
|
||||
if (RB_TYPE_P(obj, T_CLASS)) (void)ENSURE_EIGENCLASS(klass);
|
||||
|
||||
return klass;
|
||||
}
|
||||
|
|
|
@ -1263,7 +1263,7 @@ static st_index_t
|
|||
cdhash_hash(VALUE a)
|
||||
{
|
||||
if (SPECIAL_CONST_P(a)) return (st_index_t)a;
|
||||
if (TYPE(a) == T_STRING) return rb_str_hash(a);
|
||||
if (RB_TYPE_P(a, T_STRING)) return rb_str_hash(a);
|
||||
{
|
||||
VALUE hval = rb_hash(a);
|
||||
return (st_index_t)FIX2LONG(hval);
|
||||
|
@ -2335,7 +2335,7 @@ case_when_optimizable_literal(NODE * node)
|
|||
case NODE_LIT: {
|
||||
VALUE v = node->nd_lit;
|
||||
double ival;
|
||||
if (TYPE(v) == T_FLOAT &&
|
||||
if (RB_TYPE_P(v, T_FLOAT) &&
|
||||
modf(RFLOAT_VALUE(v), &ival) == 0.0) {
|
||||
return FIXABLE(ival) ? LONG2FIX((long)ival) : rb_dbl2big(ival);
|
||||
}
|
||||
|
@ -5314,7 +5314,7 @@ iseq_build_from_ary_body(rb_iseq_t *iseq, LINK_ANCHOR *anchor,
|
|||
else if (FIXNUM_P(obj)) {
|
||||
line_no = NUM2INT(obj);
|
||||
}
|
||||
else if (TYPE(obj) == T_ARRAY) {
|
||||
else if (RB_TYPE_P(obj, T_ARRAY)) {
|
||||
VALUE *argv = 0;
|
||||
int argc = RARRAY_LENINT(obj) - 1;
|
||||
st_data_t insn_id;
|
||||
|
@ -5356,7 +5356,7 @@ iseq_build_from_ary_body(rb_iseq_t *iseq, LINK_ANCHOR *anchor,
|
|||
case TS_ISEQ:
|
||||
{
|
||||
if (op != Qnil) {
|
||||
if (TYPE(op) == T_ARRAY) {
|
||||
if (RB_TYPE_P(op, T_ARRAY)) {
|
||||
argv[j] = rb_iseq_load(op, iseq->self, Qnil);
|
||||
}
|
||||
else if (CLASS_OF(op) == rb_cISeq) {
|
||||
|
|
10
complex.c
10
complex.c
|
@ -121,7 +121,7 @@ f_mul(VALUE x, VALUE y)
|
|||
if (FIXNUM_P(y)) {
|
||||
long iy = FIX2LONG(y);
|
||||
if (iy == 0) {
|
||||
if (FIXNUM_P(x) || TYPE(x) == T_BIGNUM)
|
||||
if (FIXNUM_P(x) || RB_TYPE_P(x, T_BIGNUM))
|
||||
return ZERO;
|
||||
}
|
||||
else if (iy == 1)
|
||||
|
@ -130,7 +130,7 @@ f_mul(VALUE x, VALUE y)
|
|||
else if (FIXNUM_P(x)) {
|
||||
long ix = FIX2LONG(x);
|
||||
if (ix == 0) {
|
||||
if (FIXNUM_P(y) || TYPE(y) == T_BIGNUM)
|
||||
if (FIXNUM_P(y) || RB_TYPE_P(y, T_BIGNUM))
|
||||
return ZERO;
|
||||
}
|
||||
else if (ix == 1)
|
||||
|
@ -166,14 +166,14 @@ fun1(real_p)
|
|||
inline static VALUE
|
||||
f_to_i(VALUE x)
|
||||
{
|
||||
if (TYPE(x) == T_STRING)
|
||||
if (RB_TYPE_P(x, T_STRING))
|
||||
return rb_str_to_inum(x, 10, 0);
|
||||
return rb_funcall(x, id_to_i, 0);
|
||||
}
|
||||
inline static VALUE
|
||||
f_to_f(VALUE x)
|
||||
{
|
||||
if (TYPE(x) == T_STRING)
|
||||
if (RB_TYPE_P(x, T_STRING))
|
||||
return DBL2NUM(rb_str_to_dbl(x, 0));
|
||||
return rb_funcall(x, id_to_f, 0);
|
||||
}
|
||||
|
@ -944,7 +944,7 @@ nucomp_coerce(VALUE self, VALUE other)
|
|||
{
|
||||
if (k_numeric_p(other) && f_real_p(other))
|
||||
return rb_assoc_new(f_complex_new_bang1(CLASS_OF(self), other), self);
|
||||
if (TYPE(other) == T_COMPLEX)
|
||||
if (RB_TYPE_P(other, T_COMPLEX))
|
||||
return rb_assoc_new(other, self);
|
||||
|
||||
rb_raise(rb_eTypeError, "%s can't be coerced into %s",
|
||||
|
|
2
enum.c
2
enum.c
|
@ -901,7 +901,7 @@ enum_sort_by(VALUE obj)
|
|||
|
||||
RETURN_ENUMERATOR(obj, 0, 0);
|
||||
|
||||
if (TYPE(obj) == T_ARRAY && RARRAY_LEN(obj) <= LONG_MAX/2) {
|
||||
if (RB_TYPE_P(obj, T_ARRAY) && RARRAY_LEN(obj) <= LONG_MAX/2) {
|
||||
ary = rb_ary_new2(RARRAY_LEN(obj)*2);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -590,7 +590,7 @@ enumerator_next_values(VALUE obj)
|
|||
static VALUE
|
||||
ary2sv(VALUE args, int dup)
|
||||
{
|
||||
if (TYPE(args) != T_ARRAY)
|
||||
if (!RB_TYPE_P(args, T_ARRAY))
|
||||
return args;
|
||||
|
||||
switch (RARRAY_LEN(args)) {
|
||||
|
|
2
error.c
2
error.c
|
@ -1134,7 +1134,7 @@ syserr_initialize(int argc, VALUE *argv, VALUE self)
|
|||
if (!NIL_P(error) && st_lookup(syserr_tbl, NUM2LONG(error), &data)) {
|
||||
klass = (VALUE)data;
|
||||
/* change class */
|
||||
if (TYPE(self) != T_OBJECT) { /* insurance to avoid type crash */
|
||||
if (!RB_TYPE_P(self, T_OBJECT)) { /* insurance to avoid type crash */
|
||||
rb_raise(rb_eTypeError, "invalid instance type");
|
||||
}
|
||||
RBASIC(self)->klass = klass;
|
||||
|
|
2
eval.c
2
eval.c
|
@ -169,7 +169,7 @@ ruby_cleanup(volatile int ex)
|
|||
if (!RTEST(err)) continue;
|
||||
|
||||
/* th->errinfo contains a NODE while break'ing */
|
||||
if (TYPE(err) == T_NODE) continue;
|
||||
if (RB_TYPE_P(err, T_NODE)) continue;
|
||||
|
||||
if (rb_obj_is_kind_of(err, rb_eSystemExit)) {
|
||||
ex = sysexit_status(err);
|
||||
|
|
|
@ -202,7 +202,7 @@ rb_print_undef(VALUE klass, ID id, int scope)
|
|||
}
|
||||
rb_name_error(id, "undefined%s method `%s' for %s `%s'", v,
|
||||
rb_id2name(id),
|
||||
(TYPE(klass) == T_MODULE) ? "module" : "class",
|
||||
(RB_TYPE_P(klass, T_MODULE)) ? "module" : "class",
|
||||
rb_class2name(klass));
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ rb_print_undef_str(VALUE klass, VALUE name)
|
|||
{
|
||||
rb_name_error_str(name, "undefined method `%s' for %s `%s'",
|
||||
RSTRING_PTR(name),
|
||||
(TYPE(klass) == T_MODULE) ? "module" : "class",
|
||||
(RB_TYPE_P(klass, T_MODULE)) ? "module" : "class",
|
||||
rb_class2name(klass));
|
||||
}
|
||||
|
||||
|
|
4
gc.c
4
gc.c
|
@ -3265,7 +3265,7 @@ count_objects(int argc, VALUE *argv, VALUE os)
|
|||
VALUE hash;
|
||||
|
||||
if (rb_scan_args(argc, argv, "01", &hash) == 1) {
|
||||
if (TYPE(hash) != T_HASH)
|
||||
if (!RB_TYPE_P(hash, T_HASH))
|
||||
rb_raise(rb_eTypeError, "non-hash given");
|
||||
}
|
||||
|
||||
|
@ -3384,7 +3384,7 @@ gc_stat(int argc, VALUE *argv, VALUE self)
|
|||
VALUE hash;
|
||||
|
||||
if (rb_scan_args(argc, argv, "01", &hash) == 1) {
|
||||
if (TYPE(hash) != T_HASH)
|
||||
if (!RB_TYPE_P(hash, T_HASH))
|
||||
rb_raise(rb_eTypeError, "non-hash given");
|
||||
}
|
||||
|
||||
|
|
4
hash.c
4
hash.c
|
@ -44,7 +44,7 @@ rb_any_cmp(VALUE a, VALUE b)
|
|||
if (FIXNUM_P(a) && FIXNUM_P(b)) {
|
||||
return a != b;
|
||||
}
|
||||
if (TYPE(a) == T_STRING && RBASIC(a)->klass == rb_cString &&
|
||||
if (RB_TYPE_P(a, T_STRING) && RBASIC(a)->klass == rb_cString &&
|
||||
TYPE(b) == T_STRING && RBASIC(b)->klass == rb_cString) {
|
||||
return rb_str_hash_cmp(a, b);
|
||||
}
|
||||
|
@ -1599,7 +1599,7 @@ hash_equal(VALUE hash1, VALUE hash2, int eql)
|
|||
struct equal_data data;
|
||||
|
||||
if (hash1 == hash2) return Qtrue;
|
||||
if (TYPE(hash2) != T_HASH) {
|
||||
if (!RB_TYPE_P(hash2, T_HASH)) {
|
||||
if (!rb_respond_to(hash2, rb_intern("to_hash"))) {
|
||||
return Qfalse;
|
||||
}
|
||||
|
|
24
io.c
24
io.c
|
@ -1053,7 +1053,7 @@ rb_io_flush(VALUE io)
|
|||
{
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (TYPE(io) != T_FILE) {
|
||||
if (!RB_TYPE_P(io, T_FILE)) {
|
||||
return rb_funcall(io, id_flush, 0);
|
||||
}
|
||||
|
||||
|
@ -2117,7 +2117,7 @@ rb_io_write_nonblock(VALUE io, VALUE str)
|
|||
long n;
|
||||
|
||||
rb_secure(4);
|
||||
if (TYPE(str) != T_STRING)
|
||||
if (!RB_TYPE_P(str, T_STRING))
|
||||
str = rb_obj_as_string(str);
|
||||
|
||||
io = GetWriteIO(io);
|
||||
|
@ -3144,7 +3144,7 @@ rb_io_getbyte(VALUE io)
|
|||
GetOpenFile(io, fptr);
|
||||
rb_io_check_byte_readable(fptr);
|
||||
READ_CHECK(fptr);
|
||||
if (fptr->fd == 0 && (fptr->mode & FMODE_TTY) && TYPE(rb_stdout) == T_FILE) {
|
||||
if (fptr->fd == 0 && (fptr->mode & FMODE_TTY) && RB_TYPE_P(rb_stdout, T_FILE)) {
|
||||
rb_io_t *ofp;
|
||||
GetOpenFile(rb_stdout, ofp);
|
||||
if (ofp->mode & FMODE_TTY) {
|
||||
|
@ -3243,7 +3243,7 @@ rb_io_ungetc(VALUE io, VALUE c)
|
|||
if (FIXNUM_P(c)) {
|
||||
c = rb_enc_uint_chr(FIX2UINT(c), io_read_encoding(fptr));
|
||||
}
|
||||
else if (TYPE(c) == T_BIGNUM) {
|
||||
else if (RB_TYPE_P(c, T_BIGNUM)) {
|
||||
c = rb_enc_uint_chr(NUM2UINT(c), io_read_encoding(fptr));
|
||||
}
|
||||
else {
|
||||
|
@ -3886,7 +3886,7 @@ rb_io_syswrite(VALUE io, VALUE str)
|
|||
long n;
|
||||
|
||||
rb_secure(4);
|
||||
if (TYPE(str) != T_STRING)
|
||||
if (!RB_TYPE_P(str, T_STRING))
|
||||
str = rb_obj_as_string(str);
|
||||
|
||||
io = GetWriteIO(io);
|
||||
|
@ -6113,7 +6113,7 @@ static VALUE
|
|||
rb_io_putc(VALUE io, VALUE ch)
|
||||
{
|
||||
VALUE str;
|
||||
if (TYPE(ch) == T_STRING) {
|
||||
if (RB_TYPE_P(ch, T_STRING)) {
|
||||
str = rb_str_substr(ch, 0, 1);
|
||||
}
|
||||
else {
|
||||
|
@ -6254,7 +6254,7 @@ void
|
|||
rb_p(VALUE obj) /* for debug print within C code */
|
||||
{
|
||||
VALUE str = rb_obj_as_string(rb_inspect(obj));
|
||||
if (TYPE(rb_stdout) == T_FILE &&
|
||||
if (RB_TYPE_P(rb_stdout, T_FILE) &&
|
||||
rb_method_basic_definition_p(CLASS_OF(rb_stdout), id_write)) {
|
||||
io_write(rb_stdout, str, 1);
|
||||
io_write(rb_stdout, rb_default_rs, 0);
|
||||
|
@ -6298,7 +6298,7 @@ rb_f_p(int argc, VALUE *argv, VALUE self)
|
|||
else if (argc > 1) {
|
||||
ret = rb_ary_new4(argc, argv);
|
||||
}
|
||||
if (TYPE(rb_stdout) == T_FILE) {
|
||||
if (RB_TYPE_P(rb_stdout, T_FILE)) {
|
||||
rb_io_flush(rb_stdout);
|
||||
}
|
||||
return ret;
|
||||
|
@ -6845,7 +6845,7 @@ argf_next_argv(VALUE argf)
|
|||
int stdout_binmode = 0;
|
||||
int fmode;
|
||||
|
||||
if (TYPE(rb_stdout) == T_FILE) {
|
||||
if (RB_TYPE_P(rb_stdout, T_FILE)) {
|
||||
GetOpenFile(rb_stdout, fptr);
|
||||
if (fptr->mode & FMODE_BINMODE)
|
||||
stdout_binmode = 1;
|
||||
|
@ -6885,7 +6885,7 @@ argf_next_argv(VALUE argf)
|
|||
VALUE str;
|
||||
int fw;
|
||||
|
||||
if (TYPE(rb_stdout) == T_FILE && rb_stdout != orig_stdout) {
|
||||
if (RB_TYPE_P(rb_stdout, T_FILE) && rb_stdout != orig_stdout) {
|
||||
rb_io_close(rb_stdout);
|
||||
}
|
||||
fstat(fr, &st);
|
||||
|
@ -7770,7 +7770,7 @@ rb_io_ctl(VALUE io, VALUE req, VALUE arg, int io_p)
|
|||
GetOpenFile(io, fptr);
|
||||
retval = io_cntl(fptr->fd, cmd, narg, io_p);
|
||||
if (retval < 0) rb_sys_fail_path(fptr->pathv);
|
||||
if (TYPE(arg) == T_STRING && RSTRING_PTR(arg)[len] != 17) {
|
||||
if (RB_TYPE_P(arg, T_STRING) && RSTRING_PTR(arg)[len] != 17) {
|
||||
rb_raise(rb_eArgError, "return value overflowed string");
|
||||
}
|
||||
|
||||
|
@ -9269,7 +9269,7 @@ rb_io_set_encoding(int argc, VALUE *argv, VALUE io)
|
|||
rb_io_t *fptr;
|
||||
VALUE v1, v2, opt;
|
||||
|
||||
if (TYPE(io) != T_FILE) {
|
||||
if (!RB_TYPE_P(io, T_FILE)) {
|
||||
return rb_funcall2(io, id_set_encoding, argc, argv);
|
||||
}
|
||||
|
||||
|
|
18
marshal.c
18
marshal.c
|
@ -210,7 +210,7 @@ class2path(VALUE klass)
|
|||
VALUE path = rb_class_path(klass);
|
||||
const char *n;
|
||||
|
||||
n = must_not_be_anonymous((TYPE(klass) == T_CLASS ? "class" : "module"), path);
|
||||
n = must_not_be_anonymous((RB_TYPE_P(klass, T_CLASS) ? "class" : "module"), path);
|
||||
if (rb_path_to_class(path) != rb_class_real(klass)) {
|
||||
rb_raise(rb_eTypeError, "%s can't be referred to", n);
|
||||
}
|
||||
|
@ -656,7 +656,7 @@ w_object(VALUE obj, struct dump_arg *arg, int limit)
|
|||
|
||||
v = rb_funcall(obj, s_dump, 1, INT2NUM(limit));
|
||||
check_dump_arg(arg, s_dump);
|
||||
if (TYPE(v) != T_STRING) {
|
||||
if (!RB_TYPE_P(v, T_STRING)) {
|
||||
rb_raise(rb_eTypeError, "_dump() must return string");
|
||||
}
|
||||
hasiv = has_ivars(obj, ivtbl);
|
||||
|
@ -1271,7 +1271,7 @@ path2class(VALUE path)
|
|||
{
|
||||
VALUE v = rb_path_to_class(path);
|
||||
|
||||
if (TYPE(v) != T_CLASS) {
|
||||
if (!RB_TYPE_P(v, T_CLASS)) {
|
||||
rb_raise(rb_eArgError, "%.*s does not refer to class",
|
||||
(int)RSTRING_LEN(path), RSTRING_PTR(path));
|
||||
}
|
||||
|
@ -1283,7 +1283,7 @@ path2module(VALUE path)
|
|||
{
|
||||
VALUE v = rb_path_to_class(path);
|
||||
|
||||
if (TYPE(v) != T_MODULE) {
|
||||
if (!RB_TYPE_P(v, T_MODULE)) {
|
||||
rb_raise(rb_eArgError, "%.*s does not refer to module",
|
||||
(int)RSTRING_LEN(path), RSTRING_PTR(path));
|
||||
}
|
||||
|
@ -1364,11 +1364,11 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod)
|
|||
rb_raise(rb_eTypeError, "singleton can't be loaded");
|
||||
}
|
||||
v = r_object0(arg, 0, extmod);
|
||||
if (rb_special_const_p(v) || TYPE(v) == T_OBJECT || TYPE(v) == T_CLASS) {
|
||||
if (rb_special_const_p(v) || RB_TYPE_P(v, T_OBJECT) || RB_TYPE_P(v, T_CLASS)) {
|
||||
format_error:
|
||||
rb_raise(rb_eArgError, "dump format error (user class)");
|
||||
}
|
||||
if (TYPE(v) == T_MODULE || !RTEST(rb_class_inherited_p(c, RBASIC(v)->klass))) {
|
||||
if (RB_TYPE_P(v, T_MODULE) || !RTEST(rb_class_inherited_p(c, RBASIC(v)->klass))) {
|
||||
VALUE tmp = rb_obj_alloc(c);
|
||||
|
||||
if (TYPE(v) != TYPE(tmp)) goto format_error;
|
||||
|
@ -1554,7 +1554,7 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod)
|
|||
long len = r_long(arg);
|
||||
|
||||
v = rb_obj_alloc(klass);
|
||||
if (TYPE(v) != T_STRUCT) {
|
||||
if (!RB_TYPE_P(v, T_STRUCT)) {
|
||||
rb_raise(rb_eTypeError, "class %s not a struct", rb_class2name(klass));
|
||||
}
|
||||
mem = rb_struct_s_members(klass);
|
||||
|
@ -1630,7 +1630,7 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod)
|
|||
{
|
||||
st_index_t idx = r_prepare(arg);
|
||||
v = obj_alloc_by_path(r_unique(arg), arg);
|
||||
if (TYPE(v) != T_OBJECT) {
|
||||
if (!RB_TYPE_P(v, T_OBJECT)) {
|
||||
rb_raise(rb_eArgError, "dump format error");
|
||||
}
|
||||
v = r_entry0(v, idx, arg);
|
||||
|
@ -1654,7 +1654,7 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod)
|
|||
else {
|
||||
v = rb_obj_alloc(klass);
|
||||
}
|
||||
if (TYPE(v) != T_DATA) {
|
||||
if (!RB_TYPE_P(v, T_DATA)) {
|
||||
rb_raise(rb_eArgError, "dump format error");
|
||||
}
|
||||
v = r_entry(v, arg);
|
||||
|
|
2
math.c
2
math.c
|
@ -24,7 +24,7 @@
|
|||
VALUE rb_mMath;
|
||||
VALUE rb_eMathDomainError;
|
||||
|
||||
#define Need_Float(x) do {if (TYPE(x) != T_FLOAT) {(x) = rb_to_float(x);}} while(0)
|
||||
#define Need_Float(x) do {if (!RB_TYPE_P(x, T_FLOAT)) {(x) = rb_to_float(x);}} while(0)
|
||||
#define Need_Float2(x,y) do {\
|
||||
Need_Float(x);\
|
||||
Need_Float(y);\
|
||||
|
|
10
numeric.c
10
numeric.c
|
@ -204,7 +204,7 @@ do_coerce(VALUE *x, VALUE *y, int err)
|
|||
a[0] = *x; a[1] = *y;
|
||||
|
||||
ary = rb_rescue(coerce_body, (VALUE)a, err?coerce_rescue:0, (VALUE)a);
|
||||
if (TYPE(ary) != T_ARRAY || RARRAY_LEN(ary) != 2) {
|
||||
if (!RB_TYPE_P(ary, T_ARRAY) || RARRAY_LEN(ary) != 2) {
|
||||
if (err) {
|
||||
rb_raise(rb_eTypeError, "coerce must return [x, y]");
|
||||
}
|
||||
|
@ -1272,7 +1272,7 @@ flo_le(VALUE x, VALUE y)
|
|||
static VALUE
|
||||
flo_eql(VALUE x, VALUE y)
|
||||
{
|
||||
if (TYPE(y) == T_FLOAT) {
|
||||
if (RB_TYPE_P(y, T_FLOAT)) {
|
||||
double a = RFLOAT_VALUE(x);
|
||||
double b = RFLOAT_VALUE(y);
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1300
|
||||
|
@ -1480,7 +1480,7 @@ int_round_0(VALUE num, int ndigits)
|
|||
if (neg) x = -x;
|
||||
return LONG2NUM(x);
|
||||
}
|
||||
if (TYPE(f) == T_FLOAT) {
|
||||
if (RB_TYPE_P(f, T_FLOAT)) {
|
||||
/* then int_pow overflow */
|
||||
return INT2FIX(0);
|
||||
}
|
||||
|
@ -1676,7 +1676,7 @@ num_truncate(VALUE num)
|
|||
int
|
||||
ruby_float_step(VALUE from, VALUE to, VALUE step, int excl)
|
||||
{
|
||||
if (TYPE(from) == T_FLOAT || TYPE(to) == T_FLOAT || TYPE(step) == T_FLOAT) {
|
||||
if (RB_TYPE_P(from, T_FLOAT) || RB_TYPE_P(to, T_FLOAT) || RB_TYPE_P(step, T_FLOAT)) {
|
||||
const double epsilon = DBL_EPSILON;
|
||||
double beg = NUM2DBL(from);
|
||||
double end = NUM2DBL(to);
|
||||
|
@ -2960,7 +2960,7 @@ fix_rev(VALUE num)
|
|||
static VALUE
|
||||
bit_coerce(VALUE x)
|
||||
{
|
||||
while (!FIXNUM_P(x) && TYPE(x) != T_BIGNUM) {
|
||||
while (!FIXNUM_P(x) && !RB_TYPE_P(x, T_BIGNUM)) {
|
||||
rb_raise(rb_eTypeError,
|
||||
"can't convert %s into Integer for bitwise arithmetic",
|
||||
rb_obj_classname(x));
|
||||
|
|
12
object.c
12
object.c
|
@ -432,7 +432,7 @@ inspect_obj(VALUE obj, VALUE str, int recur)
|
|||
static VALUE
|
||||
rb_obj_inspect(VALUE obj)
|
||||
{
|
||||
if (TYPE(obj) == T_OBJECT && rb_obj_basic_to_s_p(obj)) {
|
||||
if (RB_TYPE_P(obj, T_OBJECT) && rb_obj_basic_to_s_p(obj)) {
|
||||
int has_ivar = 0;
|
||||
VALUE *ptr = ROBJECT_IVPTR(obj);
|
||||
long len = ROBJECT_NUMIV(obj);
|
||||
|
@ -1661,7 +1661,7 @@ rb_class_superclass(VALUE klass)
|
|||
if (klass == rb_cBasicObject) return Qnil;
|
||||
rb_raise(rb_eTypeError, "uninitialized class");
|
||||
}
|
||||
while (TYPE(super) == T_ICLASS) {
|
||||
while (RB_TYPE_P(super, T_ICLASS)) {
|
||||
super = RCLASS_SUPER(super);
|
||||
}
|
||||
if (!super) {
|
||||
|
@ -2157,7 +2157,7 @@ rb_to_integer(VALUE val, const char *method)
|
|||
VALUE v;
|
||||
|
||||
if (FIXNUM_P(val)) return val;
|
||||
if (TYPE(val) == T_BIGNUM) return val;
|
||||
if (RB_TYPE_P(val, T_BIGNUM)) return val;
|
||||
v = convert_type(val, "Integer", method, TRUE);
|
||||
if (!rb_obj_is_kind_of(v, rb_cInteger)) {
|
||||
const char *cname = rb_obj_classname(val);
|
||||
|
@ -2173,7 +2173,7 @@ rb_check_to_integer(VALUE val, const char *method)
|
|||
VALUE v;
|
||||
|
||||
if (FIXNUM_P(val)) return val;
|
||||
if (TYPE(val) == T_BIGNUM) return val;
|
||||
if (RB_TYPE_P(val, T_BIGNUM)) return val;
|
||||
v = convert_type(val, "Integer", method, FALSE);
|
||||
if (!rb_obj_is_kind_of(v, rb_cInteger)) {
|
||||
return Qnil;
|
||||
|
@ -2437,7 +2437,7 @@ rb_f_float(VALUE obj, VALUE arg)
|
|||
VALUE
|
||||
rb_to_float(VALUE val)
|
||||
{
|
||||
if (TYPE(val) == T_FLOAT) return val;
|
||||
if (RB_TYPE_P(val, T_FLOAT)) return val;
|
||||
if (!rb_obj_is_kind_of(val, rb_cNumeric)) {
|
||||
rb_raise(rb_eTypeError, "can't convert %s into Float",
|
||||
NIL_P(val) ? "nil" :
|
||||
|
@ -2451,7 +2451,7 @@ rb_to_float(VALUE val)
|
|||
VALUE
|
||||
rb_check_to_float(VALUE val)
|
||||
{
|
||||
if (TYPE(val) == T_FLOAT) return val;
|
||||
if (RB_TYPE_P(val, T_FLOAT)) return val;
|
||||
if (!rb_obj_is_kind_of(val, rb_cNumeric)) {
|
||||
return Qnil;
|
||||
}
|
||||
|
|
6
pack.c
6
pack.c
|
@ -243,7 +243,7 @@ num2i32(VALUE x)
|
|||
x = rb_to_int(x); /* is nil OK? (should not) */
|
||||
|
||||
if (FIXNUM_P(x)) return FIX2LONG(x);
|
||||
if (TYPE(x) == T_BIGNUM) {
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) {
|
||||
return rb_big2ulong_pack(x);
|
||||
}
|
||||
rb_raise(rb_eTypeError, "can't convert %s to `integer'", rb_obj_classname(x));
|
||||
|
@ -995,9 +995,9 @@ pack_pack(VALUE ary, VALUE fmt)
|
|||
char c, *bufs, *bufe;
|
||||
|
||||
from = NEXTFROM;
|
||||
if (TYPE(from) == T_BIGNUM) {
|
||||
if (RB_TYPE_P(from, T_BIGNUM)) {
|
||||
VALUE big128 = rb_uint2big(128);
|
||||
while (TYPE(from) == T_BIGNUM) {
|
||||
while (RB_TYPE_P(from, T_BIGNUM)) {
|
||||
from = rb_big_divmod(from, big128);
|
||||
c = NUM2INT(RARRAY_PTR(from)[1]) | 0x80; /* mod */
|
||||
rb_str_buf_cat(buf, &c, sizeof(char));
|
||||
|
|
2
parse.y
2
parse.y
|
@ -5152,7 +5152,7 @@ debug_lines(const char *f)
|
|||
CONST_ID(script_lines, "SCRIPT_LINES__");
|
||||
if (rb_const_defined_at(rb_cObject, script_lines)) {
|
||||
VALUE hash = rb_const_get_at(rb_cObject, script_lines);
|
||||
if (TYPE(hash) == T_HASH) {
|
||||
if (RB_TYPE_P(hash, T_HASH)) {
|
||||
VALUE fname = rb_str_new2(f);
|
||||
VALUE lines = rb_ary_new();
|
||||
rb_hash_aset(hash, fname, lines);
|
||||
|
|
6
proc.c
6
proc.c
|
@ -951,7 +951,7 @@ mnew(VALUE klass, VALUE obj, ID id, VALUE mclass, int scope)
|
|||
}
|
||||
rb_name_error(id, "method `%s' for %s `%s' is %s",
|
||||
rb_id2name(id),
|
||||
(TYPE(klass) == T_MODULE) ? "module" : "class",
|
||||
(RB_TYPE_P(klass, T_MODULE)) ? "module" : "class",
|
||||
rb_class2name(klass),
|
||||
v);
|
||||
}
|
||||
|
@ -965,11 +965,11 @@ mnew(VALUE klass, VALUE obj, ID id, VALUE mclass, int scope)
|
|||
klass = me->klass;
|
||||
|
||||
while (rclass != klass &&
|
||||
(FL_TEST(rclass, FL_SINGLETON) || TYPE(rclass) == T_ICLASS)) {
|
||||
(FL_TEST(rclass, FL_SINGLETON) || RB_TYPE_P(rclass, T_ICLASS))) {
|
||||
rclass = RCLASS_SUPER(rclass);
|
||||
}
|
||||
|
||||
if (TYPE(klass) == T_ICLASS) {
|
||||
if (RB_TYPE_P(klass, T_ICLASS)) {
|
||||
klass = RBASIC(klass)->klass;
|
||||
}
|
||||
|
||||
|
|
|
@ -1418,7 +1418,7 @@ check_exec_redirect(VALUE key, VALUE val, VALUE options)
|
|||
flags = rb_ary_entry(val, 1);
|
||||
if (NIL_P(flags))
|
||||
flags = INT2NUM(O_RDONLY);
|
||||
else if (TYPE(flags) == T_STRING)
|
||||
else if (RB_TYPE_P(flags, T_STRING))
|
||||
flags = INT2NUM(rb_io_modestr_oflags(StringValueCStr(flags)));
|
||||
else
|
||||
flags = rb_to_int(flags);
|
||||
|
@ -1433,7 +1433,7 @@ check_exec_redirect(VALUE key, VALUE val, VALUE options)
|
|||
index = EXEC_OPTION_OPEN;
|
||||
path = val;
|
||||
FilePathValue(path);
|
||||
if (TYPE(key) == T_FILE)
|
||||
if (RB_TYPE_P(key, T_FILE))
|
||||
key = check_exec_redirect_fd(key, 1);
|
||||
if (FIXNUM_P(key) && (FIX2INT(key) == 1 || FIX2INT(key) == 2))
|
||||
flags = INT2NUM(O_WRONLY|O_CREAT|O_TRUNC);
|
||||
|
@ -1453,7 +1453,7 @@ check_exec_redirect(VALUE key, VALUE val, VALUE options)
|
|||
ary = hide_obj(rb_ary_new());
|
||||
rb_ary_store(options, index, ary);
|
||||
}
|
||||
if (TYPE(key) != T_ARRAY) {
|
||||
if (!RB_TYPE_P(key, T_ARRAY)) {
|
||||
VALUE fd = check_exec_redirect_fd(key, !NIL_P(param));
|
||||
rb_ary_push(ary, hide_obj(rb_assoc_new(fd, param)));
|
||||
}
|
||||
|
|
4
random.c
4
random.c
|
@ -1035,7 +1035,7 @@ rand_range(struct MT* mt, VALUE range)
|
|||
|
||||
if ((v = vmax = range_values(range, &beg, &end, &excl)) == Qfalse)
|
||||
return Qfalse;
|
||||
if (TYPE(vmax) != T_FLOAT && (v = rb_check_to_integer(vmax, "to_int"), !NIL_P(v))) {
|
||||
if (!RB_TYPE_P(vmax, T_FLOAT) && (v = rb_check_to_integer(vmax, "to_int"), !NIL_P(v))) {
|
||||
long max;
|
||||
vmax = v;
|
||||
v = Qnil;
|
||||
|
@ -1149,7 +1149,7 @@ random_rand(int argc, VALUE *argv, VALUE obj)
|
|||
if (NIL_P(vmax)) {
|
||||
v = Qnil;
|
||||
}
|
||||
else if (TYPE(vmax) != T_FLOAT && (v = rb_check_to_integer(vmax, "to_int"), !NIL_P(v))) {
|
||||
else if (!RB_TYPE_P(vmax, T_FLOAT) && (v = rb_check_to_integer(vmax, "to_int"), !NIL_P(v))) {
|
||||
v = rand_int(&rnd->mt, v, 1);
|
||||
}
|
||||
else if (v = rb_check_to_float(vmax), !NIL_P(v)) {
|
||||
|
|
6
range.c
6
range.c
|
@ -865,10 +865,10 @@ range_include(VALUE range, VALUE val)
|
|||
}
|
||||
return Qfalse;
|
||||
}
|
||||
else if (TYPE(beg) == T_STRING && TYPE(end) == T_STRING &&
|
||||
else if (RB_TYPE_P(beg, T_STRING) && RB_TYPE_P(end, T_STRING) &&
|
||||
RSTRING_LEN(beg) == 1 && RSTRING_LEN(end) == 1) {
|
||||
if (NIL_P(val)) return Qfalse;
|
||||
if (TYPE(val) == T_STRING) {
|
||||
if (RB_TYPE_P(val, T_STRING)) {
|
||||
if (RSTRING_LEN(val) == 0 || RSTRING_LEN(val) > 1)
|
||||
return Qfalse;
|
||||
else {
|
||||
|
@ -939,7 +939,7 @@ range_dumper(VALUE range)
|
|||
static VALUE
|
||||
range_loader(VALUE range, VALUE obj)
|
||||
{
|
||||
if (TYPE(obj) != T_OBJECT || RBASIC(obj)->klass != rb_cObject) {
|
||||
if (!RB_TYPE_P(obj, T_OBJECT) || RBASIC(obj)->klass != rb_cObject) {
|
||||
rb_raise(rb_eTypeError, "not a dumped range object");
|
||||
}
|
||||
|
||||
|
|
10
rational.c
10
rational.c
|
@ -106,7 +106,7 @@ f_mul(VALUE x, VALUE y)
|
|||
if (FIXNUM_P(y)) {
|
||||
long iy = FIX2LONG(y);
|
||||
if (iy == 0) {
|
||||
if (FIXNUM_P(x) || TYPE(x) == T_BIGNUM)
|
||||
if (FIXNUM_P(x) || RB_TYPE_P(x, T_BIGNUM))
|
||||
return ZERO;
|
||||
}
|
||||
else if (iy == 1)
|
||||
|
@ -115,7 +115,7 @@ f_mul(VALUE x, VALUE y)
|
|||
else if (FIXNUM_P(x)) {
|
||||
long ix = FIX2LONG(x);
|
||||
if (ix == 0) {
|
||||
if (FIXNUM_P(y) || TYPE(y) == T_BIGNUM)
|
||||
if (FIXNUM_P(y) || RB_TYPE_P(y, T_BIGNUM))
|
||||
return ZERO;
|
||||
}
|
||||
else if (ix == 1)
|
||||
|
@ -141,14 +141,14 @@ fun1(negate)
|
|||
inline static VALUE
|
||||
f_to_i(VALUE x)
|
||||
{
|
||||
if (TYPE(x) == T_STRING)
|
||||
if (RB_TYPE_P(x, T_STRING))
|
||||
return rb_str_to_inum(x, 10, 0);
|
||||
return rb_funcall(x, id_to_i, 0);
|
||||
}
|
||||
inline static VALUE
|
||||
f_to_f(VALUE x)
|
||||
{
|
||||
if (TYPE(x) == T_STRING)
|
||||
if (RB_TYPE_P(x, T_STRING))
|
||||
return DBL2NUM(rb_str_to_dbl(x, 0));
|
||||
return rb_funcall(x, id_to_f, 0);
|
||||
}
|
||||
|
@ -2161,7 +2161,7 @@ string_to_r(VALUE self)
|
|||
|
||||
a1 = RARRAY_PTR(a)[0];
|
||||
if (!NIL_P(a1)) {
|
||||
if (TYPE(a1) == T_FLOAT)
|
||||
if (RB_TYPE_P(a1, T_FLOAT))
|
||||
rb_raise(rb_eFloatDomainError, "Infinity");
|
||||
return a1;
|
||||
}
|
||||
|
|
6
re.c
6
re.c
|
@ -2587,7 +2587,7 @@ static VALUE
|
|||
rb_reg_equal(VALUE re1, VALUE re2)
|
||||
{
|
||||
if (re1 == re2) return Qtrue;
|
||||
if (TYPE(re2) != T_REGEXP) return Qfalse;
|
||||
if (!RB_TYPE_P(re2, T_REGEXP)) return Qfalse;
|
||||
rb_reg_check(re1); rb_reg_check(re2);
|
||||
if (FL_TEST(re1, KCODE_FIXED) != FL_TEST(re2, KCODE_FIXED)) return Qfalse;
|
||||
if (RREGEXP(re1)->ptr->options != RREGEXP(re2)->ptr->options) return Qfalse;
|
||||
|
@ -2635,7 +2635,7 @@ match_equal(VALUE match1, VALUE match2)
|
|||
{
|
||||
const struct re_registers *regs1, *regs2;
|
||||
if (match1 == match2) return Qtrue;
|
||||
if (TYPE(match2) != T_MATCH) return Qfalse;
|
||||
if (!RB_TYPE_P(match2, T_MATCH)) return Qfalse;
|
||||
if (!rb_str_equal(RMATCH(match1)->str, RMATCH(match2)->str)) return Qfalse;
|
||||
if (!rb_reg_equal(RMATCH(match1)->regexp, RMATCH(match2)->regexp)) return Qfalse;
|
||||
regs1 = RMATCH_REGS(match1);
|
||||
|
@ -2795,7 +2795,7 @@ rb_reg_match2(VALUE re)
|
|||
long start;
|
||||
VALUE line = rb_lastline_get();
|
||||
|
||||
if (TYPE(line) != T_STRING) {
|
||||
if (!RB_TYPE_P(line, T_STRING)) {
|
||||
rb_backref_set(Qnil);
|
||||
return Qnil;
|
||||
}
|
||||
|
|
2
ruby.c
2
ruby.c
|
@ -1137,7 +1137,7 @@ uscore_get(void)
|
|||
VALUE line;
|
||||
|
||||
line = rb_lastline_get();
|
||||
if (TYPE(line) != T_STRING) {
|
||||
if (!RB_TYPE_P(line, T_STRING)) {
|
||||
rb_raise(rb_eTypeError, "$_ value need to be String (%s given)",
|
||||
NIL_P(line) ? "nil" : rb_obj_classname(line));
|
||||
}
|
||||
|
|
2
safe.c
2
safe.c
|
@ -122,7 +122,7 @@ void
|
|||
rb_check_safe_str(VALUE x)
|
||||
{
|
||||
rb_check_safe_obj(x);
|
||||
if (TYPE(x) != T_STRING) {
|
||||
if (!RB_TYPE_P(x, T_STRING)) {
|
||||
rb_raise(rb_eTypeError, "wrong argument type %s (expected String)",
|
||||
rb_obj_classname(x));
|
||||
}
|
||||
|
|
26
string.c
26
string.c
|
@ -854,11 +854,11 @@ rb_obj_as_string(VALUE obj)
|
|||
{
|
||||
VALUE str;
|
||||
|
||||
if (TYPE(obj) == T_STRING) {
|
||||
if (RB_TYPE_P(obj, T_STRING)) {
|
||||
return obj;
|
||||
}
|
||||
str = rb_funcall(obj, id_to_s, 0);
|
||||
if (TYPE(str) != T_STRING)
|
||||
if (!RB_TYPE_P(str, T_STRING))
|
||||
return rb_any_to_s(obj);
|
||||
if (OBJ_TAINTED(obj)) OBJ_TAINT(str);
|
||||
return str;
|
||||
|
@ -1404,7 +1404,7 @@ VALUE
|
|||
rb_string_value(volatile VALUE *ptr)
|
||||
{
|
||||
VALUE s = *ptr;
|
||||
if (TYPE(s) != T_STRING) {
|
||||
if (!RB_TYPE_P(s, T_STRING)) {
|
||||
s = rb_str_to_str(s);
|
||||
*ptr = s;
|
||||
}
|
||||
|
@ -2075,7 +2075,7 @@ rb_str_concat(VALUE str1, VALUE str2)
|
|||
{
|
||||
unsigned int lc;
|
||||
|
||||
if (FIXNUM_P(str2) || TYPE(str2) == T_BIGNUM) {
|
||||
if (FIXNUM_P(str2) || RB_TYPE_P(str2, T_BIGNUM)) {
|
||||
if (rb_num_to_uint(str2, &lc) == 0) {
|
||||
}
|
||||
else if (FIXNUM_P(str2)) {
|
||||
|
@ -2250,7 +2250,7 @@ VALUE
|
|||
rb_str_equal(VALUE str1, VALUE str2)
|
||||
{
|
||||
if (str1 == str2) return Qtrue;
|
||||
if (TYPE(str2) != T_STRING) {
|
||||
if (!RB_TYPE_P(str2, T_STRING)) {
|
||||
if (!rb_respond_to(str2, rb_intern("to_str"))) {
|
||||
return Qfalse;
|
||||
}
|
||||
|
@ -2270,7 +2270,7 @@ static VALUE
|
|||
rb_str_eql(VALUE str1, VALUE str2)
|
||||
{
|
||||
if (str1 == str2) return Qtrue;
|
||||
if (TYPE(str2) != T_STRING) return Qfalse;
|
||||
if (!RB_TYPE_P(str2, T_STRING)) return Qfalse;
|
||||
return str_eql(str1, str2);
|
||||
}
|
||||
|
||||
|
@ -2302,7 +2302,7 @@ rb_str_cmp_m(VALUE str1, VALUE str2)
|
|||
{
|
||||
long result;
|
||||
|
||||
if (TYPE(str2) != T_STRING) {
|
||||
if (!RB_TYPE_P(str2, T_STRING)) {
|
||||
if (!rb_respond_to(str2, rb_intern("to_str"))) {
|
||||
return Qnil;
|
||||
}
|
||||
|
@ -2472,7 +2472,7 @@ rb_str_index_m(int argc, VALUE *argv, VALUE str)
|
|||
if (pos < 0) {
|
||||
pos += str_strlen(str, STR_ENC_GET(str));
|
||||
if (pos < 0) {
|
||||
if (TYPE(sub) == T_REGEXP) {
|
||||
if (RB_TYPE_P(sub, T_REGEXP)) {
|
||||
rb_backref_set(Qnil);
|
||||
}
|
||||
return Qnil;
|
||||
|
@ -2581,7 +2581,7 @@ rb_str_rindex_m(int argc, VALUE *argv, VALUE str)
|
|||
if (pos < 0) {
|
||||
pos += len;
|
||||
if (pos < 0) {
|
||||
if (TYPE(sub) == T_REGEXP) {
|
||||
if (RB_TYPE_P(sub, T_REGEXP)) {
|
||||
rb_backref_set(Qnil);
|
||||
}
|
||||
return Qnil;
|
||||
|
@ -5751,7 +5751,7 @@ rb_str_split_m(int argc, VALUE *argv, VALUE str)
|
|||
}
|
||||
else {
|
||||
fs_set:
|
||||
if (TYPE(spat) == T_STRING) {
|
||||
if (RB_TYPE_P(spat, T_STRING)) {
|
||||
rb_encoding *enc2 = STR_ENC_GET(spat);
|
||||
|
||||
split_type = string;
|
||||
|
@ -7064,7 +7064,7 @@ rb_str_partition(VALUE str, VALUE sep)
|
|||
long pos;
|
||||
int regex = FALSE;
|
||||
|
||||
if (TYPE(sep) == T_REGEXP) {
|
||||
if (RB_TYPE_P(sep, T_REGEXP)) {
|
||||
pos = rb_reg_search(sep, str, 0, 0);
|
||||
regex = TRUE;
|
||||
}
|
||||
|
@ -7114,7 +7114,7 @@ rb_str_rpartition(VALUE str, VALUE sep)
|
|||
long pos = RSTRING_LEN(str);
|
||||
int regex = FALSE;
|
||||
|
||||
if (TYPE(sep) == T_REGEXP) {
|
||||
if (RB_TYPE_P(sep, T_REGEXP)) {
|
||||
pos = rb_reg_search(sep, str, pos, 1);
|
||||
regex = TRUE;
|
||||
}
|
||||
|
@ -7206,7 +7206,7 @@ rb_str_end_with(int argc, VALUE *argv, VALUE str)
|
|||
void
|
||||
rb_str_setter(VALUE val, ID id, VALUE *var)
|
||||
{
|
||||
if (!NIL_P(val) && TYPE(val) != T_STRING) {
|
||||
if (!NIL_P(val) && !RB_TYPE_P(val, T_STRING)) {
|
||||
rb_raise(rb_eTypeError, "value of %s must be String", rb_id2name(id));
|
||||
}
|
||||
*var = val;
|
||||
|
|
12
struct.c
12
struct.c
|
@ -43,7 +43,7 @@ rb_struct_s_members(VALUE klass)
|
|||
if (NIL_P(members)) {
|
||||
rb_raise(rb_eTypeError, "uninitialized struct");
|
||||
}
|
||||
if (TYPE(members) != T_ARRAY) {
|
||||
if (!RB_TYPE_P(members, T_ARRAY)) {
|
||||
rb_raise(rb_eTypeError, "corrupted struct");
|
||||
}
|
||||
return members;
|
||||
|
@ -354,7 +354,7 @@ num_members(VALUE klass)
|
|||
{
|
||||
VALUE members;
|
||||
members = struct_ivar_get(klass, id_members);
|
||||
if (TYPE(members) != T_ARRAY) {
|
||||
if (!RB_TYPE_P(members, T_ARRAY)) {
|
||||
rb_raise(rb_eTypeError, "broken members");
|
||||
}
|
||||
return RARRAY_LEN(members);
|
||||
|
@ -644,7 +644,7 @@ rb_struct_aref(VALUE s, VALUE idx)
|
|||
{
|
||||
long i;
|
||||
|
||||
if (TYPE(idx) == T_STRING || TYPE(idx) == T_SYMBOL) {
|
||||
if (RB_TYPE_P(idx, T_STRING) || RB_TYPE_P(idx, T_SYMBOL)) {
|
||||
return rb_struct_aref_id(s, rb_to_id(idx));
|
||||
}
|
||||
|
||||
|
@ -709,7 +709,7 @@ rb_struct_aset(VALUE s, VALUE idx, VALUE val)
|
|||
{
|
||||
long i;
|
||||
|
||||
if (TYPE(idx) == T_STRING || TYPE(idx) == T_SYMBOL) {
|
||||
if (RB_TYPE_P(idx, T_STRING) || RB_TYPE_P(idx, T_SYMBOL)) {
|
||||
return rb_struct_aset_id(s, rb_to_id(idx), val);
|
||||
}
|
||||
|
||||
|
@ -827,7 +827,7 @@ static VALUE
|
|||
rb_struct_equal(VALUE s, VALUE s2)
|
||||
{
|
||||
if (s == s2) return Qtrue;
|
||||
if (TYPE(s2) != T_STRUCT) return Qfalse;
|
||||
if (!RB_TYPE_P(s2, T_STRUCT)) return Qfalse;
|
||||
if (rb_obj_class(s) != rb_obj_class(s2)) return Qfalse;
|
||||
if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
|
||||
rb_bug("inconsistent struct"); /* should never happen */
|
||||
|
@ -897,7 +897,7 @@ static VALUE
|
|||
rb_struct_eql(VALUE s, VALUE s2)
|
||||
{
|
||||
if (s == s2) return Qtrue;
|
||||
if (TYPE(s2) != T_STRUCT) return Qfalse;
|
||||
if (!RB_TYPE_P(s2, T_STRUCT)) return Qfalse;
|
||||
if (rb_obj_class(s) != rb_obj_class(s2)) return Qfalse;
|
||||
if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
|
||||
rb_bug("inconsistent struct"); /* should never happen */
|
||||
|
|
14
thread.c
14
thread.c
|
@ -493,7 +493,7 @@ thread_start_func_2(rb_thread_t *th, VALUE *stack_start, VALUE *register_stack_s
|
|||
|
||||
main_th = th->vm->main_thread;
|
||||
if (th != main_th) {
|
||||
if (TYPE(errinfo) == T_OBJECT) {
|
||||
if (RB_TYPE_P(errinfo, T_OBJECT)) {
|
||||
/* treat with normal error object */
|
||||
rb_threadptr_raise(main_th, 1, &errinfo);
|
||||
}
|
||||
|
@ -3738,7 +3738,7 @@ recursive_list_access(void)
|
|||
volatile VALUE hash = rb_thread_local_aref(rb_thread_current(), recursive_key);
|
||||
VALUE sym = ID2SYM(rb_frame_this_func());
|
||||
VALUE list;
|
||||
if (NIL_P(hash) || TYPE(hash) != T_HASH) {
|
||||
if (NIL_P(hash) || !RB_TYPE_P(hash, T_HASH)) {
|
||||
hash = rb_hash_new();
|
||||
OBJ_UNTRUST(hash);
|
||||
rb_thread_local_aset(rb_thread_current(), recursive_key, hash);
|
||||
|
@ -3747,7 +3747,7 @@ recursive_list_access(void)
|
|||
else {
|
||||
list = rb_hash_aref(hash, sym);
|
||||
}
|
||||
if (NIL_P(list) || TYPE(list) != T_HASH) {
|
||||
if (NIL_P(list) || !RB_TYPE_P(list, T_HASH)) {
|
||||
list = rb_hash_new();
|
||||
OBJ_UNTRUST(list);
|
||||
rb_hash_aset(hash, sym, list);
|
||||
|
@ -3768,7 +3768,7 @@ recursive_check(VALUE list, VALUE obj_id, VALUE paired_obj_id)
|
|||
if (pair_list == Qundef)
|
||||
return Qfalse;
|
||||
if (paired_obj_id) {
|
||||
if (TYPE(pair_list) != T_HASH) {
|
||||
if (!RB_TYPE_P(pair_list, T_HASH)) {
|
||||
if (pair_list != paired_obj_id)
|
||||
return Qfalse;
|
||||
}
|
||||
|
@ -3801,7 +3801,7 @@ recursive_push(VALUE list, VALUE obj, VALUE paired_obj)
|
|||
rb_hash_aset(list, obj, paired_obj);
|
||||
}
|
||||
else {
|
||||
if (TYPE(pair_list) != T_HASH){
|
||||
if (!RB_TYPE_P(pair_list, T_HASH)){
|
||||
VALUE other_paired_obj = pair_list;
|
||||
pair_list = rb_hash_new();
|
||||
OBJ_UNTRUST(pair_list);
|
||||
|
@ -3831,7 +3831,7 @@ recursive_pop(VALUE list, VALUE obj, VALUE paired_obj)
|
|||
rb_raise(rb_eTypeError, "invalid inspect_tbl pair_list for %s in %s",
|
||||
StringValuePtr(symname), StringValuePtr(thrname));
|
||||
}
|
||||
if (TYPE(pair_list) == T_HASH) {
|
||||
if (RB_TYPE_P(pair_list, T_HASH)) {
|
||||
rb_hash_delete(pair_list, paired_obj);
|
||||
if (!RHASH_EMPTY_P(pair_list)) {
|
||||
return; /* keep hash until is empty */
|
||||
|
@ -4424,7 +4424,7 @@ call_trace_proc(VALUE args, int tracing)
|
|||
if (id == ID_ALLOCATOR)
|
||||
return Qnil;
|
||||
if (klass) {
|
||||
if (TYPE(klass) == T_ICLASS) {
|
||||
if (RB_TYPE_P(klass, T_ICLASS)) {
|
||||
klass = RBASIC(klass)->klass;
|
||||
}
|
||||
else if (FL_TEST(klass, FL_SINGLETON)) {
|
||||
|
|
32
time.c
32
time.c
|
@ -73,7 +73,7 @@ add(VALUE x, VALUE y)
|
|||
if (FIXABLE(l)) return LONG2FIX(l);
|
||||
return LONG2NUM(l);
|
||||
}
|
||||
if (TYPE(x) == T_BIGNUM) return rb_big_plus(x, y);
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) return rb_big_plus(x, y);
|
||||
return rb_funcall(x, '+', 1, y);
|
||||
}
|
||||
|
||||
|
@ -85,7 +85,7 @@ sub(VALUE x, VALUE y)
|
|||
if (FIXABLE(l)) return LONG2FIX(l);
|
||||
return LONG2NUM(l);
|
||||
}
|
||||
if (TYPE(x) == T_BIGNUM) return rb_big_minus(x, y);
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) return rb_big_minus(x, y);
|
||||
return rb_funcall(x, '-', 1, y);
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ mul(VALUE x, VALUE y)
|
|||
return LONG2NUM(z);
|
||||
#endif
|
||||
}
|
||||
if (TYPE(x) == T_BIGNUM)
|
||||
if (RB_TYPE_P(x, T_BIGNUM))
|
||||
return rb_big_mul(x, y);
|
||||
return rb_funcall(x, '*', 1, y);
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ quo(VALUE x, VALUE y)
|
|||
}
|
||||
}
|
||||
ret = rb_funcall(x, id_quo, 1, y);
|
||||
if (TYPE(ret) == T_RATIONAL &&
|
||||
if (RB_TYPE_P(ret, T_RATIONAL) &&
|
||||
RRATIONAL(ret)->den == INT2FIX(1)) {
|
||||
ret = RRATIONAL(ret)->num;
|
||||
}
|
||||
|
@ -391,7 +391,7 @@ v2w(VALUE v)
|
|||
if (FIXNUM_P(v)) {
|
||||
return WIDEVAL_WRAP((WIDEVALUE)(SIGNED_WIDEVALUE)(long)v);
|
||||
}
|
||||
else if (TYPE(v) == T_BIGNUM &&
|
||||
else if (RB_TYPE_P(v, T_BIGNUM) &&
|
||||
RBIGNUM_LEN(v) * sizeof(BDIGIT) <= sizeof(WIDEVALUE)) {
|
||||
return v2w_bignum(v);
|
||||
}
|
||||
|
@ -451,7 +451,7 @@ wadd(wideval_t wx, wideval_t wy)
|
|||
else
|
||||
#endif
|
||||
x = w2v(wx);
|
||||
if (TYPE(x) == T_BIGNUM) return v2w(rb_big_plus(x, w2v(wy)));
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) return v2w(rb_big_plus(x, w2v(wy)));
|
||||
return v2w(rb_funcall(x, '+', 1, w2v(wy)));
|
||||
}
|
||||
|
||||
|
@ -467,7 +467,7 @@ wsub(wideval_t wx, wideval_t wy)
|
|||
else
|
||||
#endif
|
||||
x = w2v(wx);
|
||||
if (TYPE(x) == T_BIGNUM) return v2w(rb_big_minus(x, w2v(wy)));
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) return v2w(rb_big_minus(x, w2v(wy)));
|
||||
return v2w(rb_funcall(x, '-', 1, w2v(wy)));
|
||||
}
|
||||
|
||||
|
@ -525,9 +525,9 @@ wmul(wideval_t wx, wideval_t wy)
|
|||
}
|
||||
#endif
|
||||
x = w2v(wx);
|
||||
if (TYPE(x) == T_BIGNUM) return v2w(rb_big_mul(x, w2v(wy)));
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) return v2w(rb_big_mul(x, w2v(wy)));
|
||||
z = rb_funcall(x, '*', 1, w2v(wy));
|
||||
if (TYPE(z) == T_RATIONAL && RRATIONAL(z)->den == INT2FIX(1)) {
|
||||
if (RB_TYPE_P(z, T_RATIONAL) && RRATIONAL(z)->den == INT2FIX(1)) {
|
||||
z = RRATIONAL(z)->num;
|
||||
}
|
||||
return v2w(z);
|
||||
|
@ -552,7 +552,7 @@ wquo(wideval_t wx, wideval_t wy)
|
|||
x = w2v(wx);
|
||||
y = w2v(wy);
|
||||
ret = rb_funcall(x, id_quo, 1, y);
|
||||
if (TYPE(ret) == T_RATIONAL &&
|
||||
if (RB_TYPE_P(ret, T_RATIONAL) &&
|
||||
RRATIONAL(ret)->den == INT2FIX(1)) {
|
||||
ret = RRATIONAL(ret)->num;
|
||||
}
|
||||
|
@ -2536,7 +2536,7 @@ static const char months[][4] = {
|
|||
static int
|
||||
obj2int(VALUE obj)
|
||||
{
|
||||
if (TYPE(obj) == T_STRING) {
|
||||
if (RB_TYPE_P(obj, T_STRING)) {
|
||||
obj = rb_str_to_inum(obj, 10, FALSE);
|
||||
}
|
||||
|
||||
|
@ -2546,7 +2546,7 @@ obj2int(VALUE obj)
|
|||
static VALUE
|
||||
obj2vint(VALUE obj)
|
||||
{
|
||||
if (TYPE(obj) == T_STRING) {
|
||||
if (RB_TYPE_P(obj, T_STRING)) {
|
||||
obj = rb_str_to_inum(obj, 10, FALSE);
|
||||
}
|
||||
else {
|
||||
|
@ -2561,7 +2561,7 @@ obj2subsecx(VALUE obj, VALUE *subsecx)
|
|||
{
|
||||
VALUE subsec;
|
||||
|
||||
if (TYPE(obj) == T_STRING) {
|
||||
if (RB_TYPE_P(obj, T_STRING)) {
|
||||
obj = rb_str_to_inum(obj, 10, FALSE);
|
||||
*subsecx = INT2FIX(0);
|
||||
return NUM2INT(obj);
|
||||
|
@ -2575,7 +2575,7 @@ obj2subsecx(VALUE obj, VALUE *subsecx)
|
|||
static long
|
||||
usec2subsecx(VALUE obj)
|
||||
{
|
||||
if (TYPE(obj) == T_STRING) {
|
||||
if (RB_TYPE_P(obj, T_STRING)) {
|
||||
obj = rb_str_to_inum(obj, 10, FALSE);
|
||||
}
|
||||
|
||||
|
@ -3216,7 +3216,7 @@ time_to_r(VALUE time)
|
|||
|
||||
GetTimeval(time, tobj);
|
||||
v = w2v(rb_time_unmagnify(tobj->timew));
|
||||
if (TYPE(v) != T_RATIONAL) {
|
||||
if (!RB_TYPE_P(v, T_RATIONAL)) {
|
||||
v = rb_Rational1(v);
|
||||
}
|
||||
return v;
|
||||
|
@ -4642,7 +4642,7 @@ time_mdump(VALUE time)
|
|||
str = rb_str_new(buf, 8);
|
||||
rb_copy_generic_ivar(str, time);
|
||||
if (!rb_equal(nano, INT2FIX(0))) {
|
||||
if (TYPE(nano) == T_RATIONAL) {
|
||||
if (RB_TYPE_P(nano, T_RATIONAL)) {
|
||||
rb_ivar_set(str, id_nano_num, RRATIONAL(nano)->num);
|
||||
rb_ivar_set(str, id_nano_den, RRATIONAL(nano)->den);
|
||||
}
|
||||
|
|
|
@ -2294,7 +2294,7 @@ transcode_loop(const unsigned char **in_pos, unsigned char **out_pos,
|
|||
if (!ec)
|
||||
rb_exc_raise(rb_econv_open_exc(src_encoding, dst_encoding, ecflags));
|
||||
|
||||
if (!NIL_P(ecopts) && TYPE(ecopts) == T_HASH) {
|
||||
if (!NIL_P(ecopts) && RB_TYPE_P(ecopts, T_HASH)) {
|
||||
fallback = rb_hash_aref(ecopts, sym_fallback);
|
||||
if (RB_TYPE_P(fallback, T_HASH)) {
|
||||
fallback_func = hash_fallback;
|
||||
|
@ -2471,7 +2471,7 @@ econv_opts(VALUE opt, int ecflags)
|
|||
else if (v==sym_attr) {
|
||||
ecflags |= ECONV_XML_ATTR_CONTENT_DECORATOR|ECONV_XML_ATTR_QUOTE_DECORATOR|ECONV_UNDEF_HEX_CHARREF;
|
||||
}
|
||||
else if (TYPE(v) == T_SYMBOL) {
|
||||
else if (RB_TYPE_P(v, T_SYMBOL)) {
|
||||
rb_raise(rb_eArgError, "unexpected value for xml option: %s", rb_id2name(SYM2ID(v)));
|
||||
}
|
||||
else {
|
||||
|
@ -2593,7 +2593,7 @@ rb_econv_open_opts(const char *source_encoding, const char *destination_encoding
|
|||
replacement = Qnil;
|
||||
}
|
||||
else {
|
||||
if (TYPE(opthash) != T_HASH || !OBJ_FROZEN(opthash))
|
||||
if (!RB_TYPE_P(opthash, T_HASH) || !OBJ_FROZEN(opthash))
|
||||
rb_bug("rb_econv_open_opts called with invalid opthash");
|
||||
replacement = rb_hash_aref(opthash, sym_replace);
|
||||
}
|
||||
|
@ -3057,7 +3057,7 @@ decorate_convpath(VALUE convpath, int ecflags)
|
|||
len = n = RARRAY_LENINT(convpath);
|
||||
if (n != 0) {
|
||||
VALUE pair = RARRAY_PTR(convpath)[n-1];
|
||||
if (TYPE(pair) == T_ARRAY) {
|
||||
if (RB_TYPE_P(pair, T_ARRAY)) {
|
||||
const char *sname = rb_enc_name(rb_to_encoding(RARRAY_PTR(pair)[0]));
|
||||
const char *dname = rb_enc_name(rb_to_encoding(RARRAY_PTR(pair)[1]));
|
||||
transcoder_entry_t *entry = get_transcoder_entry(sname, dname);
|
||||
|
|
|
@ -161,7 +161,7 @@ classname(VALUE klass)
|
|||
else {
|
||||
path = (VALUE)n;
|
||||
}
|
||||
if (TYPE(path) != T_STRING) {
|
||||
if (!RB_TYPE_P(path, T_STRING)) {
|
||||
rb_bug("class path is not set properly");
|
||||
}
|
||||
return path;
|
||||
|
@ -199,7 +199,7 @@ rb_class_path(VALUE klass)
|
|||
else {
|
||||
const char *s = "Class";
|
||||
|
||||
if (TYPE(klass) == T_MODULE) {
|
||||
if (RB_TYPE_P(klass, T_MODULE)) {
|
||||
if (rb_obj_class(klass) == rb_cModule) {
|
||||
s = "Module";
|
||||
}
|
||||
|
@ -2157,7 +2157,7 @@ rb_mod_public_constant(int argc, VALUE *argv, VALUE obj)
|
|||
static VALUE
|
||||
original_module(VALUE c)
|
||||
{
|
||||
if (TYPE(c) == T_ICLASS)
|
||||
if (RB_TYPE_P(c, T_ICLASS))
|
||||
return RBASIC(c)->klass;
|
||||
return c;
|
||||
}
|
||||
|
|
|
@ -410,7 +410,7 @@ rb_method_call_status(rb_thread_t *th, const rb_method_entry_t *me, call_type sc
|
|||
if (((noex & NOEX_MASK) & NOEX_PROTECTED) && scope == CALL_PUBLIC) {
|
||||
VALUE defined_class = klass;
|
||||
|
||||
if (TYPE(defined_class) == T_ICLASS) {
|
||||
if (RB_TYPE_P(defined_class, T_ICLASS)) {
|
||||
defined_class = RBASIC(defined_class)->klass;
|
||||
}
|
||||
|
||||
|
@ -1063,9 +1063,9 @@ eval_string_with_cref(VALUE self, VALUE src, VALUE scope, NODE *cref, const char
|
|||
CONST_ID(id_mesg, "mesg");
|
||||
errat = rb_get_backtrace(errinfo);
|
||||
mesg = rb_attr_get(errinfo, id_mesg);
|
||||
if (!NIL_P(errat) && TYPE(errat) == T_ARRAY &&
|
||||
if (!NIL_P(errat) && RB_TYPE_P(errat, T_ARRAY) &&
|
||||
(bt2 = vm_backtrace(th, -2), RARRAY_LEN(bt2) > 0)) {
|
||||
if (!NIL_P(mesg) && TYPE(mesg) == T_STRING && !RSTRING_LEN(mesg)) {
|
||||
if (!NIL_P(mesg) && RB_TYPE_P(mesg, T_STRING) && !RSTRING_LEN(mesg)) {
|
||||
if (OBJ_FROZEN(mesg)) {
|
||||
VALUE m = rb_str_cat(rb_str_dup(RARRAY_PTR(errat)[0]), ": ", 2);
|
||||
rb_ivar_set(errinfo, id_mesg, rb_str_append(m, mesg));
|
||||
|
@ -1189,7 +1189,7 @@ rb_eval_cmd(VALUE cmd, VALUE arg, int level)
|
|||
level = 4;
|
||||
}
|
||||
|
||||
if (TYPE(cmd) != T_STRING) {
|
||||
if (!RB_TYPE_P(cmd, T_STRING)) {
|
||||
PUSH_TAG();
|
||||
rb_set_safe_level_force(level);
|
||||
if ((state = EXEC_TAG()) == 0) {
|
||||
|
|
|
@ -1282,7 +1282,7 @@ static VALUE
|
|||
vm_getivar(VALUE obj, ID id, IC ic)
|
||||
{
|
||||
#if USE_IC_FOR_IVAR
|
||||
if (TYPE(obj) == T_OBJECT) {
|
||||
if (RB_TYPE_P(obj, T_OBJECT)) {
|
||||
VALUE val = Qundef;
|
||||
VALUE klass = RBASIC(obj)->klass;
|
||||
|
||||
|
@ -1337,7 +1337,7 @@ vm_setivar(VALUE obj, ID id, VALUE val, IC ic)
|
|||
|
||||
rb_check_frozen(obj);
|
||||
|
||||
if (TYPE(obj) == T_OBJECT) {
|
||||
if (RB_TYPE_P(obj, T_OBJECT)) {
|
||||
VALUE klass = RBASIC(obj)->klass;
|
||||
st_data_t index;
|
||||
|
||||
|
@ -1645,7 +1645,7 @@ vm_expandarray(rb_control_frame_t *cfp, VALUE ary, rb_num_t num, int flag)
|
|||
volatile VALUE tmp_ary;
|
||||
rb_num_t len;
|
||||
|
||||
if (TYPE(ary) != T_ARRAY) {
|
||||
if (!RB_TYPE_P(ary, T_ARRAY)) {
|
||||
ary = rb_ary_to_ary(ary);
|
||||
}
|
||||
|
||||
|
|
|
@ -521,7 +521,7 @@ rb_export_method(VALUE klass, ID name, rb_method_flag_t noex)
|
|||
}
|
||||
|
||||
me = search_method(klass, name);
|
||||
if (!me && TYPE(klass) == T_MODULE) {
|
||||
if (!me && RB_TYPE_P(klass, T_MODULE)) {
|
||||
me = search_method(rb_cObject, name);
|
||||
}
|
||||
|
||||
|
@ -639,7 +639,7 @@ rb_undef(VALUE klass, ID id)
|
|||
s0 = "";
|
||||
}
|
||||
}
|
||||
else if (TYPE(c) == T_MODULE) {
|
||||
else if (RB_TYPE_P(c, T_MODULE)) {
|
||||
s0 = " module";
|
||||
}
|
||||
rb_name_error(id, "undefined method `%s' for%s `%s'",
|
||||
|
@ -922,7 +922,7 @@ rb_alias(VALUE klass, ID name, ID def)
|
|||
orig_me = search_method(klass, def);
|
||||
|
||||
if (UNDEFINED_METHOD_ENTRY_P(orig_me)) {
|
||||
if ((TYPE(klass) != T_MODULE) ||
|
||||
if ((!RB_TYPE_P(klass, T_MODULE)) ||
|
||||
(orig_me = search_method(rb_cObject, def), UNDEFINED_METHOD_ENTRY_P(orig_me))) {
|
||||
rb_print_undef(klass, def, 0);
|
||||
}
|
||||
|
@ -1176,7 +1176,7 @@ rb_mod_modfunc(int argc, VALUE *argv, VALUE module)
|
|||
ID id;
|
||||
const rb_method_entry_t *me;
|
||||
|
||||
if (TYPE(module) != T_MODULE) {
|
||||
if (!RB_TYPE_P(module, T_MODULE)) {
|
||||
rb_raise(rb_eTypeError, "module_function must be called for modules");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче