Rendering constructors in DescriptorRendererTest.

This commit is contained in:
Evgeny Gerashchenko
2012-12-25 01:20:22 +04:00
parent 2b83b970ed
commit 7beb4fe10e
7 changed files with 22 additions and 4 deletions
@@ -4,4 +4,5 @@ trait TheTrait {
}
//internal trait TheTrait defined in root package
//class object defined in TheTrait
//class object defined in TheTrait
//private constructor <class-object-for-TheTrait>() defined in TheTrait.<class-object-for-TheTrait>
+6 -1
View File
@@ -26,15 +26,20 @@ trait TheTrait {
//package rendererTest defined in root package
//internal final annotation class TheAnnotation : jet.Annotation defined in rendererTest
//public ctor TheAnnotation() defined in rendererTest.TheAnnotation
//rendererTest.TheAnnotation public open class TheClass<out T : jet.Int, X> defined in rendererTest
//public ctor TheClass<out T : jet.Int, X>() defined in rendererTest.TheClass
//<out T : jet.Int> defined in rendererTest.TheClass
//<X> defined in rendererTest.TheClass
//private final val privateVal : jet.Int defined in rendererTest.TheClass
//internal final val shouldBeFinal : jet.Int defined in rendererTest.TheClass
//protected abstract fun foo() : Unit defined in rendererTest.TheClass
//private final class Inner defined in rendererTest.TheClass
//public ctor Inner() defined in rendererTest.TheClass.Inner
//internal final class InternalClass defined in rendererTest
//public ctor InternalClass() defined in rendererTest.InternalClass
//internal trait TheTrait defined in rendererTest
//internal abstract fun abstractFun() : Unit defined in rendererTest.TheTrait
//class object : rendererTest.TheClass<jet.Int, jet.Int> defined in rendererTest.TheTrait
//internal final fun classObjectFunction() : jet.Int defined in rendererTest.TheTrait.<class-object-for-TheTrait>
//private ctor <class-object-for-TheTrait>() defined in rendererTest.TheTrait.<class-object-for-TheTrait>
//internal final fun classObjectFunction() : jet.Int defined in rendererTest.TheTrait.<class-object-for-TheTrait>
+2
View File
@@ -6,6 +6,8 @@ private enum class TheEnum(val rgb : Int) {
//package rendererTest defined in root package
//private final enum class TheEnum : jet.Enum<rendererTest.TheEnum> defined in rendererTest
//private ctor TheEnum(rgb : jet.Int) defined in rendererTest.TheEnum
//value-parameter val rgb : jet.Int defined in rendererTest.TheEnum.<init>
//private final enum entry VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.<class-object-for-TheEnum>
//private ctor VAL1() defined in rendererTest.TheEnum.<class-object-for-TheEnum>.VAL1
//public final val VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.<class-object-for-TheEnum>
@@ -21,6 +21,7 @@ class B : A {
//private abstract fun <set-int>(<set-?> : jet.Int) : Unit defined in A
//protected abstract fun f() : jet.Int defined in A
//internal final class B : A defined in root package
//public ctor B() defined in B
//public open var int : jet.Int defined in B
//public open fun <get-int>() : jet.Int defined in B
//private open fun <set-int>(<set-?> : jet.Int) : Unit defined in B
@@ -14,12 +14,15 @@ val `in` = `class`<`trait`>(null)
fun `trait`.`fun`(`false`: `trait`): `trait`
//internal final annotation class `true` : jet.Annotation defined in root package
//public ctor `true`() defined in `true`
//internal final val `val` : jet.Int defined in root package
//`true` internal trait `trait` defined in root package
//internal final class `class`<`in`> defined in root package
//public ctor `class`<`in`>(p : `in`?) defined in `class`
//<`in`> defined in `class`
//value-parameter val p : `in`? defined in `class`.<init>
//internal final class `class` defined in `class`
//public ctor `class`() defined in `class`.`class`
//internal final val `is` : `class`.`class` defined in root package
//internal final val `in` : `class`<`trait`> defined in root package
//internal final fun `trait`.`fun`(`false` : `trait`) : `trait` defined in root package
@@ -122,6 +122,9 @@ public abstract class AbstractLazyResolveDescriptorRendererTest extends KotlinTe
public void visitDeclaration(JetDeclaration element) {
DeclarationDescriptor descriptor = resolveSession.resolveToDescriptor(element);
descriptors.add(descriptor);
if (descriptor instanceof ClassDescriptor) {
descriptors.addAll(((ClassDescriptor) descriptor).getConstructors());
}
element.acceptChildren(this);
}
@@ -24,6 +24,7 @@ import org.jetbrains.jet.JetTestCaseBuilder;
import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.psi.JetElement;
import org.jetbrains.jet.lang.psi.JetFile;
@@ -93,8 +94,7 @@ public class DescriptorRendererTest extends JetLiteFixture {
String fileName = getTestName(false) + ".kt";
JetFile psiFile = createPsiFile(null, fileName, loadFile(fileName));
AnalyzeExhaust analyzeExhaust =
AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
(JetFile) psiFile, Collections.<AnalyzerScriptParameter>emptyList());
AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(psiFile, Collections.<AnalyzerScriptParameter>emptyList());
final BindingContext bindingContext = analyzeExhaust.getBindingContext();
final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>();
psiFile.acceptChildren(new JetVisitorVoid() {
@@ -103,6 +103,9 @@ public class DescriptorRendererTest extends JetLiteFixture {
DeclarationDescriptor descriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, element);
if (descriptor != null) {
descriptors.add(descriptor);
if (descriptor instanceof ClassDescriptor) {
descriptors.addAll(((ClassDescriptor) descriptor).getConstructors());
}
}
element.acceptChildren(this);
}