D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby34
/
share
/
gems
/
gems
/
rbs-3.8.0
/
templates
/
src
/
Filename :
constants.c.erb
back
Copy
#include "rbs_extension.h" VALUE RBS_Parser; VALUE RBS; VALUE RBS_AST; VALUE RBS_AST_Declarations; VALUE RBS_AST_Directives; VALUE RBS_AST_Members; VALUE RBS_Parser; VALUE RBS_Types; VALUE RBS_Types_Bases; <%- nodes.each do |node| -%> VALUE <%= node.c_constant_name %>; <%- end -%> VALUE RBS_ParsingError; #define IMPORT_CONSTANT(var, parent, name) { var = rb_const_get(parent, rb_intern(name)); rb_gc_register_mark_object(var); } void rbs__init_constants(void) { IMPORT_CONSTANT(RBS, rb_cObject, "RBS"); IMPORT_CONSTANT(RBS_ParsingError, RBS, "ParsingError"); IMPORT_CONSTANT(RBS_AST, RBS, "AST"); IMPORT_CONSTANT(RBS_AST_Declarations, RBS_AST, "Declarations"); IMPORT_CONSTANT(RBS_AST_Directives, RBS_AST, "Directives"); IMPORT_CONSTANT(RBS_AST_Members, RBS_AST, "Members"); IMPORT_CONSTANT(RBS_Types, RBS, "Types"); IMPORT_CONSTANT(RBS_Types_Bases, RBS_Types, "Bases"); <%- nodes.each do |node| -%> IMPORT_CONSTANT(<%= node.c_constant_name %>, <%= node.c_parent_constant_name %>, "<%= node.ruby_class_name %>"); <%- end -%> }