diff --git a/inst_experiments/.gitignore b/inst_experiments/.gitignore index d186ac0c00a..641a92dd387 100644 --- a/inst_experiments/.gitignore +++ b/inst_experiments/.gitignore @@ -1 +1 @@ -./out.js +out.js diff --git a/inst_experiments/app.ts b/inst_experiments/app.ts index 63c51eb38fb..14e678e081c 100644 --- a/inst_experiments/app.ts +++ b/inst_experiments/app.ts @@ -3,7 +3,6 @@ const asdf = 1234; function asdf2() { console.log('asdf'); - let b = 3; let c = 4; let a = b + 1 + c; @@ -13,4 +12,4 @@ function asdf2() { } } -asdf2(); +// asdf2(); diff --git a/inst_experiments/run.js b/inst_experiments/run.js index e205f44470e..e4ab02ecab0 100644 --- a/inst_experiments/run.js +++ b/inst_experiments/run.js @@ -1,4 +1,8 @@ -let offsetsCovered = []; +let fs = require('fs'); + +let out = fs.readFileSync('./out.js', { encoding: 'utf8' }) + +let offsetsCovered = [ [0, out.split('').length ] ]; function __INST(start, end, expr = undefined) { offsetsCovered.push([start, end]); @@ -7,7 +11,22 @@ function __INST(start, end, expr = undefined) { global.__INST = __INST; -require('./out.js'); +function findInstumentedItems(source) { + let items = source.matchAll(/__INST\((\d+), (null|\d+)/g); + + let matches = []; + for (let item of items) { + let start = Number(item[1]); + let end = item[2] == 'null' ? null : Number(item[2]); + + matches.push([start, end]); + } + + return matches; +} + +Function(out)() console.log('offsets covered:', offsetsCovered); +console.log('all instrumented', findInstumentedItems(out));