1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* template/id.h.tmpl, id.h (ruby_method_ids): not depend on if

token are defined as macros.  [ruby-dev:37553]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-12-24 20:05:12 +00:00
parent 011fc2649d
commit 934525776f
3 changed files with 62 additions and 72 deletions

View file

@ -53,15 +53,15 @@ end
#define symIFUNC ID2SYM(idIFUNC)
#define symCFUNC ID2SYM(idCFUNC)
#if !defined tLAST_TOKEN && defined YYTOKENTYPE
#define tLAST_TOKEN tLAST_TOKEN
#endif
enum ruby_method_ids {
#if !defined tLAST_TOKEN && !defined YYTOKENTYPE
#ifndef tLAST_TOKEN
% tokens.each do |token, value|
<%=token%> = <%=value%>,
% end
% tokens.map do |token, value|
#elif <%=token%> != <%=value%>
#error <%=token%> differs
% end
#endif
idPLUS = '+',
idMINUS = '-',
@ -114,4 +114,12 @@ enum ruby_method_ids {
TOKEN2ID(Initialize)
};
#ifdef tLAST_TOKEN
#define ruby_method_id_check_for(name, value) \
typedef int ruby_method_id_check_for_##name[name == value ? 1 : -1]
% tokens.map do |token, value|
ruby_method_id_check_for(<%=token%>, <%=value%>);
% end
#endif
#endif /* RUBY_ID_H */