add ultra-light classes/members that work without backend in simple cases

This commit is contained in:
peter
2018-10-25 17:58:05 +02:00
parent 387efc3791
commit ebc998d710
48 changed files with 2502 additions and 98 deletions
@@ -0,0 +1,31 @@
interface Intf {
fun v(): Int
}
interface IntfWithProp : Intf {
val x: Int
}
abstract class Base(p: Int) {
open protected fun v(): Int? { }
fun nv() { }
abstract fun abs(): Int
internal open val x: Int get() { }
open var y = 1
open protected var z = 1
}
class Derived(p: Int) : Base(p), IntfWithProp {
override fun v() = unknown()
override val x = 3
override fun abs() = 0
}
abstract class AnotherDerived(override val x: Int, override val y: Int, override val z: Int) : Base(2) {
final override fun v() { }
abstract fun noReturn(s: String)
abstract val abstractProp: Int
}
private class Private {
override val overridesNothing: Boolean
get() = false
}