Fix and test RecursiveDescriptorProcessor

This commit is contained in:
Andrey Breslav
2013-06-10 20:54:13 +04:00
parent 1e0f926d39
commit 325946154b
4 changed files with 315 additions and 38 deletions
@@ -0,0 +1,41 @@
package test.innerTest
fun <T1> T1.func(a: T1): T1 = a
val <T2> T2.prop: T2? = null
var propVar: Any? = null
trait Trait<T3> {
fun traitFunc(): Unit {}
val traitProp: Any?
}
abstract class Class<T4> : Trait<Any> {
fun classFunc(): Unit {}
val classProp: Any? = null
class object {
fun classObjFunc(): Unit {}
val classObjProp: Any? = null
}
}
object Object {
fun objFunc(): Unit {}
val objProp: Any? = null
}
trait Outer {
trait NestedTrait {
fun nestedTraitFun() {}
}
abstract class NestedClass {
class object {
fun nestedClassObjFunc(): Unit {}
}
}
object Object {
fun nestedFunc(): Unit {}
}
}
@@ -0,0 +1,56 @@
<class-object-for-Class>.<get-classObjProp>:PropertyGetterDescriptor
<class-object-for-Class>.<init>():ConstructorDescriptor
<class-object-for-Class>.classObjFunc:SimpleFunctionDescriptor
<class-object-for-Class>.classObjProp:PropertyDescriptor
<class-object-for-Class>.this:ReceiverParameterDescriptor
<class-object-for-Class>:ClassDescriptor
<class-object-for-NestedClass>.<init>():ConstructorDescriptor
<class-object-for-NestedClass>.nestedClassObjFunc:SimpleFunctionDescriptor
<class-object-for-NestedClass>.this:ReceiverParameterDescriptor
<class-object-for-NestedClass>:ClassDescriptor
<set-?>:MutableValueParameterDescriptor
Class.<get-classProp>:PropertyGetterDescriptor
Class.<init>():ConstructorDescriptor
Class.classFunc:SimpleFunctionDescriptor
Class.classProp:PropertyDescriptor
Class.this:ReceiverParameterDescriptor
Class:ClassDescriptor
NestedClass.<init>():ConstructorDescriptor
NestedClass.this:ReceiverParameterDescriptor
NestedClass:ClassDescriptor
NestedTrait.nestedTraitFun:SimpleFunctionDescriptor
NestedTrait.this:ReceiverParameterDescriptor
NestedTrait:ClassDescriptor
Object.<init>():ConstructorDescriptor
Object.nestedFunc:SimpleFunctionDescriptor
Object.this:ReceiverParameterDescriptor
Object:ClassDescriptor
Outer.Object:PropertyDescriptor
Outer.this:ReceiverParameterDescriptor
Outer:ClassDescriptor
T1:TypeParameterDescriptor
T2:TypeParameterDescriptor
T3:TypeParameterDescriptor
T4:TypeParameterDescriptor
T4:TypeParameterDescriptor
Trait.<get-traitProp>:PropertyGetterDescriptor
Trait.this:ReceiverParameterDescriptor
Trait.traitFunc:SimpleFunctionDescriptor
Trait.traitProp:PropertyDescriptor
Trait:ClassDescriptor
a:MutableValueParameterDescriptor
fake Class.<get-traitProp>:PropertyGetterDescriptor
fake Class.traitFunc:SimpleFunctionDescriptor
fake Class.traitProp:PropertyDescriptor
func.this:ReceiverParameterDescriptor
innerTest.<get-prop>:PropertyGetterDescriptor
innerTest.<get-propVar>:PropertyGetterDescriptor
innerTest.<set-propVar>:PropertySetterDescriptor
innerTest.Object:PropertyDescriptor
innerTest.func:SimpleFunctionDescriptor
innerTest.prop:PropertyDescriptor
innerTest.propVar:PropertyDescriptor
innerTest:NamespaceDescriptor
prop.this:ReceiverParameterDescriptor
prop.this:ReceiverParameterDescriptor
test:NamespaceDescriptor