/[jscoverage]/trunk/instrument-js.h
ViewVC logotype

Diff of /trunk/instrument-js.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 87 by siliconforks, Mon May 5 20:05:27 2008 UTC revision 361 by siliconforks, Sun Oct 26 05:28:03 2008 UTC
# Line 20  Line 20 
20  #ifndef INSTRUMENT_JS_H_  #ifndef INSTRUMENT_JS_H_
21  #define INSTRUMENT_JS_H_  #define INSTRUMENT_JS_H_
22    
23  #include <stdio.h>  #include <stdint.h>
24    
25    #include "stream.h"
26    #include "util.h"
27    
28  enum FileType {  enum FileType {
29    FILE_TYPE_JS,    FILE_TYPE_JS,
30    FILE_TYPE_HTML,    FILE_TYPE_HTML,
31    FILE_TYPE_UNKNOWN,    FILE_TYPE_OTHER
32  };  };
33    
34    extern bool jscoverage_mozilla;
35    
36    void jscoverage_set_js_version(const char * version);
37    
38  void jscoverage_init(void);  void jscoverage_init(void);
39    
40  void jscoverage_cleanup(void);  void jscoverage_cleanup(void);
41    
42  void jscoverage_instrument_js(const char * id, FILE * input, FILE * output, const char * temporary_file_name);  void jscoverage_instrument_js(const char * id, const uint16_t * characters, size_t num_characters, Stream * output);
43    
44    void jscoverage_copy_resources(const char * destination_directory);
45    
46    typedef struct Coverage Coverage;
47    
48    typedef struct FileCoverage {
49      char * id;
50    
51      int * coverage_lines;
52      char ** source_lines;
53    
54      /* SpiderMonkey uses uint32 for array lengths */
55      uint32_t num_coverage_lines;
56      uint32_t num_source_lines;
57    } FileCoverage;
58    
59    Coverage * Coverage_new(void);
60    
61    void Coverage_delete(Coverage * coverage);
62    
63    typedef void (*CoverageForeachFunction) (const FileCoverage * file_coverage, int i, void * p);
64    
65    void Coverage_foreach_file(Coverage * coverage, CoverageForeachFunction f, void * p);
66    
67    int jscoverage_parse_json(Coverage * coverage, const uint8_t * data, size_t length) __attribute__((warn_unused_result));
68    
69    void jscoverage_write_source(const char * id, const uint16_t * characters, size_t num_characters, Stream * output);
70    
71  #endif  #endif

Legend:
Removed from v.87  
changed lines
  Added in v.361

  ViewVC Help
Powered by ViewVC 1.1.24