Skip to content

Commit 2ee9459

Browse files
committed
Added simpletools script updated the example.
1 parent a47d97a commit 2ee9459

File tree

3 files changed

+90
-6
lines changed

3 files changed

+90
-6
lines changed

example.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
var N = 2000;
2+
var EXPECTED = 17393;
3+
4+
function Natural() {
5+
x = 2;
6+
return {
7+
'next' : function() { return x++; }
8+
};
9+
}
10+
11+
function Filter(number, filter) {
12+
var self = this;
13+
this.number = number;
14+
this.filter = filter;
15+
this.accept = function(n) {
16+
var filter = self;
17+
for (;;) {
18+
if (n % filter.number === 0) {
19+
return false;
20+
}
21+
filter = filter.filter;
22+
if (filter === null) {
23+
break;
24+
}
25+
}
26+
return true;
27+
};
28+
return this;
29+
}
30+
31+
function Primes(natural) {
32+
var self = this;
33+
this.natural = natural;
34+
this.filter = null;
35+
this.next = function() {
36+
for (;;) {
37+
var n = self.natural.next();
38+
if (self.filter === null || self.filter.accept(n)) {
39+
self.filter = new Filter(n, self.filter);
40+
return n;
41+
}
42+
}
43+
};
44+
}
45+
46+
var holdsAFunctionThatIsNeverCalled = function(natural) {
47+
var self = this;
48+
this.natural = natural;
49+
this.filter = null;
50+
this.next = function() {
51+
for (;;) {
52+
var n = self.natural.next();
53+
if (self.filter === null || self.filter.accept(n)) {
54+
self.filter = new Filter(n, self.filter);
55+
return n;
56+
}
57+
}
58+
};
59+
}
60+
61+
var holdsAFunctionThatIsNeverCalledOneLine = function() {return null;}
62+
63+
function primesMain() {
64+
var primes = new Primes(Natural());
65+
var primArray = [];
66+
for (var i=0;i<=N;i++) { primArray.push(primes.next()); }
67+
if (primArray[N] != EXPECTED) { throw new Error('wrong prime found: ' + primArray[N]); }
68+
}
69+
primesMain();

runJsWithCoverage.sh

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
11
#!/bin/bash
2-
3-
$JAVA_HOME/bin/js \
4-
--jvm \
5-
--vm.Dtruffle.class.path.append=target/simpletool-19.0.2-SNAPSHOT.jar \
6-
--simple-code-coverage \
7-
src/test/java/com/oracle/simpletool/test/test.js
2+
./simpletool js example.js

simpletool

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
3+
function printUsage() {
4+
echo "Usage:"
5+
echo "$0 <GraalVM launcher> <launcher args>"
6+
echo "Example:"
7+
echo "$0 js example.js"
8+
exit 0
9+
}
10+
11+
[ -z $1 ] || [ $1 == "--help" ] || [ $1 == "-help" ] && printUsage
12+
13+
LAUNCHER=$1
14+
shift
15+
16+
"$JAVA_HOME/bin/$LAUNCHER" \
17+
--jvm \
18+
--vm.Dtruffle.class.path.append=target/simpletool-19.0.2-SNAPSHOT.jar \
19+
--simple-code-coverage \
20+
$@

0 commit comments

Comments
 (0)