Print typed Kotlin class context names

ober

3cffe2a809cdc6c092edf589f7c19410e45cc0b8

diff --git a/lib/jerboa/typed/checker.ss b/lib/jerboa/typed/checker.ss
index b38aece..035f009 100644
--- 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
diff --git a/lib/jerboa/typed/kotlin/print.ss b/lib/jerboa/typed/kotlin/print.ss
index 52ffb5d..97892ca 100644
--- 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"
diff --git a/tests/test-typed-kotlin.ss b/tests/test-typed-kotlin.ss
index 3f8d68a..477d041 100644
--- 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))