Refactor: rename KtLightClassForExplicitDeclaration -> KtLightClassForSourceDeclaration
This commit is contained in:
+2
-2
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.TestOnly
|
|||||||
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
|
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
|
||||||
import org.jetbrains.kotlin.asJava.builder.LightClassConstructionContext
|
import org.jetbrains.kotlin.asJava.builder.LightClassConstructionContext
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
@@ -134,7 +134,7 @@ class CliLightClassGenerationSupport(project: Project) : LightClassGenerationSup
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getLightClass(classOrObject: KtClassOrObject): KtLightClass? {
|
override fun getLightClass(classOrObject: KtClassOrObject): KtLightClass? {
|
||||||
return KtLightClassForExplicitDeclaration.create(classOrObject)
|
return KtLightClassForSourceDeclaration.create(classOrObject)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun resolveToDescriptor(declaration: KtDeclaration): DeclarationDescriptor? {
|
override fun resolveToDescriptor(declaration: KtDeclaration): DeclarationDescriptor? {
|
||||||
|
|||||||
+2
-2
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
|
|||||||
|
|
||||||
internal open class KtLightClassForAnonymousDeclaration(fqNameFunction: ((KtClassOrObject) -> FqName),
|
internal open class KtLightClassForAnonymousDeclaration(fqNameFunction: ((KtClassOrObject) -> FqName),
|
||||||
classOrObject: KtClassOrObject) :
|
classOrObject: KtClassOrObject) :
|
||||||
KtLightClassForExplicitDeclaration(fqNameFunction, classOrObject), PsiAnonymousClass {
|
KtLightClassForSourceDeclaration(fqNameFunction, classOrObject), PsiAnonymousClass {
|
||||||
|
|
||||||
private var cachedBaseType: SoftReference<PsiClassType>? = null
|
private var cachedBaseType: SoftReference<PsiClassType>? = null
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ internal open class KtLightClassForAnonymousDeclaration(fqNameFunction: ((KtClas
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean {
|
override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean {
|
||||||
if (baseClass is KtLightClassForExplicitDeclaration) {
|
if (baseClass is KtLightClassForSourceDeclaration) {
|
||||||
return super.isInheritor(baseClass, checkDeep)
|
return super.isInheritor(baseClass, checkDeep)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.psi.KtClassOrObject
|
|||||||
open class KtLightClassForInterfaceDefaultImpls(
|
open class KtLightClassForInterfaceDefaultImpls(
|
||||||
classFqName: FqName,
|
classFqName: FqName,
|
||||||
classOrObject: KtClassOrObject)
|
classOrObject: KtClassOrObject)
|
||||||
: KtLightClassForExplicitDeclaration({ classFqName }, classOrObject){
|
: KtLightClassForSourceDeclaration({ classFqName }, classOrObject){
|
||||||
|
|
||||||
override fun copy(): PsiElement {
|
override fun copy(): PsiElement {
|
||||||
return KtLightClassForInterfaceDefaultImpls(classFqName, classOrObject.copy() as KtClassOrObject)
|
return KtLightClassForInterfaceDefaultImpls(classFqName, classOrObject.copy() as KtClassOrObject)
|
||||||
@@ -47,7 +47,7 @@ open class KtLightClassForInterfaceDefaultImpls(
|
|||||||
throw IncorrectOperationException("Impossible to rename DefaultImpls")
|
throw IncorrectOperationException("Impossible to rename DefaultImpls")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getContainingClass() = KtLightClassForExplicitDeclaration.create(classOrObject)
|
override fun getContainingClass() = KtLightClassForSourceDeclaration.create(classOrObject)
|
||||||
|
|
||||||
override fun getOwnInnerClasses() = emptyList<PsiClass>()
|
override fun getOwnInnerClasses() = emptyList<PsiClass>()
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-9
@@ -56,7 +56,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
open class KtLightClassForExplicitDeclaration(
|
open class KtLightClassForSourceDeclaration(
|
||||||
private val classFqNameFunction: ((KtClassOrObject) -> FqName),
|
private val classFqNameFunction: ((KtClassOrObject) -> FqName),
|
||||||
protected val classOrObject: KtClassOrObject)
|
protected val classOrObject: KtClassOrObject)
|
||||||
: KtWrappingLightClass(classOrObject.manager), KtJavaMirrorMarker, StubBasedPsiElement<KotlinClassOrObjectStub<out KtClassOrObject>> {
|
: KtWrappingLightClass(classOrObject.manager), KtJavaMirrorMarker, StubBasedPsiElement<KotlinClassOrObjectStub<out KtClassOrObject>> {
|
||||||
@@ -160,7 +160,7 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
override fun getFqName(): FqName = classFqName
|
override fun getFqName(): FqName = classFqName
|
||||||
|
|
||||||
override fun copy(): PsiElement {
|
override fun copy(): PsiElement {
|
||||||
return KtLightClassForExplicitDeclaration({ classFqName }, classOrObject.copy() as KtClassOrObject)
|
return KtLightClassForSourceDeclaration({ classFqName }, classOrObject.copy() as KtClassOrObject)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val clsDelegate: PsiClass by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
override val clsDelegate: PsiClass by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||||
@@ -240,7 +240,7 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
if (this === other) return true
|
if (this === other) return true
|
||||||
if (other == null || javaClass != other.javaClass) return false
|
if (other == null || javaClass != other.javaClass) return false
|
||||||
|
|
||||||
val aClass = other as KtLightClassForExplicitDeclaration
|
val aClass = other as KtLightClassForSourceDeclaration
|
||||||
|
|
||||||
if (classFqName != aClass.classFqName) return false
|
if (classFqName != aClass.classFqName) return false
|
||||||
|
|
||||||
@@ -276,9 +276,9 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
override fun getQualifiedName(): String? = classFqName.asString()
|
override fun getQualifiedName(): String? = classFqName.asString()
|
||||||
|
|
||||||
private val _modifierList : PsiModifierList by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
private val _modifierList : PsiModifierList by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||||
object : KtLightModifierListWithExplicitModifiers(this@KtLightClassForExplicitDeclaration, computeModifiers()) {
|
object : KtLightModifierListWithExplicitModifiers(this@KtLightClassForSourceDeclaration, computeModifiers()) {
|
||||||
override val delegate: PsiAnnotationOwner
|
override val delegate: PsiAnnotationOwner
|
||||||
get() = this@KtLightClassForExplicitDeclaration.delegate.modifierList!!
|
get() = this@KtLightClassForSourceDeclaration.delegate.modifierList!!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -376,7 +376,7 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
|
|
||||||
override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean {
|
override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean {
|
||||||
val qualifiedName: String?
|
val qualifiedName: String?
|
||||||
if (baseClass is KtLightClassForExplicitDeclaration) {
|
if (baseClass is KtLightClassForSourceDeclaration) {
|
||||||
val baseDescriptor = baseClass.getDescriptor()
|
val baseDescriptor = baseClass.getDescriptor()
|
||||||
qualifiedName = if (baseDescriptor != null) DescriptorUtils.getFqName(baseDescriptor).asString() else null
|
qualifiedName = if (baseDescriptor != null) DescriptorUtils.getFqName(baseDescriptor).asString() else null
|
||||||
}
|
}
|
||||||
@@ -427,7 +427,7 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
FINAL_KEYWORD to PsiModifier.FINAL)
|
FINAL_KEYWORD to PsiModifier.FINAL)
|
||||||
|
|
||||||
|
|
||||||
fun create(classOrObject: KtClassOrObject): KtLightClassForExplicitDeclaration? {
|
fun create(classOrObject: KtClassOrObject): KtLightClassForSourceDeclaration? {
|
||||||
if (classOrObject is KtObjectDeclaration && classOrObject.isObjectLiteral()) {
|
if (classOrObject is KtObjectDeclaration && classOrObject.isObjectLiteral()) {
|
||||||
if (classOrObject.containingFile.virtualFile == null) {
|
if (classOrObject.containingFile.virtualFile == null) {
|
||||||
return null
|
return null
|
||||||
@@ -443,7 +443,7 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val fqName = predictFqName(classOrObject) ?: return null
|
val fqName = predictFqName(classOrObject) ?: return null
|
||||||
return KtLightClassForExplicitDeclaration({ fqName }, classOrObject)
|
return KtLightClassForSourceDeclaration({ fqName }, classOrObject)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun isEnumEntryWithoutBody(classOrObject: KtClassOrObject): Boolean {
|
private fun isEnumEntryWithoutBody(classOrObject: KtClassOrObject): Boolean {
|
||||||
@@ -520,6 +520,6 @@ open class KtLightClassForExplicitDeclaration(
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
private val LOG = Logger.getInstance(KtLightClassForExplicitDeclaration::class.java)
|
private val LOG = Logger.getInstance(KtLightClassForSourceDeclaration::class.java)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.asJava
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import org.jetbrains.kotlin.asJava.builder.OutermostKotlinClassLightClassData
|
import org.jetbrains.kotlin.asJava.builder.OutermostKotlinClassLightClassData
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
@@ -42,7 +42,7 @@ fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Diagnostic
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getDiagnosticsForClass(ktClassOrObject: KtClassOrObject): Diagnostics {
|
fun getDiagnosticsForClass(ktClassOrObject: KtClassOrObject): Diagnostics {
|
||||||
return (KtLightClassForExplicitDeclaration.getLightClassData(ktClassOrObject) as? OutermostKotlinClassLightClassData)?.extraDiagnostics ?: Diagnostics.EMPTY
|
return (KtLightClassForSourceDeclaration.getLightClassData(ktClassOrObject) as? OutermostKotlinClassLightClassData)?.extraDiagnostics ?: Diagnostics.EMPTY
|
||||||
}
|
}
|
||||||
|
|
||||||
fun doGetDiagnostics(): Diagnostics? {
|
fun doGetDiagnostics(): Diagnostics? {
|
||||||
|
|||||||
+4
-4
@@ -23,7 +23,7 @@ import com.intellij.psi.PsiElementVisitor
|
|||||||
import com.intellij.psi.impl.compiled.ClsFileImpl
|
import com.intellij.psi.impl.compiled.ClsFileImpl
|
||||||
import com.intellij.psi.stubs.PsiClassHolderFileStub
|
import com.intellij.psi.stubs.PsiClassHolderFileStub
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ open class FakeFileForLightClass(
|
|||||||
|
|
||||||
override fun hashCode(): Int {
|
override fun hashCode(): Int {
|
||||||
val thisClass = lightClass()
|
val thisClass = lightClass()
|
||||||
if (thisClass is KtLightClassForExplicitDeclaration) return ktFile.hashCode()
|
if (thisClass is KtLightClassForSourceDeclaration) return ktFile.hashCode()
|
||||||
return thisClass.hashCode()
|
return thisClass.hashCode()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,8 +61,8 @@ open class FakeFileForLightClass(
|
|||||||
val thisClass = lightClass()
|
val thisClass = lightClass()
|
||||||
val anotherClass = other.lightClass()
|
val anotherClass = other.lightClass()
|
||||||
|
|
||||||
if (thisClass is KtLightClassForExplicitDeclaration) {
|
if (thisClass is KtLightClassForSourceDeclaration) {
|
||||||
return anotherClass is KtLightClassForExplicitDeclaration && ktFile == other.ktFile
|
return anotherClass is KtLightClassForSourceDeclaration && ktFile == other.ktFile
|
||||||
}
|
}
|
||||||
|
|
||||||
return thisClass == anotherClass
|
return thisClass == anotherClass
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import com.intellij.openapi.util.text.StringUtil
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.ui.RowIcon
|
import com.intellij.ui.RowIcon
|
||||||
import com.intellij.util.PlatformIcons
|
import com.intellij.util.PlatformIcons
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.KtLightClassForDecompiledDeclaration
|
import org.jetbrains.kotlin.idea.caches.resolve.KtLightClassForDecompiledDeclaration
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -90,7 +90,7 @@ class KotlinIconProvider : IconProvider(), DumbAware {
|
|||||||
//TODO (light classes for decompiled files): correct presentation
|
//TODO (light classes for decompiled files): correct presentation
|
||||||
if (origin != null) origin.getBaseIcon() else KotlinIcons.CLASS
|
if (origin != null) origin.getBaseIcon() else KotlinIcons.CLASS
|
||||||
}
|
}
|
||||||
is KtLightClassForExplicitDeclaration -> navigationElement.getBaseIcon()
|
is KtLightClassForSourceDeclaration -> navigationElement.getBaseIcon()
|
||||||
is KtNamedFunction -> when {
|
is KtNamedFunction -> when {
|
||||||
receiverTypeReference != null -> KotlinIcons.EXTENSION_FUNCTION
|
receiverTypeReference != null -> KotlinIcons.EXTENSION_FUNCTION
|
||||||
getStrictParentOfType<KtNamedDeclaration>() is KtClass ->
|
getStrictParentOfType<KtNamedDeclaration>() is KtClass ->
|
||||||
|
|||||||
+3
-3
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.asJava.builder.ClsWrapperStubPsiFactory
|
|||||||
import org.jetbrains.kotlin.asJava.builder.LightClassConstructionContext
|
import org.jetbrains.kotlin.asJava.builder.LightClassConstructionContext
|
||||||
import org.jetbrains.kotlin.asJava.classes.FakeLightClassForFileOfPackage
|
import org.jetbrains.kotlin.asJava.classes.FakeLightClassForFileOfPackage
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.asJava.finder.JavaElementFinder
|
import org.jetbrains.kotlin.asJava.finder.JavaElementFinder
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
@@ -145,7 +145,7 @@ class IDELightClassGenerationSupport(private val project: Project) : LightClassG
|
|||||||
if (virtualFile != null) {
|
if (virtualFile != null) {
|
||||||
when {
|
when {
|
||||||
ProjectRootsUtil.isProjectSourceFile(project, virtualFile) ->
|
ProjectRootsUtil.isProjectSourceFile(project, virtualFile) ->
|
||||||
return KtLightClassForExplicitDeclaration.create(classOrObject)
|
return KtLightClassForSourceDeclaration.create(classOrObject)
|
||||||
ProjectRootsUtil.isLibraryClassFile(project, virtualFile) ->
|
ProjectRootsUtil.isLibraryClassFile(project, virtualFile) ->
|
||||||
return getLightClassForDecompiledClassOrObject(classOrObject)
|
return getLightClassForDecompiledClassOrObject(classOrObject)
|
||||||
ProjectRootsUtil.isLibrarySourceFile(project, virtualFile) ->
|
ProjectRootsUtil.isLibrarySourceFile(project, virtualFile) ->
|
||||||
@@ -154,7 +154,7 @@ class IDELightClassGenerationSupport(private val project: Project) : LightClassG
|
|||||||
}
|
}
|
||||||
if (classOrObject.getContainingKtFile().analysisContext != null) {
|
if (classOrObject.getContainingKtFile().analysisContext != null) {
|
||||||
// explicit request to create light class from dummy.kt
|
// explicit request to create light class from dummy.kt
|
||||||
return KtLightClassForExplicitDeclaration.create(classOrObject)
|
return KtLightClassForSourceDeclaration.create(classOrObject)
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -34,7 +34,7 @@ import com.intellij.xdebugger.breakpoints.XLineBreakpoint
|
|||||||
import com.intellij.xdebugger.breakpoints.XLineBreakpointType
|
import com.intellij.xdebugger.breakpoints.XLineBreakpointType
|
||||||
import com.intellij.xdebugger.breakpoints.ui.XBreakpointCustomPropertiesPanel
|
import com.intellij.xdebugger.breakpoints.ui.XBreakpointCustomPropertiesPanel
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.debugger.breakpoints.dialog.AddFieldBreakpointDialog
|
import org.jetbrains.kotlin.idea.debugger.breakpoints.dialog.AddFieldBreakpointDialog
|
||||||
@@ -88,7 +88,7 @@ class KotlinFieldBreakpointType : JavaBreakpointType<KotlinPropertyBreakpointPro
|
|||||||
is KtLightClassForFacade -> {
|
is KtLightClassForFacade -> {
|
||||||
psiClass.files.asSequence().mapNotNull { createBreakpointIfPropertyExists(it, it, className, fieldName) }.firstOrNull()
|
psiClass.files.asSequence().mapNotNull { createBreakpointIfPropertyExists(it, it, className, fieldName) }.firstOrNull()
|
||||||
}
|
}
|
||||||
is KtLightClassForExplicitDeclaration -> {
|
is KtLightClassForSourceDeclaration -> {
|
||||||
val jetClass = psiClass.kotlinOrigin
|
val jetClass = psiClass.kotlinOrigin
|
||||||
createBreakpointIfPropertyExists(jetClass, jetClass.getContainingKtFile(), className, fieldName)
|
createBreakpointIfPropertyExists(jetClass, jetClass.getContainingKtFile(), className, fieldName)
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-7
@@ -40,7 +40,7 @@ import kotlin.jvm.functions.Function1;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtilsKt;
|
import org.jetbrains.kotlin.asJava.LightClassUtilsKt;
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration;
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration;
|
||||||
import org.jetbrains.kotlin.idea.projectView.KtClassOrObjectTreeNode;
|
import org.jetbrains.kotlin.idea.projectView.KtClassOrObjectTreeNode;
|
||||||
import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberInfo;
|
import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberInfo;
|
||||||
import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberSelectionPanel;
|
import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberSelectionPanel;
|
||||||
@@ -114,8 +114,8 @@ public class MoveKotlinNestedClassesDialog extends RefactoringDialog {
|
|||||||
new ClassFilter() {
|
new ClassFilter() {
|
||||||
@Override
|
@Override
|
||||||
public boolean isAccepted(PsiClass aClass) {
|
public boolean isAccepted(PsiClass aClass) {
|
||||||
if (!(aClass instanceof KtLightClassForExplicitDeclaration)) return false;
|
if (!(aClass instanceof KtLightClassForSourceDeclaration)) return false;
|
||||||
KtClassOrObject classOrObject = ((KtLightClassForExplicitDeclaration) aClass).getKotlinOrigin();
|
KtClassOrObject classOrObject = ((KtLightClassForSourceDeclaration) aClass).getKotlinOrigin();
|
||||||
|
|
||||||
if (classOrObject instanceof KtObjectDeclaration) {
|
if (classOrObject instanceof KtObjectDeclaration) {
|
||||||
return !((KtObjectDeclaration) classOrObject).isObjectLiteral();
|
return !((KtObjectDeclaration) classOrObject).isObjectLiteral();
|
||||||
@@ -148,8 +148,8 @@ public class MoveKotlinNestedClassesDialog extends RefactoringDialog {
|
|||||||
chooser.showDialog();
|
chooser.showDialog();
|
||||||
|
|
||||||
PsiClass aClass = chooser.getSelected();
|
PsiClass aClass = chooser.getSelected();
|
||||||
if (aClass instanceof KtLightClassForExplicitDeclaration) {
|
if (aClass instanceof KtLightClassForSourceDeclaration) {
|
||||||
targetClass = ((KtLightClassForExplicitDeclaration) aClass).getKotlinOrigin();
|
targetClass = ((KtLightClassForSourceDeclaration) aClass).getKotlinOrigin();
|
||||||
targetClassChooser.setText(aClass.getQualifiedName());
|
targetClassChooser.setText(aClass.getQualifiedName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -166,8 +166,8 @@ public class MoveKotlinNestedClassesDialog extends RefactoringDialog {
|
|||||||
PsiClass aClass = JavaPsiFacade
|
PsiClass aClass = JavaPsiFacade
|
||||||
.getInstance(myProject)
|
.getInstance(myProject)
|
||||||
.findClass(targetClassChooser.getText(), GlobalSearchScope.projectScope(myProject));
|
.findClass(targetClassChooser.getText(), GlobalSearchScope.projectScope(myProject));
|
||||||
targetClass = aClass instanceof KtLightClassForExplicitDeclaration
|
targetClass = aClass instanceof KtLightClassForSourceDeclaration
|
||||||
? ((KtLightClassForExplicitDeclaration) aClass).getKotlinOrigin()
|
? ((KtLightClassForSourceDeclaration) aClass).getKotlinOrigin()
|
||||||
: null;
|
: null;
|
||||||
validateButtons();
|
validateButtons();
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticTestRenamerFactory
|
import com.intellij.refactoring.rename.naming.AutomaticTestRenamerFactory
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.asJava.findFacadeClass
|
import org.jetbrains.kotlin.asJava.findFacadeClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
class KotlinAutomaticTestRenamerFactory : AutomaticTestRenamerFactory() {
|
class KotlinAutomaticTestRenamerFactory : AutomaticTestRenamerFactory() {
|
||||||
private fun getPsiClass(element: PsiElement): PsiClass? {
|
private fun getPsiClass(element: PsiElement): PsiClass? {
|
||||||
return when (element) {
|
return when (element) {
|
||||||
is KtLightClassForExplicitDeclaration -> element
|
is KtLightClassForSourceDeclaration -> element
|
||||||
is KtClassOrObject -> element.toLightClass()
|
is KtClassOrObject -> element.toLightClass()
|
||||||
is KtFile -> element.findFacadeClass()
|
is KtFile -> element.findFacadeClass()
|
||||||
else -> null
|
else -> null
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import com.intellij.refactoring.listeners.RefactoringElementListener
|
|||||||
import com.intellij.refactoring.rename.RenamePsiElementProcessor
|
import com.intellij.refactoring.rename.RenamePsiElementProcessor
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
@@ -112,7 +112,7 @@ class RenameKotlinClassProcessor : RenameKotlinPsiProcessor() {
|
|||||||
private fun getClassOrObject(element: PsiElement?): PsiElement? = when (element) {
|
private fun getClassOrObject(element: PsiElement?): PsiElement? = when (element) {
|
||||||
is KtLightClass ->
|
is KtLightClass ->
|
||||||
when (element) {
|
when (element) {
|
||||||
is KtLightClassForExplicitDeclaration -> element.kotlinOrigin
|
is KtLightClassForSourceDeclaration -> element.kotlinOrigin
|
||||||
is KtLightClassForFacade -> element
|
is KtLightClassForFacade -> element
|
||||||
else -> throw AssertionError("Should not be suggested to rename element of type " + element.javaClass + " " + element)
|
else -> throw AssertionError("Should not be suggested to rename element of type " + element.javaClass + " " + element)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import kotlin.jvm.functions.Function1;
|
|||||||
import org.jdom.Element;
|
import org.jdom.Element;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration;
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration;
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod;
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod;
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils;
|
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils;
|
||||||
@@ -389,7 +389,7 @@ public class JetRunConfiguration extends ModuleBasedConfiguration<RunConfigurati
|
|||||||
private String noFunctionFoundMessage(@NotNull PsiClass psiClass) {
|
private String noFunctionFoundMessage(@NotNull PsiClass psiClass) {
|
||||||
//noinspection ConstantConditions
|
//noinspection ConstantConditions
|
||||||
FqName classFqName = new FqName(psiClass.getQualifiedName());
|
FqName classFqName = new FqName(psiClass.getQualifiedName());
|
||||||
if (psiClass instanceof KtLightClassForExplicitDeclaration) {
|
if (psiClass instanceof KtLightClassForSourceDeclaration) {
|
||||||
return String.format("Function 'main' not found in class '%s'", classFqName);
|
return String.format("Function 'main' not found in class '%s'", classFqName);
|
||||||
}
|
}
|
||||||
return String.format("Top-level function 'main' not found in package '%s'", classFqName.parent());
|
return String.format("Top-level function 'main' not found in package '%s'", classFqName.parent());
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import com.intellij.testIntegration.JavaTestFinder
|
|||||||
import com.intellij.testIntegration.TestFinderHelper
|
import com.intellij.testIntegration.TestFinderHelper
|
||||||
import com.intellij.util.CommonProcessors
|
import com.intellij.util.CommonProcessors
|
||||||
import com.intellij.util.containers.HashSet
|
import com.intellij.util.containers.HashSet
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.asJava.findFacadeClass
|
import org.jetbrains.kotlin.asJava.findFacadeClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
@@ -72,7 +72,7 @@ class KotlinTestFinder : JavaTestFinder() {
|
|||||||
if (eachClass is KtLightClassForFacade) {
|
if (eachClass is KtLightClassForFacade) {
|
||||||
eachClass.files.mapTo(classesWithWeights) { Pair.create(it, candidateNameWithWeight.second) }
|
eachClass.files.mapTo(classesWithWeights) { Pair.create(it, candidateNameWithWeight.second) }
|
||||||
}
|
}
|
||||||
else if (eachClass.isPhysical || eachClass is KtLightClassForExplicitDeclaration) {
|
else if (eachClass.isPhysical || eachClass is KtLightClassForSourceDeclaration) {
|
||||||
classesWithWeights.add(Pair.create(eachClass, candidateNameWithWeight.second))
|
classesWithWeights.add(Pair.create(eachClass, candidateNameWithWeight.second))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,7 +101,7 @@ class KotlinTestFinder : JavaTestFinder() {
|
|||||||
if (!pattern.matcher(candidateName).matches()) continue
|
if (!pattern.matcher(candidateName).matches()) continue
|
||||||
for (candidateClass in cache.getClassesByName(candidateName, scope)) {
|
for (candidateClass in cache.getClassesByName(candidateName, scope)) {
|
||||||
if (!(frameworks.isTestClass(candidateClass) || frameworks.isPotentialTestClass(candidateClass))) continue
|
if (!(frameworks.isTestClass(candidateClass) || frameworks.isPotentialTestClass(candidateClass))) continue
|
||||||
if (!candidateClass.isPhysical && candidateClass !is KtLightClassForExplicitDeclaration) continue
|
if (!candidateClass.isPhysical && candidateClass !is KtLightClassForSourceDeclaration) continue
|
||||||
processor.process(Pair.create(candidateClass, TestFinderHelper.calcTestNameProximity(klassName, candidateName)))
|
processor.process(Pair.create(candidateClass, TestFinderHelper.calcTestNameProximity(klassName, candidateName)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.asJava
|
|||||||
|
|
||||||
import com.intellij.psi.JavaPsiFacade
|
import com.intellij.psi.JavaPsiFacade
|
||||||
import com.intellij.psi.impl.ResolveScopeManager
|
import com.intellij.psi.impl.ResolveScopeManager
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.KtLightClassForDecompiledDeclaration
|
import org.jetbrains.kotlin.idea.caches.resolve.KtLightClassForDecompiledDeclaration
|
||||||
import org.jetbrains.kotlin.idea.test.JdkAndMockLibraryProjectDescriptor
|
import org.jetbrains.kotlin.idea.test.JdkAndMockLibraryProjectDescriptor
|
||||||
@@ -56,7 +56,7 @@ class LightClassesClasspathSortingTest : KotlinCodeInsightTestCase() {
|
|||||||
|
|
||||||
assertNotNull(psiClass, "Can't find class for $fqName")
|
assertNotNull(psiClass, "Can't find class for $fqName")
|
||||||
psiClass!!
|
psiClass!!
|
||||||
assert(psiClass is KtLightClassForExplicitDeclaration || psiClass is KtLightClassForFacade) { "Should be an explicit light class, but was $fqName ${psiClass.javaClass}" }
|
assert(psiClass is KtLightClassForSourceDeclaration || psiClass is KtLightClassForFacade) { "Should be an explicit light class, but was $fqName ${psiClass.javaClass}" }
|
||||||
assert(psiClass !is KtLightClassForDecompiledDeclaration) { "Should not be decompiled light class: $fqName ${psiClass.javaClass}" }
|
assert(psiClass !is KtLightClassForDecompiledDeclaration) { "Should not be decompiled light class: $fqName ${psiClass.javaClass}" }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import com.intellij.testFramework.LightProjectDescriptor;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass;
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass;
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForExplicitDeclaration;
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration;
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.KtLightClassForDecompiledDeclaration;
|
import org.jetbrains.kotlin.idea.caches.resolve.KtLightClassForDecompiledDeclaration;
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase;
|
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase;
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor;
|
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor;
|
||||||
@@ -41,7 +41,7 @@ public class LightClassEqualsTest extends KotlinLightCodeInsightFixtureTestCase
|
|||||||
|
|
||||||
PsiClass theClass = myFixture.getJavaFacade().findClass("A");
|
PsiClass theClass = myFixture.getJavaFacade().findClass("A");
|
||||||
assertNotNull(theClass);
|
assertNotNull(theClass);
|
||||||
assertInstanceOf(theClass, KtLightClassForExplicitDeclaration.class);
|
assertInstanceOf(theClass, KtLightClassForSourceDeclaration.class);
|
||||||
|
|
||||||
doTestEquals(((KtLightClass) theClass).getKotlinOrigin());
|
doTestEquals(((KtLightClass) theClass).getKotlinOrigin());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user