Add typed Kotlin JSONObject Boolean opt
ober
a56576481905e9152869948b3fd80f9274e8a5d3
--- a/lib/jerboa/typed/checker.ss +++ b/lib/jerboa/typed/checker.ss @@ -578,6 +578,9 @@ (cons 'json-object-opt-string-default (make-typed-call-sig (list 'JSONObject 'String 'String) 'String '() 'jvm-json-object-opt-string-default '())) + (cons 'json-object-opt-bool-default + (make-typed-call-sig (list 'JSONObject 'String 'Bool) 'Bool '() + 'jvm-json-object-opt-bool-default '())) (cons 'json-object-opt-float32 (make-typed-call-sig (list 'JSONObject 'String) 'Float32 '() 'jvm-json-object-opt-float32 '())) --- a/lib/jerboa/typed/core.ss +++ b/lib/jerboa/typed/core.ss @@ -170,6 +170,7 @@ jvm-json-object-put-json-object jvm-json-object-opt-string jvm-json-object-opt-string-default + jvm-json-object-opt-bool-default jvm-json-object-opt-float32 jvm-json-object-opt-float32-default jvm-json-object-opt-int-default --- a/lib/jerboa/typed/kotlin/lower.ss +++ b/lib/jerboa/typed/kotlin/lower.ss @@ -549,6 +549,8 @@ (make-kt-member-call (car args) 'optString (cdr args))] [(jvm-json-object-opt-string-default) (make-kt-member-call (car args) 'optString (cdr args))] + [(jvm-json-object-opt-bool-default) + (make-kt-member-call (car args) 'optBoolean (cdr args))] [(jvm-json-object-opt-float32) (make-kt-member-call (make-kt-member-call (car args) 'optDouble (cdr args)) --- a/tests/test-typed-kotlin.ss +++ b/tests/test-typed-kotlin.ss @@ -816,7 +816,7 @@ (define json-object-form '(typed-library (sample typed json-object) - (export makeCell copyCell readX readXDefault readCount readItems readMeta readName readNameDefault) + (export makeCell copyCell readX readXDefault readCount readActive readItems readMeta readName readNameDefault) (type JSONObject) (type JSONArray) (type Float32) @@ -843,6 +843,8 @@ (json-object-opt-float32-default json "x" (float32 1.0))) (def (readCount (json : JSONObject)) : Int32 (json-object-opt-int32-default json "count" (int32 1))) + (def (readActive (json : JSONObject)) : Bool + (json-object-opt-bool-default json "active" #f)) (def (readTimestamp (json : JSONObject)) : Int (json-object-opt-int-default json "generated_at" (int 0))) (def (readItems (json : JSONObject)) : (Nullable JSONArray) @@ -895,6 +897,9 @@ (test-contains "JSONObject opt Int default lowers to optLong" json-object-kotlin "json.optLong(\"generated_at\", 0L)") +(test-contains "JSONObject opt Bool default lowers to optBoolean" + json-object-kotlin + "json.optBoolean(\"active\", false)") (test-contains "JSONObject opt JSONArray lowers to nullable optJSONArray" json-object-kotlin "json.optJSONArray(\"items\")")