From 47f5b55e651cf04467b121df5af90aeebc8e396d Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Thu, 30 Jul 2015 15:44:50 +0300 Subject: [PATCH] KotlinLightClassForPackage -> KotlinLightClassForFacade (with minor changes) --- .../CliLightClassGenerationSupport.java | 5 +- .../cli/jvm/compiler/KotlinCoreEnvironment.kt | 4 +- .../FakeLightClassForFileOfPackage.java | 6 +-- .../KotlinLightClassForExplicitDeclaration.kt | 4 +- ...ackage.kt => KotlinLightClassForFacade.kt} | 52 +++++++++---------- .../asJava/duplicateJvmSignatureUtil.kt | 2 +- .../kotlin/idea/JetIconProvider.java | 4 +- .../IDELightClassGenerationSupport.java | 4 +- .../idea/caches/resolve/getModuleInfo.kt | 4 +- idea/src/META-INF/plugin.xml | 4 +- .../breakpoints/KotlinFieldBreakpointType.kt | 4 +- .../dialog/fieldBreakpointDialogUtil.kt | 4 +- .../rename/RenameKotlinClassProcessor.kt | 4 +- .../asJava/FakeLightClassForPackageTest.java | 2 +- .../LightClassesClasspathSortingTest.kt | 2 +- .../idea/debugger/KotlinDebuggerTestCase.java | 6 +-- .../org/jetbrains/kotlin/j2k/ast/Imports.kt | 4 +- 17 files changed, 57 insertions(+), 58 deletions(-) rename compiler/light-classes/src/org/jetbrains/kotlin/asJava/{KotlinLightClassForPackage.kt => KotlinLightClassForFacade.kt} (82%) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.java b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.java index a1d00afb42d..de8594c63b6 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; import org.jetbrains.kotlin.asJava.KotlinLightClassForExplicitDeclaration; -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage; +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade; import org.jetbrains.kotlin.asJava.LightClassConstructionContext; import org.jetbrains.kotlin.asJava.LightClassGenerationSupport; import org.jetbrains.kotlin.descriptors.ClassDescriptor; @@ -201,7 +201,8 @@ public class CliLightClassGenerationSupport extends LightClassGenerationSupport if (filesWithCallables.isEmpty()) return Collections.emptyList(); //noinspection RedundantTypeArguments - return UtilsPackage.emptyOrSingletonList(KotlinLightClassForPackage.Factory.create(psiManager, packageFqName, scope, filesWithCallables)); + return UtilsPackage.emptyOrSingletonList( + KotlinLightClassForFacade.Factory.createForPackageFacade(psiManager, packageFqName, scope, filesWithCallables)); } @Nullable diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index c2034bd2426..a5d88e8fea3 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -53,7 +53,7 @@ import com.intellij.psi.stubs.BinaryFileStubBuilders import com.intellij.psi.util.JavaClassSupers import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.asJava.JavaElementFinder -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade import org.jetbrains.kotlin.asJava.LightClassGenerationSupport import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation @@ -376,7 +376,7 @@ public class KotlinCoreEnvironment private constructor( with (projectEnvironment.getProject()) { registerService(javaClass(), JetScriptDefinitionProvider()) registerService(javaClass(), KotlinJavaPsiFacade(this)) - registerService(javaClass(), KotlinLightClassForPackage.FileStubCache(this)) + registerService(javaClass(), KotlinLightClassForFacade.FileStubCache(this)) } } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/FakeLightClassForFileOfPackage.java b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/FakeLightClassForFileOfPackage.java index d8dd275ab95..fbd71bca0bf 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/FakeLightClassForFileOfPackage.java +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/FakeLightClassForFileOfPackage.java @@ -32,17 +32,17 @@ import org.jetbrains.kotlin.psi.JetFile; /** * This class serves as a workaround for usages of {@link JavaElementFinder#findClasses} which eventually only need names of files * containing the class. When queried for a package class (e.g. test/TestPackage), {@code findClasses} along with a - * {@link KotlinLightClassForPackage} would also return multiple instances of this class for each file present in the package. The client + * {@link KotlinLightClassForFacade} would also return multiple instances of this class for each file present in the package. The client * code can make use of every file in the package then, since {@code getContainingFile} of these instances will represent the whole package. *

* See {@link LineBreakpoint#findClassCandidatesInSourceContent} for the primary usage this was introduced */ public class FakeLightClassForFileOfPackage extends AbstractLightClass implements KotlinLightClass, JetJavaMirrorMarker { - private final KotlinLightClassForPackage delegate; + private final KotlinLightClassForFacade delegate; private final JetFile file; public FakeLightClassForFileOfPackage( - @NotNull PsiManager manager, @NotNull KotlinLightClassForPackage delegate, @NotNull JetFile file + @NotNull PsiManager manager, @NotNull KotlinLightClassForFacade delegate, @NotNull JetFile file ) { super(manager); this.delegate = delegate; diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt index d77ce21b667..0b75b4656b8 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt @@ -64,8 +64,8 @@ public open class KotlinLightClassForExplicitDeclaration( var createWrapper = forceMethodWrapping // Use PsiClass wrapper instead of package light class to avoid names like "FooPackage" in Type Hierarchy and related views - if (containingClass is KotlinLightClassForPackage) { - containingClass = object : LightClass(containingClass as KotlinLightClassForPackage, JetLanguage.INSTANCE) { + if (containingClass is KotlinLightClassForFacade) { + containingClass = object : LightClass(containingClass as KotlinLightClassForFacade, JetLanguage.INSTANCE) { override fun getName(): String? { return currentFileName } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForPackage.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForFacade.kt similarity index 82% rename from compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForPackage.kt rename to compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForFacade.kt index 1313aac6f6d..ce8dae99d5d 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForPackage.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForFacade.kt @@ -37,11 +37,12 @@ import org.jetbrains.kotlin.psi.JetFile import javax.swing.* import org.jetbrains.kotlin.psi.JetClassOrObject -public class KotlinLightClassForPackage private constructor( +public class KotlinLightClassForFacade private constructor( manager: PsiManager, - private val packageFqName: FqName, + private val facadeClassFqName: FqName, private val searchScope: GlobalSearchScope, - files: Collection) : KotlinWrappingLightClass(manager), JetJavaMirrorMarker { + files: Collection +) : KotlinWrappingLightClass(manager), JetJavaMirrorMarker { public class FileStubCache(private val project: Project) { private data class Key(val fqName: FqName, val searchScope: GlobalSearchScope) @@ -72,18 +73,14 @@ public class KotlinLightClassForPackage private constructor( } } - init { - assert(!files.isEmpty()) { "No files for package " + packageFqName } - } - public val files: Collection = files.toSet() // needed for hashCode - private val packageClassFqName: FqName = - PackageClassUtils.getPackageClassFqName(packageFqName) - private val hashCode: Int = computeHashCode() + private val packageFqName: FqName = + facadeClassFqName.parent() + private val lightClassDataCache: CachedValue = FileStubCache.getInstance(getProject()).get(packageFqName, searchScope) @@ -99,7 +96,7 @@ public class KotlinLightClassForPackage private constructor( override fun getOrigin(): JetClassOrObject? = null - override fun getFqName(): FqName = packageClassFqName + override fun getFqName(): FqName = facadeClassFqName override fun getModifierList() = modifierList @@ -156,19 +153,17 @@ public class KotlinLightClassForPackage private constructor( override fun findInnerClassByName(NonNls name: String, checkBases: Boolean) = null - override fun getName() = packageClassFqName.shortName().asString() + override fun getName() = facadeClassFqName.shortName().asString() - override fun getQualifiedName() = packageClassFqName.asString() + override fun getQualifiedName() = facadeClassFqName.asString() override fun isValid() = files.all { it.isValid() } - override fun copy() = KotlinLightClassForPackage(getManager(), packageFqName, searchScope, files) + override fun copy() = KotlinLightClassForFacade(getManager(), facadeClassFqName, searchScope, files) override fun getDelegate(): PsiClass { - val psiClass = LightClassUtil.findClass(packageClassFqName, lightClassDataCache.getValue().javaFileStub) - if (psiClass == null) { - throw IllegalStateException("Package class was not found " + packageFqName) - } + val psiClass = LightClassUtil.findClass(facadeClassFqName, lightClassDataCache.getValue().javaFileStub) + ?: throw IllegalStateException("Facade class $facadeClassFqName not found") return psiClass } @@ -185,7 +180,7 @@ public class KotlinLightClassForPackage private constructor( private fun computeHashCode(): Int { var result = getManager().hashCode() result = 31 * result + files.hashCode() - result = 31 * result + packageFqName.hashCode() + result = 31 * result + facadeClassFqName.hashCode() return result } @@ -194,38 +189,41 @@ public class KotlinLightClassForPackage private constructor( return false } - val lightClass = other as KotlinLightClassForPackage + val lightClass = other as KotlinLightClassForFacade if (this === other) return true if (this.hashCode != lightClass.hashCode) return false if (getManager() != lightClass.getManager()) return false if (files != lightClass.files) return false - if (packageFqName != lightClass.packageFqName) return false + if (facadeClassFqName != lightClass.facadeClassFqName) return false return true } override fun toString(): String { try { - return javaClass().getSimpleName() + ":" + getQualifiedName() + return javaClass().getSimpleName() + ":" + getQualifiedName() } catch (e: Throwable) { - return javaClass().getSimpleName() + ":" + e.toString() + return javaClass().getSimpleName() + ":" + e.toString() } } companion object Factory { - public fun create( + public fun createForPackageFacade( manager: PsiManager, - qualifiedName: FqName, + packageFqName: FqName, searchScope: GlobalSearchScope, files: Collection // this is redundant, but computing it multiple times is costly - ): KotlinLightClassForPackage? { + ): KotlinLightClassForFacade? { if (files.any { LightClassUtil.belongsToKotlinBuiltIns(it) }) { return null } - return KotlinLightClassForPackage(manager, qualifiedName, searchScope, files) + assert(files.isNotEmpty()) { "No files for package $packageFqName" } + + val packageClassFqName = PackageClassUtils.getPackageClassFqName(packageFqName) + return KotlinLightClassForFacade(manager, packageClassFqName, searchScope, files) } } } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/duplicateJvmSignatureUtil.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/duplicateJvmSignatureUtil.kt index a90dade088b..9ca06569be0 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/duplicateJvmSignatureUtil.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/duplicateJvmSignatureUtil.kt @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.psi.* public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Diagnostics, moduleScope: GlobalSearchScope): Diagnostics? { fun getDiagnosticsForPackage(file: JetFile): Diagnostics? { val project = file.getProject() - val cache = KotlinLightClassForPackage.FileStubCache.getInstance(project) + val cache = KotlinLightClassForFacade.FileStubCache.getInstance(project) return cache[file.getPackageFqName(), moduleScope].getValue()?.extraDiagnostics } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java index 34ccea8e388..6198b12593e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java @@ -29,7 +29,7 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.asJava.KotlinLightClassForExplicitDeclaration; -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage; +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade; import org.jetbrains.kotlin.idea.caches.resolve.KotlinLightClassForDecompiledDeclaration; import org.jetbrains.kotlin.lexer.JetTokens; import org.jetbrains.kotlin.psi.*; @@ -101,7 +101,7 @@ public class JetIconProvider extends IconProvider implements DumbAware { return PlatformIcons.PACKAGE_ICON; } - if (psiElement instanceof KotlinLightClassForPackage) { + if (psiElement instanceof KotlinLightClassForFacade) { return JetIcons.FILE; } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java index 62253788fd4..d705d62a819 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java @@ -279,8 +279,8 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport IdeaModuleInfo moduleInfo = info.getModuleInfo(); if (moduleInfo instanceof ModuleSourceInfo) { - KotlinLightClassForPackage lightClass = - KotlinLightClassForPackage.Factory.create(psiManager, packageFqName, moduleInfo.contentScope(), files); + KotlinLightClassForFacade lightClass = + KotlinLightClassForFacade.Factory.createForPackageFacade(psiManager, packageFqName, moduleInfo.contentScope(), files); if (lightClass == null) continue; result.add(lightClass); diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/getModuleInfo.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/getModuleInfo.kt index 63a96465908..08a936a13ab 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/getModuleInfo.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/getModuleInfo.kt @@ -23,7 +23,7 @@ import com.intellij.openapi.roots.ProjectFileIndex import com.intellij.openapi.roots.LibraryOrderEntry import com.intellij.openapi.roots.JdkOrderEntry import org.jetbrains.kotlin.asJava.FakeLightClassForFileOfPackage -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.roots.ModuleRootManager @@ -116,7 +116,7 @@ private fun KotlinLightElement<*, *>.getModuleInfoForLightElement(): IdeaModuleI } val element = getOrigin() ?: when (this) { is FakeLightClassForFileOfPackage -> this.getContainingFile()!! - is KotlinLightClassForPackage -> this.files.first() + is KotlinLightClassForFacade -> this.files.first() else -> throw IllegalStateException("Unknown light class without origin is referenced by IDE lazy resolve: $javaClass") } return element.getModuleInfo() diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 39479dc61a0..ecaa0f75740 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -206,8 +206,8 @@ - + diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt index 4f5cbf8a292..1b397e6bead 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt @@ -37,7 +37,7 @@ import com.intellij.xdebugger.breakpoints.XLineBreakpointType import com.intellij.xdebugger.breakpoints.ui.XBreakpointCustomPropertiesPanel import org.jetbrains.kotlin.asJava.KotlinLightClass import org.jetbrains.kotlin.asJava.KotlinLightClassForExplicitDeclaration -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.idea.JetBundle @@ -90,7 +90,7 @@ public class KotlinFieldBreakpointType : JavaBreakpointType { + is KotlinLightClassForFacade -> { psiClass.files.asSequence().map { createBreakpointIfPropertyExists(it, it, className, fieldName) }.filterNotNull().firstOrNull() } is KotlinLightClassForExplicitDeclaration -> { diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/dialog/fieldBreakpointDialogUtil.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/dialog/fieldBreakpointDialogUtil.kt index 55dc0fa8f35..725a6d1734c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/dialog/fieldBreakpointDialogUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/dialog/fieldBreakpointDialogUtil.kt @@ -18,13 +18,13 @@ package org.jetbrains.kotlin.idea.debugger.breakpoints.dialog import com.intellij.psi.PsiClass import org.jetbrains.kotlin.asJava.KotlinLightClass -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor import org.jetbrains.kotlin.idea.core.util.DescriptorMemberChooserObject import org.jetbrains.kotlin.psi.JetProperty fun PsiClass.collectProperties(): Array { - if (this is KotlinLightClassForPackage) { + if (this is KotlinLightClassForFacade) { val result = arrayListOf() this.files.forEach { it.getDeclarations().filterIsInstance().forEach { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt index 1245abc2369..3f1218500a1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinClassProcessor.kt @@ -23,7 +23,7 @@ import com.intellij.refactoring.RefactoringBundle import com.intellij.refactoring.util.CommonRefactoringUtil import org.jetbrains.kotlin.asJava.KotlinLightClass import org.jetbrains.kotlin.asJava.KotlinLightClassForExplicitDeclaration -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade import org.jetbrains.kotlin.idea.JetBundle import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.references.JetSimpleNameReference @@ -76,7 +76,7 @@ public class RenameKotlinClassProcessor : RenameKotlinPsiProcessor() { if (element is KotlinLightClassForExplicitDeclaration) { element.getOrigin() } - else if (element is KotlinLightClassForPackage) { + else if (element is KotlinLightClassForFacade) { if (showErrors) { CommonRefactoringUtil.showErrorHint( element.project, editor, diff --git a/idea/tests/org/jetbrains/kotlin/asJava/FakeLightClassForPackageTest.java b/idea/tests/org/jetbrains/kotlin/asJava/FakeLightClassForPackageTest.java index 822bb94d978..64d12ff9553 100644 --- a/idea/tests/org/jetbrains/kotlin/asJava/FakeLightClassForPackageTest.java +++ b/idea/tests/org/jetbrains/kotlin/asJava/FakeLightClassForPackageTest.java @@ -39,7 +39,7 @@ public class FakeLightClassForPackageTest extends JetLightCodeInsightFixtureTest assertEquals(3, classes.length); - assertInstanceOf(classes[0], KotlinLightClassForPackage.class); + assertInstanceOf(classes[0], KotlinLightClassForFacade.class); Set expectedFiles = Sets.newHashSet( LightClassGenerationSupport.getInstance(getProject()).findFilesForPackage(new FqName("test"), searchScope) diff --git a/idea/tests/org/jetbrains/kotlin/asJava/LightClassesClasspathSortingTest.kt b/idea/tests/org/jetbrains/kotlin/asJava/LightClassesClasspathSortingTest.kt index 80044d17d57..412c25c24a2 100644 --- a/idea/tests/org/jetbrains/kotlin/asJava/LightClassesClasspathSortingTest.kt +++ b/idea/tests/org/jetbrains/kotlin/asJava/LightClassesClasspathSortingTest.kt @@ -58,7 +58,7 @@ class LightClassesClasspathSortingTest : KotlinCodeInsightTestCase() { assertNotNull(psiClass, "Can't find class for $fqName") psiClass!! - assert(psiClass is KotlinLightClassForExplicitDeclaration || psiClass is KotlinLightClassForPackage, + assert(psiClass is KotlinLightClassForExplicitDeclaration || psiClass is KotlinLightClassForFacade, "Should be an explicit light class, but was $fqName ${psiClass.javaClass}") assert(psiClass !is KotlinLightClassForDecompiledDeclaration, "Should not be decompiled light class: $fqName ${psiClass.javaClass}") diff --git a/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java b/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java index 7f48acd520c..da1197539f6 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java +++ b/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java @@ -36,7 +36,7 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.testFramework.IdeaTestUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.asJava.FakeLightClassForFileOfPackage; -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage; +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil; import org.jetbrains.kotlin.idea.test.PluginTestCaseBase; @@ -199,8 +199,8 @@ public abstract class KotlinDebuggerTestCase extends DescriptorTestCase { }); for (PsiClass psiClass : psiClasses) { - if (psiClass instanceof KotlinLightClassForPackage) { - Collection files = ((KotlinLightClassForPackage) psiClass).getFiles(); + if (psiClass instanceof KotlinLightClassForFacade) { + Collection files = ((KotlinLightClassForFacade) psiClass).getFiles(); for (JetFile jetFile : files) { createBreakpoints(jetFile); } diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt index dbe70833dc8..70ff07d1c3b 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt @@ -22,7 +22,7 @@ import com.intellij.psi.PsiImportList import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.platform.JavaToKotlinClassMap import com.intellij.psi.PsiJavaCodeReferenceElement -import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage +import org.jetbrains.kotlin.asJava.KotlinLightClassForFacade class Import(val name: String) : Element() { override fun generateCode(builder: CodeBuilder) { @@ -71,7 +71,7 @@ private fun Converter.filterImport(name: String, ref: PsiJavaCodeReferenceElemen if (!JavaToKotlinClassMap.INSTANCE.mapPlatformClass(FqName(name)).isEmpty()) return null val target = ref.resolve() - if (target is KotlinLightClassForPackage) { + if (target is KotlinLightClassForFacade) { return quoteKeywords(target.getFqName().parent().toString()) + ".*" }