Skip to content

Commit 507257e

Browse files
authored
chore: Make use of dummyPos (#598)
1 parent 30a596c commit 507257e

6 files changed

Lines changed: 8 additions & 13 deletions

File tree

sjsonnet/src-jvm/sjsonnet/stdlib/NativeXz.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import sjsonnet.{Error, EvalScope, Lazy, Platform, Position, Val}
66
object NativeXz extends AbstractFunctionModule {
77
def name = "xz"
88

9-
private val dummyPos: Position = new Position(null, 0)
10-
119
val functions: Seq[(String, Val.Builtin)] = Seq(
1210
"xz" -> new Val.Builtin2(
1311
"xz",

sjsonnet/src/sjsonnet/functions/FunctionModule.scala

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ import sjsonnet.{Position, Val}
88
* Function modules are collections of functions that can be used in Jsonnet.
99
*/
1010
trait FunctionModule extends FunctionBuilder {
11-
protected val position = new Position(null, 0)
11+
12+
/**
13+
* A dummy position used for functions that do not have a meaningful position in the source code.
14+
* This is useful for built-in functions that are not defined in the user's code.
15+
*/
16+
protected val dummyPos: Position = new Position(null, 0)
1217

1318
/**
1419
* module name
@@ -29,7 +34,7 @@ trait FunctionModule extends FunctionBuilder {
2934
* the module object
3035
*/
3136
def moduleFromFunctions(functions: (String, Val.Func)*): Val.Obj = {
32-
Val.Obj.mk(position, functions.map { case (k, v) => (k, memberOf(v)) }: _*)
37+
Val.Obj.mk(dummyPos, functions.map { case (k, v) => (k, memberOf(v)) }: _*)
3338
}
3439

3540
/**
@@ -41,7 +46,7 @@ trait FunctionModule extends FunctionBuilder {
4146
* the module object
4247
*/
4348
def moduleFromModules(subModules: FunctionModule*): Val.Obj = {
44-
Val.Obj.mk(position, subModules.map { module => (module.name, memberOf(module.module)) }: _*)
49+
Val.Obj.mk(dummyPos, subModules.map { module => (module.name, memberOf(module.module)) }: _*)
4550
}
4651

4752
/**

sjsonnet/src/sjsonnet/stdlib/ArrayModule.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import scala.collection.mutable
88
object ArrayModule extends AbstractFunctionModule {
99
def name = "array"
1010

11-
private val dummyPos: Position = new Position(null, 0)
12-
1311
private object MinArray
1412
extends Val.Builtin(
1513
"minArray",

sjsonnet/src/sjsonnet/stdlib/ManifestModule.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import scala.collection.mutable
99
object ManifestModule extends AbstractFunctionModule {
1010
def name = "manifest"
1111

12-
private val dummyPos: Position = new Position(null, 0)
13-
1412
private object ManifestJson extends Val.Builtin1("manifestJson", "v") {
1513
def evalRhs(v: Lazy, ev: EvalScope, pos: Position): Val =
1614
Val.Str(pos, Materializer.apply0(v.force, MaterializeJsonRenderer())(ev).toString)

sjsonnet/src/sjsonnet/stdlib/ObjectModule.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import sjsonnet.functions.AbstractFunctionModule
77
object ObjectModule extends AbstractFunctionModule {
88
def name = "object"
99

10-
private val dummyPos: Position = new Position(null, 0)
11-
1210
private object ObjectHas extends Val.Builtin2("objectHas", "o", "f") {
1311
def evalRhs(o: Lazy, f: Lazy, ev: EvalScope, pos: Position): Val =
1412
Val.bool(pos, o.force.asObj.containsVisibleKey(f.force.asString))

sjsonnet/src/sjsonnet/stdlib/SetModule.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import scala.collection.Searching.*
99
object SetModule extends AbstractFunctionModule {
1010
def name = "set"
1111

12-
private val dummyPos: Position = new Position(null, 0)
13-
1412
private object Set_ extends Val.Builtin2("set", "arr", "keyF", Array(null, Val.False(dummyPos))) {
1513
def evalRhs(arr: Lazy, keyF: Lazy, ev: EvalScope, pos: Position): Val = {
1614
uniqArr(pos, ev, sortArr(pos, ev, arr.force, keyF.force), keyF.force)

0 commit comments

Comments
 (0)