Reflection/List methods: Difference between revisions

Content added Content deleted
(added Factor)
(Added Kotlin)
Line 340: Line 340:
.filter(function(p) {return typeof p[1] == 'function';})
.filter(function(p) {return typeof p[1] == 'function';})
//[["subOwn", function () {...}]]</lang>
//[["subOwn", function () {...}]]</lang>

=={{header|Kotlin}}==
Note that kotlin-reflect.jar needs to be included in the classpath for this program.
<lang scala>// Version 1.2.31

import kotlin.reflect.full.functions

open class MySuperClass {
fun mySuperClassMethod(){}
}

open class MyClass : MySuperClass() {
fun myPublicMethod(){}

internal fun myInternalMethod(){}

protected fun myProtectedMethod(){}

private fun myPrivateMethod(){}
}

fun main(args: Array<String>) {
val c = MyClass::class
println("List of methods declared in ${c.simpleName} and its superclasses:\n")
val fs = c.functions
for (f in fs) println("${f.name}, ${f.visibility}")
}</lang>

{{out}}
<pre>
List of methods declared in MyClass and its superclasses:

myInternalMethod, INTERNAL
myPrivateMethod, PRIVATE
myProtectedMethod, PROTECTED
myPublicMethod, PUBLIC
equals, PUBLIC
hashCode, PUBLIC
mySuperClassMethod, PUBLIC
toString, PUBLIC
</pre>


=={{header|Lingo}}==
=={{header|Lingo}}==