Remove interpreter fallbacks and enforce bytecode execution
This commit is contained in:
1 parent
26564438e2
commit
e73fe0d3c5
16 files changed
+700
-701
No files matched your search
@@ -397,4 +397,5 @@ class BytecodeRecentOpsTest {
|
||||
val result = script.execute(Script.defaultImportManager.newStdScope())
|
||||
assertEquals(2, result.toInt())
|
||||
}
|
||||
|
||||
}
|
||||
@@ -656,56 +656,58 @@ class ScriptTest {
|
||||
|
||||
@Test
|
||||
fun whileTest() = runTest {
|
||||
assertEquals(
|
||||
5.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
while( acc < 5 ) acc = acc + 0.5
|
||||
acc
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
assertEquals(
|
||||
5.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
// return from while
|
||||
while( acc < 5 ) {
|
||||
acc = acc + 0.5
|
||||
withTimeout(2.seconds) {
|
||||
assertEquals(
|
||||
5.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
while( acc < 5 ) acc = acc + 0.5
|
||||
acc
|
||||
}
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
assertEquals(
|
||||
3.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
while( acc < 5 ) {
|
||||
acc = acc + 0.5
|
||||
if( acc >= 3 ) break
|
||||
}
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
assertEquals(
|
||||
5.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
// return from while
|
||||
while( acc < 5 ) {
|
||||
acc = acc + 0.5
|
||||
acc
|
||||
}
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
assertEquals(
|
||||
3.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
while( acc < 5 ) {
|
||||
acc = acc + 0.5
|
||||
if( acc >= 3 ) break
|
||||
}
|
||||
|
||||
acc
|
||||
acc
|
||||
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
assertEquals(
|
||||
17.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
while( acc < 5 ) {
|
||||
acc = acc + 0.5
|
||||
if( acc >= 3 ) break 17
|
||||
}
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
assertEquals(
|
||||
17.0,
|
||||
eval(
|
||||
"""
|
||||
var acc = 0
|
||||
while( acc < 5 ) {
|
||||
acc = acc + 0.5
|
||||
if( acc >= 3 ) break 17
|
||||
}
|
||||
"""
|
||||
).toDouble()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in new issue
Block a user