parse.y: check for attr
* parse.y (rb_id_attrset): check if the argument is valid type as an attribute. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8f61bbf314
commit
70973af1d5
@ -1,3 +1,8 @@
|
||||
Sat Aug 10 09:12:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* parse.y (rb_id_attrset): check if the argument is valid type as an
|
||||
attribute.
|
||||
|
||||
Sat Aug 10 05:44:08 2013 Zachary Scott <e@zzak.io>
|
||||
|
||||
* lib/rss/trackback.rb: [DOC] Hide RSS::Trackback from rdoc
|
||||
|
22
parse.y
22
parse.y
@ -8766,9 +8766,31 @@ block_dup_check_gen(struct parser_params *parser, NODE *node1, NODE *node2)
|
||||
}
|
||||
}
|
||||
|
||||
static const char id_type_names[][9] = {
|
||||
"LOCAL",
|
||||
"INSTANCE",
|
||||
"", /* INSTANCE2 */
|
||||
"GLOBAL",
|
||||
"ATTRSET",
|
||||
"CONST",
|
||||
"CLASS",
|
||||
"JUNK",
|
||||
};
|
||||
|
||||
ID
|
||||
rb_id_attrset(ID id)
|
||||
{
|
||||
if (!is_notop_id(id)) {
|
||||
rb_bug("rb_id_attrset: operator ID - %"PRIdVALUE, (VALUE)id);
|
||||
}
|
||||
else {
|
||||
int scope = (int)(id & ID_SCOPE_MASK);
|
||||
if (scope != ID_LOCAL && scope != ID_CONST) {
|
||||
rb_bug("rb_id_attrset: %s ID - %"PRIdVALUE, id_type_names[scope],
|
||||
(VALUE)id);
|
||||
|
||||
}
|
||||
}
|
||||
id &= ~ID_SCOPE_MASK;
|
||||
id |= ID_ATTRSET;
|
||||
return id;
|
||||
|
Loading…
x
Reference in New Issue
Block a user