20 |
#ifndef INSTRUMENT_JS_H_ |
#ifndef INSTRUMENT_JS_H_ |
21 |
#define INSTRUMENT_JS_H_ |
#define INSTRUMENT_JS_H_ |
22 |
|
|
23 |
|
#include <stdint.h> |
24 |
|
|
25 |
#include "stream.h" |
#include "stream.h" |
26 |
#include "util.h" |
#include "util.h" |
27 |
|
|
35 |
|
|
36 |
void jscoverage_cleanup(void); |
void jscoverage_cleanup(void); |
37 |
|
|
38 |
void jscoverage_instrument_js(const char * id, Stream * input, Stream * output); |
void jscoverage_instrument_js(const char * id, const uint16_t * characters, size_t num_characters, Stream * output); |
39 |
|
|
40 |
void jscoverage_copy_resources(const char * destination_directory); |
void jscoverage_copy_resources(const char * destination_directory); |
41 |
|
|
44 |
typedef struct FileCoverage { |
typedef struct FileCoverage { |
45 |
char * id; |
char * id; |
46 |
|
|
47 |
int * lines; |
int * coverage_lines; |
48 |
uint32_t num_lines; |
char ** source_lines; |
49 |
|
|
50 |
char * source; |
/* SpiderMonkey uses uint32 for array lengths */ |
51 |
|
uint32_t num_coverage_lines; |
52 |
|
uint32_t num_source_lines; |
53 |
} FileCoverage; |
} FileCoverage; |
54 |
|
|
55 |
Coverage * Coverage_new(void); |
Coverage * Coverage_new(void); |
62 |
|
|
63 |
int jscoverage_parse_json(Coverage * coverage, const uint8_t * data, size_t length) __attribute__((warn_unused_result)); |
int jscoverage_parse_json(Coverage * coverage, const uint8_t * data, size_t length) __attribute__((warn_unused_result)); |
64 |
|
|
65 |
|
void jscoverage_write_source(const char * id, const uint16_t * characters, size_t num_characters, Stream * output); |
66 |
|
|
67 |
#endif |
#endif |