From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/tool/gen_dummy_probes.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 jni/ruby/tool/gen_dummy_probes.rb (limited to 'jni/ruby/tool/gen_dummy_probes.rb') diff --git a/jni/ruby/tool/gen_dummy_probes.rb b/jni/ruby/tool/gen_dummy_probes.rb new file mode 100755 index 0000000..c19f9d5 --- /dev/null +++ b/jni/ruby/tool/gen_dummy_probes.rb @@ -0,0 +1,28 @@ +#!/usr/bin/ruby +# -*- coding: us-ascii -*- + +text = ARGF.read +text.gsub!(/^(?!#)(.*)/){$1.upcase} + +# remove comments +text.gsub!(%r'(?:^ *)?/\*.*?\*/\n?'m, '') + +# remove the pragma declarations +text.gsub!(/^#pragma.*\n/, '') + +# replace the provider section with the start of the header file +text.gsub!(/PROVIDER RUBY \{/, "#ifndef\t_PROBES_H\n#define\t_PROBES_H\n#define DTRACE_PROBES_DISABLED 1\n") + +# finish up the #ifndef sandwich +text.gsub!(/\};/, "\n#endif\t/* _PROBES_H */") + +text.gsub!(/__/, '_') + +text.gsub!(/\((.+?)(?=\);)/) { + "(arg" << (0..$1.count(',')).to_a.join(", arg") +} + +text.gsub!(/ *PROBE ([^\(]*)(\([^\)]*\));/, "#define RUBY_DTRACE_\\1_ENABLED() 0\n#define RUBY_DTRACE_\\1\\2\ do \{ \} while\(0\)") +puts "/* -*- c -*- */" +print text + -- cgit v1.2.3