Ruby 4.1.0dev (2026-09-07 revision b57404b461ba8bf34e802d86b0db78388216e182)
coverage.h
1#ifndef INTERNAL_COVERAGE_H /*-*-C-*-vi:se ft=c:*/
2#define INTERNAL_COVERAGE_H
11#include "ruby/ruby.h"
12
13#define COVERAGE_INDEX_LINES 0
14#define COVERAGE_INDEX_BRANCHES 1
15
16#define COVERAGE_TARGET_LINES 1
17#define COVERAGE_TARGET_BRANCHES 2
18#define COVERAGE_TARGET_METHODS 4
19#define COVERAGE_TARGET_ONESHOT_LINES 8
20#define COVERAGE_TARGET_EVAL 16
21
23 VALUE owner;
24 VALUE method_id;
25 VALUE path;
26 VALUE first_lineno;
27 VALUE first_column;
28 VALUE last_lineno;
29 VALUE last_column;
30 VALUE count;
31};
32
33typedef void rb_coverage_method_callback(const struct rb_coverage_method_data *, void *);
34
35RUBY_SYMBOL_EXPORT_BEGIN
36
37VALUE rb_get_coverages(void);
38void rb_set_coverages(VALUE coverages, int mode, VALUE cme2counter, VALUE me_set);
39void rb_clear_coverages(void);
40void rb_reset_coverages(void);
41void rb_resume_coverages(void);
42void rb_suspend_coverages(void);
43void rb_coverage_each_method(rb_coverage_method_callback callback, void *data);
44bool rb_coverage_method_data_of(VALUE me, VALUE count, struct rb_coverage_method_data *out);
45
46RUBY_SYMBOL_EXPORT_END
47
48int rb_get_coverage_mode(void);
49VALUE rb_default_coverage(int n);
50
51#endif /* INTERNAL_COVERAGE_H */
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40