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

Contents of /trunk/instrument-js.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 124 - (show annotations)
Sun Jun 1 14:35:47 2008 UTC (11 years, 1 month ago) by siliconforks
File MIME type: text/plain
File size: 1749 byte(s)
Don't use FILE_TYPE_UNKNOWN; Windows defines it.

1 /*
2 instrument-js.h - JavaScript instrumentation routines
3 Copyright (C) 2007, 2008 siliconforks.com
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #ifndef INSTRUMENT_JS_H_
21 #define INSTRUMENT_JS_H_
22
23 #include "stream.h"
24 #include "util.h"
25
26 enum FileType {
27 FILE_TYPE_JS,
28 FILE_TYPE_HTML,
29 FILE_TYPE_OTHER
30 };
31
32 void jscoverage_init(void);
33
34 void jscoverage_cleanup(void);
35
36 void jscoverage_instrument_js(const char * id, Stream * input, Stream * output);
37
38 void jscoverage_copy_resources(const char * destination_directory);
39
40 typedef struct Coverage Coverage;
41
42 typedef struct FileCoverage {
43 char * id;
44
45 int * lines;
46 uint32_t num_lines;
47
48 char * source;
49 } FileCoverage;
50
51 Coverage * Coverage_new(void);
52
53 void Coverage_delete(Coverage * coverage);
54
55 typedef void (*CoverageForeachFunction) (const FileCoverage * file_coverage, int i, void * p);
56
57 void Coverage_foreach_file(Coverage * coverage, CoverageForeachFunction f, void * p);
58
59 int jscoverage_parse_json(Coverage * coverage, const uint8_t * data, size_t length) __attribute__((warn_unused_result));
60
61 #endif

  ViewVC Help
Powered by ViewVC 1.1.24