Backtick qualified Kotlin keyword calls
ober
7938918c67d3ce73ea771c6daa98b2a01aa5de1c
--- a/lib/jerboa/typed/kotlin/print.ss +++ b/lib/jerboa/typed/kotlin/print.ss @@ -127,7 +127,19 @@ (cond [(null? parts) '()] [(pair? parts) - (map kotlin-symbol-name parts)] + (if (null? (cdr parts)) + (list (kotlin-symbol-name (car parts))) + (append + (map kotlin-qualified-part-name + (let loop ([rest parts]) + (if (null? (cdr rest)) + '() + (cons (car rest) (loop (cdr rest)))))) + (list (kotlin-member-name + (let loop ([rest parts]) + (if (null? (cdr rest)) + (car rest) + (loop (cdr rest))))))))] [else (list (kotlin-symbol-name parts))])) (def (qualified-name-parts->strings parts) --- a/tests/test-typed-kotlin.ss +++ b/tests/test-typed-kotlin.ss @@ -53,6 +53,9 @@ (test "expression keyword name escape" (kotlin-expr->string (make-kt-name '(out))) "_out") +(test "qualified expression keyword member is backticked" + (kotlin-expr->string (make-kt-name '(FileChannel open))) + "FileChannel.`open`") (test "member keyword name is backticked" (kotlin-expr->string (make-kt-member-call