From 59472927cda78b38ea9e0931ee4bc9cadf426645 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Tue, 10 May 2016 14:21:31 +0300 Subject: [PATCH] KT-11588 Type aliases Light class generation: do not fail on type aliases TODO: actual binary representation for type aliases --- .../jetbrains/kotlin/load/kotlin/PackagePartClassUtils.kt | 8 +++----- .../testData/diagnostics/tests/typealias/aliasesOnly.kt | 1 + .../testData/diagnostics/tests/typealias/aliasesOnly.txt | 3 +++ .../kotlin/checkers/DiagnosticsTestGenerated.java | 6 ++++++ 4 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 compiler/testData/diagnostics/tests/typealias/aliasesOnly.kt create mode 100644 compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/PackagePartClassUtils.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/PackagePartClassUtils.kt index f0229ad32a4..7dcdf3c55ed 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/PackagePartClassUtils.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/PackagePartClassUtils.kt @@ -22,10 +22,7 @@ import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.KtNamedFunction -import org.jetbrains.kotlin.psi.KtProperty -import org.jetbrains.kotlin.psi.KtScript +import org.jetbrains.kotlin.psi.* import java.util.* object PackagePartClassUtils { @@ -64,7 +61,8 @@ object PackagePartClassUtils { file.declarations.any { it is KtProperty || it is KtNamedFunction || - it is KtScript + it is KtScript || + it is KtTypeAlias } @JvmStatic fun getFilePartShortName(fileName: String): String = diff --git a/compiler/testData/diagnostics/tests/typealias/aliasesOnly.kt b/compiler/testData/diagnostics/tests/typealias/aliasesOnly.kt new file mode 100644 index 00000000000..bbac0dd21f7 --- /dev/null +++ b/compiler/testData/diagnostics/tests/typealias/aliasesOnly.kt @@ -0,0 +1 @@ +typealias S = String \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt b/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt new file mode 100644 index 00000000000..6911f7f0e7c --- /dev/null +++ b/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt @@ -0,0 +1,3 @@ +package + +public typealias S = kotlin.String diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 352bc63f5e6..c1ebdb1c49f 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -19016,6 +19016,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class Typealias extends AbstractDiagnosticsTest { + @TestMetadata("aliasesOnly.kt") + public void testAliasesOnly() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/typealias/aliasesOnly.kt"); + doTest(fileName); + } + public void testAllFilesPresentInTypealias() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/typealias"), Pattern.compile("^(.+)\\.kt$"), true); }