/[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 92 by siliconforks, Wed May 7 04:21:22 2008 UTC revision 179 by siliconforks, Sun Sep 21 18:35:21 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 <stdint.h>
24    
25  #include "stream.h"  #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_init(void);  void jscoverage_init(void);
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);
41    
42    typedef struct Coverage Coverage;
43    
44    typedef struct FileCoverage {
45      char * id;
46    
47      int * coverage_lines;
48      char ** source_lines;
49    
50      /* SpiderMonkey uses uint32 for array lengths */
51      uint32_t num_coverage_lines;
52      uint32_t num_source_lines;
53    } FileCoverage;
54    
55    Coverage * Coverage_new(void);
56    
57    void Coverage_delete(Coverage * coverage);
58    
59    typedef void (*CoverageForeachFunction) (const FileCoverage * file_coverage, int i, void * p);
60    
61    void Coverage_foreach_file(Coverage * coverage, CoverageForeachFunction f, void * p);
62    
63    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

Legend:
Removed from v.92  
changed lines
  Added in v.179

  ViewVC Help
Powered by ViewVC 1.1.24