Support KClass.simpleName and built-in class literals
This commit is contained in:
@@ -38,6 +38,11 @@ class KClassImpl<T>(override val jClass: Class<T>) : KCallableContainerImpl(), K
|
||||
|
||||
override val scope: JetScope get() = descriptor.getDefaultType().getMemberScope()
|
||||
|
||||
override val simpleName: String? get() {
|
||||
val name = descriptor.getName()
|
||||
return if (name.isSpecial()) null else name.asString()
|
||||
}
|
||||
|
||||
override fun getProperties(): Collection<KMemberProperty<T, *>> {
|
||||
return scope.getAllDescriptors().stream()
|
||||
.filterIsInstance<PropertyDescriptor>()
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
package kotlin.reflect
|
||||
|
||||
public trait KClass<T> {
|
||||
public val simpleName: String?
|
||||
|
||||
public fun getProperties(): Collection<KMemberProperty<T, *>>
|
||||
|
||||
public fun getExtensionProperties(): Collection<KMemberExtensionProperty<T, *, *>>
|
||||
|
||||
Reference in New Issue
Block a user