Ruby 4.1.0dev (2026-08-08 revision 9f50e4e8dfc0b8e54a70febe3e041be637817f8a)
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);
44
45RUBY_SYMBOL_EXPORT_END
46
47int rb_get_coverage_mode(void);
48VALUE rb_default_coverage(int n);
49
50#endif /* INTERNAL_COVERAGE_H */
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40