/[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 339 by siliconforks, Fri Oct 24 16:13:57 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    void jscoverage_set_js_version(const char * version);
35    
36  void jscoverage_init(void);  void jscoverage_init(void);
37    
38  void jscoverage_cleanup(void);  void jscoverage_cleanup(void);
39    
40  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);
41    
42    void jscoverage_copy_resources(const char * destination_directory);
43    
44    typedef struct Coverage Coverage;
45    
46    typedef struct FileCoverage {
47      char * id;
48    
49      int * coverage_lines;
50      char ** source_lines;
51    
52      /* SpiderMonkey uses uint32 for array lengths */
53      uint32_t num_coverage_lines;
54      uint32_t num_source_lines;
55    } FileCoverage;
56    
57    Coverage * Coverage_new(void);
58    
59    void Coverage_delete(Coverage * coverage);
60    
61    typedef void (*CoverageForeachFunction) (const FileCoverage * file_coverage, int i, void * p);
62    
63    void Coverage_foreach_file(Coverage * coverage, CoverageForeachFunction f, void * p);
64    
65    int jscoverage_parse_json(Coverage * coverage, const uint8_t * data, size_t length) __attribute__((warn_unused_result));
66    
67    void jscoverage_write_source(const char * id, const uint16_t * characters, size_t num_characters, Stream * output);
68    
69  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.24