Skip to content

Commit 3992933

Browse files
committed
Feature/Parity: Proper error for invalid patch size
1 parent 6c0455b commit 3992933

4 files changed

Lines changed: 20 additions & 1 deletion

File tree

compiler/shared/src/main/scala/SimplePrims.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,9 @@ object SimplePrims {
318318
// Other
319319
case _: prim.etc._error => s"PrimChecks.errorPrim"
320320

321+
// World
322+
case _: prim.etc._setpatchsize => "PrimChecks.world.setPatchSize"
323+
321324
}
322325
}
323326

@@ -426,7 +429,6 @@ object SimplePrims {
426429
case _: prim.etc._clearticks => "world.ticker.clear"
427430
case _: prim.etc._clearlinks => "world.clearLinks"
428431
case _: prim.etc._resizeworld => "world.resize"
429-
case _: prim.etc._setpatchsize => "world.setPatchSize"
430432
case _: prim.etc._resetticks => "world.ticker.reset"
431433
case _: prim.etc._tick => "world.ticker.tick"
432434
case _: prim.etc._tickadvance => "world.ticker.tickAdvance"

engine/src/main/coffee/engine/prim-checks/checker.coffee

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ PatchChecks = require('./patch-checks')
1515
ProcedureChecks = require('./procedure-checks')
1616
TaskChecks = require('./task-checks')
1717
TurtleChecks = require('./turtle-checks')
18+
WorldChecks = require('./world-checks')
1819
Validator = require('./validator')
1920

2021
class Checker
@@ -36,6 +37,7 @@ class Checker
3637
@link = new LinkChecks(@validator, getSelf, selfPrims)
3738
@task = new TaskChecks(@validator)
3839
@control = new ControlChecks(@validator)
40+
@world = new WorldChecks(@validator, world)
3941

4042
@turtleOrLink = {
4143
getVariable: (sourceStart, sourceEnd, name) =>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# (C) Uri Wilensky. https://github.com/NetLogo/Tortoise
2+
3+
class WorldChecks
4+
5+
constructor: (@validator, @world) ->
6+
7+
setPatchSize: (sourceStart, sourceEnd, newSize) ->
8+
if newSize <= 0
9+
@validator.error('set-patch-size', sourceStart, sourceEnd, 'Patch size must be greater than zero.')
10+
@world.setPatchSize(newSize)
11+
12+
module.exports = WorldChecks

engine/src/main/coffee/i18n/en_us.coffee

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ bundle = {
176176
, 'Cannot find the procedure _.': (procedureName) ->
177177
"Cannot find the procedure #{procedureName}."
178178

179+
, 'Patch size must be greater than zero.': () ->
180+
"Patch size must be greater than zero."
181+
179182
}
180183

181184
module.exports = bundle

0 commit comments

Comments
 (0)