Initial support for classes in scripts and REPL
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
>>> open class A(val result: String) {
|
||||
... fun foo() = result
|
||||
... }
|
||||
>>> class B : A("OK")
|
||||
>>> B().foo()
|
||||
OK
|
||||
@@ -0,0 +1,13 @@
|
||||
>>> class A {
|
||||
... fun foo() = "Old"
|
||||
... }
|
||||
>>> val oldA = A()
|
||||
>>> class A {
|
||||
... fun foo() = "New"
|
||||
... }
|
||||
>>> oldA.foo()
|
||||
Old
|
||||
>>> A().foo()
|
||||
New
|
||||
>>> oldA.javaClass == javaClass<A>()
|
||||
false
|
||||
@@ -0,0 +1,2 @@
|
||||
>>> class A
|
||||
>>> class B {}
|
||||
@@ -0,0 +1,2 @@
|
||||
>>> class A
|
||||
>>> class A
|
||||
@@ -0,0 +1,11 @@
|
||||
>>> enum class E {
|
||||
... FIRST {
|
||||
... override fun foo() = "HELLO"
|
||||
... }
|
||||
... SECOND {
|
||||
... override fun foo() = "WORLD"
|
||||
... }
|
||||
... open fun foo() = "E"
|
||||
... }
|
||||
>>> E.FIRST.foo() + " " + E.SECOND.foo()
|
||||
HELLO WORLD
|
||||
@@ -0,0 +1,5 @@
|
||||
>>> import java.util.Collections
|
||||
>>> Collections.emptyList<Nothing>()
|
||||
[]
|
||||
>>> Collections.singletonList(":|||:")
|
||||
[:|||:]
|
||||
@@ -0,0 +1,6 @@
|
||||
>>> class A { override fun toString() = "A" }
|
||||
>>> val a = A()
|
||||
>>> a
|
||||
A
|
||||
>>> a.toString()
|
||||
A
|
||||
@@ -0,0 +1,8 @@
|
||||
>>> enum class E {
|
||||
... FIRST
|
||||
... SECOND
|
||||
... }
|
||||
>>> E.values().toList()
|
||||
[FIRST, SECOND]
|
||||
>>> E.FIRST.javaClass == E.SECOND.javaClass // check that no artificial classes are generated for simple enum entries
|
||||
true
|
||||
@@ -0,0 +1,6 @@
|
||||
>>> trait A
|
||||
>>> trait B : A {
|
||||
... fun foo() = 45
|
||||
... }
|
||||
>>> javaClass<A>().isAssignableFrom(javaClass<B>())
|
||||
true
|
||||
@@ -0,0 +1,3 @@
|
||||
>>> object Empty
|
||||
>>> "Empty" in Empty.toString()
|
||||
true
|
||||
@@ -0,0 +1,5 @@
|
||||
>>> object Life {
|
||||
... fun meaning() = 42
|
||||
... }
|
||||
>>> Life.meaning()
|
||||
42
|
||||
Reference in New Issue
Block a user