Lower typed string length to Kotlin
ober
e2940d74b38b38f43c7e824b7747ee57a7b932e5
--- a/lib/jerboa/typed/kotlin/lower.ss +++ b/lib/jerboa/typed/kotlin/lower.ss @@ -222,6 +222,11 @@ (make-kt-member-call (car args) 'toInt '()))] [(jvm-to-string) (make-kt-member-call (car args) 'toString '())] + [(string-length) + (make-kt-member-call + (make-kt-member-get (car args) 'length) + 'toULong + '())] [(jvm-string-take) (make-kt-member-call (car args) 'take (cdr args))] [(jvm-string-pad-start) --- a/tests/test-typed-kotlin.ss +++ b/tests/test-typed-kotlin.ss @@ -267,6 +267,17 @@ (test-contains "String contains lowers to Kotlin contains" race-kotlin "lower.contains(\"andromedan\")") +(define string-length-form + '(typed-library (sample typed string-length) + (export textSize) + (def (textSize (text : String)) : Nat + (string-length text)))) + +(define string-length-kotlin (typed-library-form->kotlin-string string-length-form)) + +(test-contains "String length lowers to Kotlin length" string-length-kotlin + "text.length.toULong()") + (define note-form '(typed-library (sample typed notes) (export appendNote)