package org.jetbrains.uast.test.kotlin import org.jetbrains.uast.UFile import org.jetbrains.uast.kotlin.KotlinConverter import org.junit.Test class SimpleKotlinRenderLogTest : AbstractKotlinUastTest(), AbstractKotlinRenderLogTest { override fun check(testName: String, file: UFile) = super.check(testName, file) @Test fun testLocalDeclarations() = doTest("LocalDeclarations") @Test fun testSimple() = doTest("Simple") @Test fun testWhenIs() = doTest("WhenIs") @Test fun testDefaultImpls() = doTest("DefaultImpls") @Test fun testBitwise() = doTest("Bitwise") @Test fun testElvis() = doTest("Elvis") @Test fun testPropertyAccessors() = doTest("PropertyAccessors") @Test fun testPropertyInitializer() = doTest("PropertyInitializer") @Test fun testPropertyInitializerWithoutSetter() = doTest("PropertyInitializerWithoutSetter") @Test fun testAnnotationParameters() = doTest("AnnotationParameters") @Test fun testEnumValueMembers() = doTest("EnumValueMembers") @Test fun testEnumValuesConstructors() = doTest("EnumValuesConstructors") @Test fun testStringTemplate() = doTest("StringTemplate") @Test fun testStringTemplateComplex() = doTest("StringTemplateComplex") @Test fun testStringTemplateComplexForUInjectionHost() = withForceUInjectionHostValue { doTest("StringTemplateComplexForUInjectionHost") } @Test fun testQualifiedConstructorCall() = doTest("QualifiedConstructorCall") @Test fun testPropertyDelegate() = doTest("PropertyDelegate") @Test fun testLocalVariableWithAnnotation() = doTest("LocalVariableWithAnnotation") @Test fun testPropertyWithAnnotation() = doTest("PropertyWithAnnotation") @Test fun testIfStatement() = doTest("IfStatement") @Test fun testInnerClasses() = doTest("InnerClasses") @Test fun testSimpleScript() = doTest("SimpleScript") { testName, file -> check(testName, file, false) } @Test fun testDestructuringDeclaration() = doTest("DestructuringDeclaration") @Test fun testDefaultParameterValues() = doTest("DefaultParameterValues") @Test fun testParameterPropertyWithAnnotation() = doTest("ParameterPropertyWithAnnotation") @Test fun testParametersWithDefaultValues() = doTest("ParametersWithDefaultValues") @Test fun testUnexpectedContainer() = doTest("UnexpectedContainerException") @Test fun testWhenStringLiteral() = doTest("WhenStringLiteral") @Test fun testWhenAndDestructing() = doTest("WhenAndDestructing") { testName, file -> check(testName, file, false) } @Test fun testSuperCalls() = doTest("SuperCalls") @Test fun testConstructors() = doTest("Constructors") @Test fun testClassAnnotation() = doTest("ClassAnnotation") @Test fun testReceiverFun() = doTest("ReceiverFun") @Test fun testAnonymous() = doTest("Anonymous") @Test fun testAnnotationComplex() = doTest("AnnotationComplex") @Test fun testParametersDisorder() = doTest("ParametersDisorder") { testName, file -> // disabled due to inconsistent parents for 2-receivers call (KT-22344) check(testName, file, false) } @Test fun testLambdas() = doTest("Lambdas") @Test fun testTypeReferences() = doTest("TypeReferences") @Test fun testDelegate() = doTest("Delegate") @Test fun testConstructorDelegate() = doTest("ConstructorDelegate") @Test fun testLambdaReturn() = doTest("LambdaReturn") @Test fun testReified() = doTest("Reified") @Test fun testReifiedReturnType() = doTest("ReifiedReturnType") @Test fun testReifiedParameters() = doTest("ReifiedParameters") @Test fun testSuspend() = doTest("Suspend") @Test fun testDeprecatedHidden() = doTest("DeprecatedHidden") @Test fun testTryCatch() = doTest("TryCatch") @Test fun testAnnotatedExpressions() = doTest("AnnotatedExpressions") @Test fun testNonTrivialIdentifiers() = doTest("NonTrivialIdentifiers") @Test fun testTypeAliasExpansionWithOtherAliasInArgument() = doTest("TypeAliasExpansionWithOtherAliasInArgument") } fun withForceUInjectionHostValue(call: () -> Unit) { val prev = KotlinConverter.forceUInjectionHost KotlinConverter.forceUInjectionHost = true try { call.invoke() } finally { KotlinConverter.forceUInjectionHost = prev } }