Print typed Kotlin class context names
ober
3cffe2a809cdc6c092edf589f7c19410e45cc0b8
--- a/lib/jerboa/typed/checker.ss +++ b/lib/jerboa/typed/checker.ss @@ -1031,7 +1031,8 @@ [local-global-values (global-property-env declarations)] [constructor-env (class-param-env params)] [visible-type-names (append type-names local-type-names)] - [member-env (append constructor-env + [member-env (append (list (cons 'this (typed-class-decl-name class))) + constructor-env local-global-values (*global-value-env*))]) (parameterize --- a/lib/jerboa/typed/kotlin/print.ss +++ b/lib/jerboa/typed/kotlin/print.ss @@ -36,7 +36,7 @@ (def kotlin-keywords '("as" "break" "class" "continue" "do" "else" "false" "for" "fun" "if" "in" "interface" "is" "null" "object" "package" "return" - "super" "this" "throw" "true" "try" "typealias" "typeof" "val" + "throw" "true" "try" "typealias" "typeof" "val" "var" "when" "while" "by" "catch" "constructor" "delegate" "dynamic" "file" "finally" "get" "import" "init" "param" "property" "receiver" "set" "setparam" "where" "actual" "abstract" "annotation" --- a/tests/test-typed-kotlin.ss +++ b/tests/test-typed-kotlin.ss @@ -1479,6 +1479,10 @@ (kotlin-call densityReady)) (extern (markDirty) : Unit (kotlin-call markDirty)) + (extern (bindSelf (view : ReviewView)) : Unit + (kotlin-call bindSelf)) + (extern (superPerformClick) : Bool + (kotlin-call super performClick)) (class ReviewView ((context : Context)) (extends View context) (val density : Float32 @@ -1491,7 +1495,10 @@ (markDirty)))) (def (performClick) : Bool (modifiers override) - #t) + (begin + (bindSelf this) + (superPerformClick) + #t)) (def (ready) : Bool (densityReady density))))) @@ -1512,7 +1519,7 @@ "fun ready(): Boolean {\n return densityReady(density)") (test-contains "typed class declaration lowers method modifiers" class-declaration-kotlin - "override fun performClick(): Boolean {\n return true") + "override fun performClick(): Boolean {\n return run {\n bindSelf(this)\n super.performClick()\n true\n}") (printf "typed-kotlin tests: ~a passed, ~a failed~%" pass fail) (when (> fail 0) (exit 1))