Support KClass.simpleName and built-in class literals

This commit is contained in:
Alexander Udalov
2015-03-07 03:45:46 +03:00
parent 6e45c6f17c
commit b93b9bd565
9 changed files with 84 additions and 2 deletions
@@ -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, *, *>>