Remove obsolete code in KotlinBuilder, rename PackageClassUtils
This commit is contained in:
@@ -22,16 +22,12 @@ import com.intellij.psi.util.CachedValuesManager
|
|||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForDeserialized
|
import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForDeserialized
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForProto
|
import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForProto
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.serialization.ProtoBuf
|
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
|
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
|
||||||
|
|
||||||
|
|
||||||
public object JvmFileClassUtil {
|
public object JvmFileClassUtil {
|
||||||
public val JVM_NAME: FqName = FqName("kotlin.jvm.JvmName")
|
public val JVM_NAME: FqName = FqName("kotlin.jvm.JvmName")
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import com.intellij.util.containers.Stack;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.codegen.AbstractClassBuilder;
|
import org.jetbrains.kotlin.codegen.AbstractClassBuilder;
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
import org.jetbrains.kotlin.load.kotlin.OldPackageFacadeClassUtils;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin;
|
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin;
|
||||||
@@ -81,7 +81,7 @@ public class StubClassBuilder extends AbstractClassBuilder {
|
|||||||
|
|
||||||
if (origin instanceof KtFile) {
|
if (origin instanceof KtFile) {
|
||||||
FqName packageName = ((KtFile) origin).getPackageFqName();
|
FqName packageName = ((KtFile) origin).getPackageFqName();
|
||||||
String packageClassName = PackageClassUtils.getPackageClassName(packageName);
|
String packageClassName = OldPackageFacadeClassUtils.getPackageClassName(packageName);
|
||||||
|
|
||||||
if (name.equals(packageClassName) || name.endsWith("/" + packageClassName)) {
|
if (name.equals(packageClassName) || name.endsWith("/" + packageClassName)) {
|
||||||
isPackageClass = true;
|
isPackageClass = true;
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.cli;
|
package org.jetbrains.kotlin.cli;
|
||||||
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.codegen;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils;
|
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils;
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.codegen;
|
package org.jetbrains.kotlin.codegen;
|
||||||
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
|
||||||
import org.jetbrains.kotlin.name.SpecialNames;
|
import org.jetbrains.kotlin.name.SpecialNames;
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,6 @@ package org.jetbrains.kotlin.codegen;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames;
|
import org.jetbrains.kotlin.load.java.JvmAnnotationNames;
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils;
|
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.serialization.PackageData;
|
import org.jetbrains.kotlin.serialization.PackageData;
|
||||||
import org.jetbrains.kotlin.serialization.ProtoBuf;
|
import org.jetbrains.kotlin.serialization.ProtoBuf;
|
||||||
|
|||||||
-3
@@ -17,10 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.codegen;
|
package org.jetbrains.kotlin.codegen;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.backend.common.output.OutputFile;
|
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi;
|
import org.jetbrains.kotlin.load.java.JvmAbi;
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,6 @@ package org.jetbrains.kotlin.jvm.compiler
|
|||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import org.jetbrains.kotlin.backend.common.output.OutputFile
|
import org.jetbrains.kotlin.backend.common.output.OutputFile
|
||||||
import org.jetbrains.kotlin.codegen.inline.InlineCodegenUtil
|
import org.jetbrains.kotlin.codegen.inline.InlineCodegenUtil
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||||
import org.jetbrains.org.objectweb.asm.ClassReader
|
import org.jetbrains.org.objectweb.asm.ClassReader
|
||||||
|
|||||||
+3
-4
@@ -17,16 +17,15 @@
|
|||||||
package org.jetbrains.kotlin.load.kotlin;
|
package org.jetbrains.kotlin.load.kotlin;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmClassName;
|
|
||||||
import org.jetbrains.kotlin.name.ClassId;
|
import org.jetbrains.kotlin.name.ClassId;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
|
|
||||||
public final class PackageClassUtils {
|
public final class OldPackageFacadeClassUtils {
|
||||||
public static final String PACKAGE_CLASS_NAME_SUFFIX = "Package";
|
private static final String PACKAGE_CLASS_NAME_SUFFIX = "Package";
|
||||||
private static final String DEFAULT_PACKAGE_CLASS_NAME = "_Default" + PACKAGE_CLASS_NAME_SUFFIX;
|
private static final String DEFAULT_PACKAGE_CLASS_NAME = "_Default" + PACKAGE_CLASS_NAME_SUFFIX;
|
||||||
|
|
||||||
private PackageClassUtils() {
|
private OldPackageFacadeClassUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ex. <root> -> _DefaultPackage, a -> APackage, a.b -> BPackage
|
// ex. <root> -> _DefaultPackage, a -> APackage, a.b -> BPackage
|
||||||
+1
-1
@@ -46,7 +46,7 @@ import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import static org.jetbrains.kotlin.load.kotlin.PackageClassUtils.getPackageClassId;
|
import static org.jetbrains.kotlin.load.kotlin.OldPackageFacadeClassUtils.getPackageClassId;
|
||||||
|
|
||||||
public final class DecompiledNavigationUtils {
|
public final class DecompiledNavigationUtils {
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.idea.decompiler.findMultifileClassParts
|
|||||||
import org.jetbrains.kotlin.idea.decompiler.navigation.JsMetaFileUtils
|
import org.jetbrains.kotlin.idea.decompiler.navigation.JsMetaFileUtils
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache
|
import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
import org.jetbrains.kotlin.load.kotlin.OldPackageFacadeClassUtils
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleFileFacadeKind
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleFileFacadeKind
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassKind
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassKind
|
||||||
@@ -100,7 +100,7 @@ public fun buildDecompiledTextFromJsMetadata(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun resolveDeclarationsInPackage(packageFqName: FqName, resolver: ResolverForDecompiler) =
|
private fun resolveDeclarationsInPackage(packageFqName: FqName, resolver: ResolverForDecompiler) =
|
||||||
ArrayList(resolver.resolveDeclarationsInFacade(PackageClassUtils.getPackageClassFqName(packageFqName)))
|
ArrayList(resolver.resolveDeclarationsInFacade(OldPackageFacadeClassUtils.getPackageClassFqName(packageFqName)))
|
||||||
|
|
||||||
private val DECOMPILED_CODE_COMMENT = "/* compiled code */"
|
private val DECOMPILED_CODE_COMMENT = "/* compiled code */"
|
||||||
private val DECOMPILED_COMMENT_FOR_PARAMETER = "/* = compiled code */"
|
private val DECOMPILED_COMMENT_FOR_PARAMETER = "/* = compiled code */"
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
|||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
|
||||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtParameter
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.openapi.vfs.VirtualFile
|
|||||||
import org.jetbrains.kotlin.idea.decompiler.textBuilder.buildDecompiledTextFromJsMetadata
|
import org.jetbrains.kotlin.idea.decompiler.textBuilder.buildDecompiledTextFromJsMetadata
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor
|
import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor
|
||||||
import org.jetbrains.kotlin.idea.vfilefinder.JsVirtualFileFinder
|
import org.jetbrains.kotlin.idea.vfilefinder.JsVirtualFileFinder
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
import org.jetbrains.kotlin.load.kotlin.OldPackageFacadeClassUtils
|
||||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
|
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ public class KotlinJavaScriptStubConsistencyTest : StubConsistencyBaseTest() {
|
|||||||
override fun getFileIds() = listOf(
|
override fun getFileIds() = listOf(
|
||||||
"java.util", "jquery", "jquery.ui",
|
"java.util", "jquery", "jquery.ui",
|
||||||
"kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js"
|
"kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js"
|
||||||
).map { PackageClassUtils.getPackageClassId(FqName(it)) }
|
).map { OldPackageFacadeClassUtils.getPackageClassId(FqName(it)) }
|
||||||
|
|
||||||
override fun getVirtualFileFinder(): VirtualFileFinder =
|
override fun getVirtualFileFinder(): VirtualFileFinder =
|
||||||
JsVirtualFileFinder.SERVICE.getInstance(getProject())
|
JsVirtualFileFinder.SERVICE.getInstance(getProject())
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor
|
import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor
|
||||||
import org.jetbrains.kotlin.idea.vfilefinder.JsVirtualFileFinder
|
import org.jetbrains.kotlin.idea.vfilefinder.JsVirtualFileFinder
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatform
|
import org.jetbrains.kotlin.js.resolve.JsPlatform
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
import org.jetbrains.kotlin.load.kotlin.OldPackageFacadeClassUtils
|
||||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
|
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
||||||
@@ -65,6 +65,6 @@ public class KotlinJavaScriptDecompiledTextConsistencyTest : TextConsistencyBase
|
|||||||
override fun isFromFacade(descriptor: CallableMemberDescriptor, facadeFqName: FqName): Boolean {
|
override fun isFromFacade(descriptor: CallableMemberDescriptor, facadeFqName: FqName): Boolean {
|
||||||
val containingDeclaration = descriptor.containingDeclaration
|
val containingDeclaration = descriptor.containingDeclaration
|
||||||
return containingDeclaration is PackageFragmentDescriptor &&
|
return containingDeclaration is PackageFragmentDescriptor &&
|
||||||
facadeFqName == PackageClassUtils.getPackageClassFqName(containingDeclaration.fqName)
|
facadeFqName == OldPackageFacadeClassUtils.getPackageClassFqName(containingDeclaration.fqName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-3
@@ -17,14 +17,13 @@
|
|||||||
package org.jetbrains.kotlin.idea.decompiler.textBuilder
|
package org.jetbrains.kotlin.idea.decompiler.textBuilder
|
||||||
|
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
import org.jetbrains.kotlin.load.kotlin.OldPackageFacadeClassUtils
|
||||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
|
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -55,7 +54,7 @@ public abstract class TextConsistencyBaseTest : KotlinLightCodeInsightFixtureTes
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun doTestPackage(packageFqName: FqName) {
|
private fun doTestPackage(packageFqName: FqName) {
|
||||||
doTestClass(packageFqName, PackageClassUtils.getPackageClassId(packageFqName))
|
doTestClass(packageFqName, OldPackageFacadeClassUtils.getPackageClassId(packageFqName))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doTestFacade(facadeFqName: FqName) {
|
private fun doTestFacade(facadeFqName: FqName) {
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ import org.jetbrains.jps.builders.impl.BuildTargetRegistryImpl
|
|||||||
import org.jetbrains.jps.builders.impl.TargetOutputIndexImpl
|
import org.jetbrains.jps.builders.impl.TargetOutputIndexImpl
|
||||||
import org.jetbrains.jps.builders.java.JavaBuilderUtil
|
import org.jetbrains.jps.builders.java.JavaBuilderUtil
|
||||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor
|
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor
|
||||||
import org.jetbrains.jps.builders.java.dependencyView.Mappings
|
|
||||||
import org.jetbrains.jps.incremental.*
|
import org.jetbrains.jps.incremental.*
|
||||||
import org.jetbrains.jps.incremental.ModuleLevelBuilder.ExitCode.*
|
import org.jetbrains.jps.incremental.ModuleLevelBuilder.ExitCode.*
|
||||||
import org.jetbrains.jps.incremental.fs.CompilationRound
|
import org.jetbrains.jps.incremental.fs.CompilationRound
|
||||||
@@ -53,18 +52,16 @@ import org.jetbrains.kotlin.config.CompilerRunnerConstants
|
|||||||
import org.jetbrains.kotlin.config.CompilerRunnerConstants.INTERNAL_ERROR_PREFIX
|
import org.jetbrains.kotlin.config.CompilerRunnerConstants.INTERNAL_ERROR_PREFIX
|
||||||
import org.jetbrains.kotlin.config.IncrementalCompilation
|
import org.jetbrains.kotlin.config.IncrementalCompilation
|
||||||
import org.jetbrains.kotlin.config.Services
|
import org.jetbrains.kotlin.config.Services
|
||||||
|
import org.jetbrains.kotlin.daemon.common.isDaemonEnabled
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
||||||
import org.jetbrains.kotlin.jps.incremental.*
|
import org.jetbrains.kotlin.jps.incremental.*
|
||||||
import org.jetbrains.kotlin.load.kotlin.ModuleMapping
|
import org.jetbrains.kotlin.load.kotlin.ModuleMapping
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
|
||||||
import org.jetbrains.kotlin.modules.TargetId
|
import org.jetbrains.kotlin.modules.TargetId
|
||||||
import org.jetbrains.kotlin.progress.CompilationCanceledException
|
import org.jetbrains.kotlin.progress.CompilationCanceledException
|
||||||
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
|
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
|
|
||||||
import org.jetbrains.kotlin.daemon.common.isDaemonEnabled
|
|
||||||
import org.jetbrains.kotlin.utils.LibraryUtils
|
import org.jetbrains.kotlin.utils.LibraryUtils
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import org.jetbrains.kotlin.utils.keysToMap
|
import org.jetbrains.kotlin.utils.keysToMap
|
||||||
@@ -417,20 +414,6 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
filesToCompile: MultiMap<ModuleBuildTarget, File>,
|
filesToCompile: MultiMap<ModuleBuildTarget, File>,
|
||||||
generatedClasses: List<GeneratedJvmClass>
|
generatedClasses: List<GeneratedJvmClass>
|
||||||
) {
|
) {
|
||||||
fun getOldSourceFiles(generatedClass: GeneratedJvmClass, previousMappings: Mappings): Collection<File> {
|
|
||||||
if (!generatedClass.outputFile.getName().endsWith(PackageClassUtils.PACKAGE_CLASS_NAME_SUFFIX + ".class")) return emptySet()
|
|
||||||
|
|
||||||
val classInternalName = JvmClassName.byClassId(generatedClass.outputClass.getClassId()).getInternalName()
|
|
||||||
val oldClassSources = previousMappings.getClassSources(previousMappings.getName(classInternalName))
|
|
||||||
if (oldClassSources == null) return emptySet()
|
|
||||||
|
|
||||||
val sources = THashSet(FileUtil.FILE_HASHING_STRATEGY)
|
|
||||||
sources.addAll(oldClassSources)
|
|
||||||
sources.removeAll(filesToCompile[generatedClass.target])
|
|
||||||
sources.removeAll(dirtyFilesHolder.getRemovedFiles(generatedClass.target).map { File(it) })
|
|
||||||
return sources
|
|
||||||
}
|
|
||||||
|
|
||||||
assert(IncrementalCompilation.isEnabled()) { "updateJavaMappings should not be called when incremental compilation disabled" }
|
assert(IncrementalCompilation.isEnabled()) { "updateJavaMappings should not be called when incremental compilation disabled" }
|
||||||
|
|
||||||
val previousMappings = context.getProjectDescriptor().dataManager.getMappings()
|
val previousMappings = context.getProjectDescriptor().dataManager.getMappings()
|
||||||
@@ -438,15 +421,10 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
val callback = delta.getCallback()
|
val callback = delta.getCallback()
|
||||||
|
|
||||||
for (generatedClass in generatedClasses) {
|
for (generatedClass in generatedClasses) {
|
||||||
val outputFile = generatedClass.outputFile
|
callback.associate(
|
||||||
val outputClass = generatedClass.outputClass
|
FileUtil.toSystemIndependentName(generatedClass.outputFile.getAbsolutePath()),
|
||||||
|
generatedClass.sourceFiles.map { FileUtil.toSystemIndependentName(it.getAbsolutePath()) },
|
||||||
// For package facade classes: we need to report all source files for it, not only currently compiled
|
ClassReader(generatedClass.outputClass.getFileContents())
|
||||||
val allSourcesIncludingOld = getOldSourceFiles(generatedClass, previousMappings) + generatedClass.sourceFiles
|
|
||||||
|
|
||||||
callback.associate(FileUtil.toSystemIndependentName(outputFile.getAbsolutePath()),
|
|
||||||
allSourcesIncludingOld.map { FileUtil.toSystemIndependentName(it.getAbsolutePath()) },
|
|
||||||
ClassReader(outputClass.getFileContents())
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user