Generate (possibly empty) file classes for files with type aliases.

This commit is contained in:
Dmitry Petrov
2016-06-06 11:36:49 +03:00
parent 872b3e8a52
commit 9e7222906d
3 changed files with 9 additions and 1 deletions
@@ -99,7 +99,7 @@ public class PackageCodegen {
List<KtClassOrObject> classOrObjects = new ArrayList<KtClassOrObject>();
for (KtDeclaration declaration : file.getDeclarations()) {
if (declaration instanceof KtProperty || declaration instanceof KtNamedFunction) {
if (declaration instanceof KtProperty || declaration instanceof KtNamedFunction || declaration instanceof KtTypeAlias) {
generatePackagePart = true;
}
else if (declaration instanceof KtClassOrObject) {
+2
View File
@@ -0,0 +1,2 @@
typealias S = String
typealias L<T> = List<T>
@@ -47,6 +47,12 @@ class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
assertEquals(1, aClass.findMethodsByName("bar", false).size)
}
fun testAliasesOnly() {
val file = myFixture.configureByFile("aliasesOnly.kt") as KtFile
val aClass = file.classes.single()
assertEquals(0, aClass.getMethods().size)
}
override fun getTestDataPath(): String? {
return PluginTestCaseBase.getTestDataPathBase() + "/asJava/fileLightClass/"
}