Sha256: a74225347d759bf3069fc41fe2ce958d30a431c33f9f6e77deecc06341af4389
Contents?: true
Size: 1.42 KB
Versions: 6
Compression:
Stored size: 1.42 KB
Contents
#ifndef ruby_internal_method__h_ #define ruby_internal_method__h_ #include <ruby.h> #ifdef RUBY_VM #include "method.h" #endif #include "internal/node/ruby_internal_node.h" #ifndef FALSE #define FALSE 0 #endif #ifndef TRUE #define TRUE (!FALSE) #endif #ruby <<END $: << '../..' require 'ruby_source_dir' proc_c_location = "#{RUBY_SOURCE_DIR}/proc.c" eval_c_location = "#{RUBY_SOURCE_DIR}/eval.c" oclass_member = "klass" rclass_member = "klass" [ proc_c_location, eval_c_location ].each do |file| next if not File.exist?(file) File.open(file) do |eval_c| write = false stopwrite = false prev_line = nil while (line = eval_c.gets) != nil do case line when /^struct (METHOD)/ write = true stopwrite = false when /^\}/ stopwrite = true when /VALUE oclass/ oclass_member = "oclass" when /VALUE oklass/ oklass_member = "oklass" when /VALUE (klass, )?rclass/ rclass_member = "rclass" when /VALUE (klass, )?rklass/ rclass_member = "rklass" end puts line if write if write and stopwrite then stopwrite = false write = false puts '' end prev_line = line end end end puts <<-END #define METHOD_OCLASS(m) m->#{oclass_member} #define METHOD_RCLASS(m) m->#{rclass_member} END nil END #endif
Version data entries
6 entries across 6 versions & 1 rubygems