Navigation Menu

Skip to content

Commit

Permalink
* expand tabs.
Browse files Browse the repository at this point in the history
  • Loading branch information
matzbot committed Jun 22, 2019
1 parent ef524c1 commit c5c3486
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 71 deletions.
114 changes: 57 additions & 57 deletions object.c
Expand Up @@ -2733,87 +2733,87 @@ rb_mod_const_source_location(int argc, VALUE *argv, VALUE mod)
recur = (argc == 1) ? Qtrue : argv[1];

if (SYMBOL_P(name)) {
if (!rb_is_const_sym(name)) goto wrong_name;
id = rb_check_id(&name);
if (!id) return Qnil;
return RTEST(recur) ? rb_const_source_location(mod, id) : rb_const_source_location_at(mod, id);
if (!rb_is_const_sym(name)) goto wrong_name;
id = rb_check_id(&name);
if (!id) return Qnil;
return RTEST(recur) ? rb_const_source_location(mod, id) : rb_const_source_location_at(mod, id);
}

path = StringValuePtr(name);
enc = rb_enc_get(name);

if (!rb_enc_asciicompat(enc)) {
rb_raise(rb_eArgError, "invalid class path encoding (non ASCII)");
rb_raise(rb_eArgError, "invalid class path encoding (non ASCII)");
}

pbeg = p = path;
pend = path + RSTRING_LEN(name);

if (p >= pend || !*p) {
wrong_name:
rb_name_err_raise(wrong_constant_name, mod, name);
rb_name_err_raise(wrong_constant_name, mod, name);
}

if (p + 2 < pend && p[0] == ':' && p[1] == ':') {
mod = rb_cObject;
p += 2;
pbeg = p;
mod = rb_cObject;
p += 2;
pbeg = p;
}

while (p < pend) {
VALUE part;
long len, beglen;
VALUE part;
long len, beglen;

while (p < pend && *p != ':') p++;
while (p < pend && *p != ':') p++;

if (pbeg == p) goto wrong_name;
if (pbeg == p) goto wrong_name;

id = rb_check_id_cstr(pbeg, len = p-pbeg, enc);
beglen = pbeg-path;
id = rb_check_id_cstr(pbeg, len = p-pbeg, enc);
beglen = pbeg-path;

if (p < pend && p[0] == ':') {
if (p + 2 >= pend || p[1] != ':') goto wrong_name;
p += 2;
pbeg = p;
}
if (p < pend && p[0] == ':') {
if (p + 2 >= pend || p[1] != ':') goto wrong_name;
p += 2;
pbeg = p;
}

if (!id) {
part = rb_str_subseq(name, beglen, len);
OBJ_FREEZE(part);
if (!rb_is_const_name(part)) {
name = part;
goto wrong_name;
}
else {
return Qnil;
}
}
if (!rb_is_const_id(id)) {
name = ID2SYM(id);
goto wrong_name;
}
if (p < pend) {
if (RTEST(recur)) {
mod = rb_const_get(mod, id);
}
else {
mod = rb_const_get_at(mod, id);
}
if (!RB_TYPE_P(mod, T_MODULE) && !RB_TYPE_P(mod, T_CLASS)) {
rb_raise(rb_eTypeError, "%"PRIsVALUE" does not refer to class/module",
QUOTE(name));
}
}
else {
if (RTEST(recur)) {
loc = rb_const_source_location(mod, id);
}
else {
loc = rb_const_source_location_at(mod, id);
}
break;
}
recur = Qfalse;
if (!id) {
part = rb_str_subseq(name, beglen, len);
OBJ_FREEZE(part);
if (!rb_is_const_name(part)) {
name = part;
goto wrong_name;
}
else {
return Qnil;
}
}
if (!rb_is_const_id(id)) {
name = ID2SYM(id);
goto wrong_name;
}
if (p < pend) {
if (RTEST(recur)) {
mod = rb_const_get(mod, id);
}
else {
mod = rb_const_get_at(mod, id);
}
if (!RB_TYPE_P(mod, T_MODULE) && !RB_TYPE_P(mod, T_CLASS)) {
rb_raise(rb_eTypeError, "%"PRIsVALUE" does not refer to class/module",
QUOTE(name));
}
}
else {
if (RTEST(recur)) {
loc = rb_const_source_location(mod, id);
}
else {
loc = rb_const_source_location_at(mod, id);
}
break;
}
recur = Qfalse;
}

return loc;
Expand Down
28 changes: 14 additions & 14 deletions variable.c
Expand Up @@ -2411,7 +2411,7 @@ rb_const_search_from(VALUE klass, ID id, int exclude, int recurse, int visibilit
rb_autoload_load(tmp, id);
continue;
}
if (exclude && tmp == rb_cObject) {
if (exclude && tmp == rb_cObject) {
goto not_found;
}
return value;
Expand Down Expand Up @@ -2487,20 +2487,20 @@ static VALUE
rb_const_location_from(VALUE klass, ID id, int exclude, int recurse, int visibility)
{
while (RTEST(klass)) {
rb_const_entry_t *ce;
rb_const_entry_t *ce;

while ((ce = rb_const_lookup(klass, id))) {
if (visibility && RB_CONST_PRIVATE_P(ce)) {
return Qnil;
}
if (exclude && klass == rb_cObject) {
goto not_found;
}
if (NIL_P(ce->file)) return rb_ary_new();
return rb_assoc_new(ce->file, INT2NUM(ce->line));
}
if (!recurse) break;
klass = RCLASS_SUPER(klass);
while ((ce = rb_const_lookup(klass, id))) {
if (visibility && RB_CONST_PRIVATE_P(ce)) {
return Qnil;
}
if (exclude && klass == rb_cObject) {
goto not_found;
}
if (NIL_P(ce->file)) return rb_ary_new();
return rb_assoc_new(ce->file, INT2NUM(ce->line));
}
if (!recurse) break;
klass = RCLASS_SUPER(klass);
}

not_found:
Expand Down

0 comments on commit c5c3486

Please sign in to comment.