Skip to content

Commit

Permalink
UPDATE_KOTLIN_VERSION: 2.1.20-Beta2
Browse files Browse the repository at this point in the history
  • Loading branch information
ting-yuan committed Feb 14, 2025
1 parent 2b9eeb0 commit 83567f1
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 15 deletions.
1 change: 1 addition & 0 deletions compiler-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ dependencies {
testRuntimeOnly("org.junit.platform:junit-platform-suite:$junitPlatformVersion")
testImplementation("org.jetbrains.kotlin:kotlin-compiler:$kotlinBaseVersion")
testImplementation("org.jetbrains.kotlin:kotlin-compiler-internal-test-framework:$kotlinBaseVersion")
testImplementation("org.jetbrains.kotlin:analysis-api-test-framework:$kotlinBaseVersion")
testImplementation(project(":test-utils"))

libsForTesting(kotlin("stdlib", kotlinBaseVersion))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ import com.intellij.psi.*
import com.intellij.psi.impl.source.PsiClassReferenceType
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
import org.jetbrains.kotlin.codegen.ClassBuilderMode
import org.jetbrains.kotlin.codegen.OwnerKind
import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.container.ComponentProvider
import org.jetbrains.kotlin.container.get
Expand Down Expand Up @@ -147,9 +147,8 @@ class ResolverImpl(

private val moduleIdentifier = module.name.getNonSpecialIdentifier()
private val typeMapper = KotlinTypeMapper(
BindingContext.EMPTY, ClassBuilderMode.LIGHT_CLASSES,
moduleIdentifier,
KotlinTypeMapper.LANGUAGE_VERSION_SETTINGS_DEFAULT, // TODO use proper LanguageVersionSettings
LanguageVersionSettingsImpl(LanguageVersion.KOTLIN_1_9, ApiVersion.KOTLIN_1_9),
true
)
private val qualifiedExpressionResolver = QualifiedExpressionResolver(LanguageVersionSettingsImpl.DEFAULT)
Expand Down Expand Up @@ -893,17 +892,13 @@ class ResolverImpl(

@KspExperimental
override fun getJvmName(accessor: KSPropertyAccessor): String? {
return resolvePropertyAccessorDeclaration(accessor)?.let {
typeMapper.mapFunctionName(it, OwnerKind.IMPLEMENTATION)
}
return resolvePropertyAccessorDeclaration(accessor)?.let(typeMapper::mapFunctionName)
}

@KspExperimental
override fun getJvmName(declaration: KSFunctionDeclaration): String? {
// function names might be mangled if they receive inline class parameters or they are internal
return (resolveFunctionDeclaration(declaration) as? FunctionDescriptor)?.let {
typeMapper.mapFunctionName(it, OwnerKind.IMPLEMENTATION)
}
return (resolveFunctionDeclaration(declaration) as? FunctionDescriptor)?.let(typeMapper::mapFunctionName)
}

@KspExperimental
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ class KSAnnotationImpl private constructor(val ktAnnotationEntry: KtAnnotationEn
CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM
SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM
PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE
ALL -> null
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ import com.intellij.openapi.Disposable
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Disposer
import com.intellij.testFramework.TestDataFile
import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformDirectives
import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformProviderForAnalysisApiTests
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
Expand Down Expand Up @@ -121,9 +123,11 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() {
useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
useAdditionalService<ApplicationDisposableProvider> { ExecutionListenerBasedDisposableProvider() }
useAdditionalService<KotlinStandardLibrariesPathProvider> { StandardLibrariesPathProviderForKotlinProject }
useAdditionalService<TargetPlatformProvider>(::TargetPlatformProviderForAnalysisApiTests)

useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray())
useDirectives(JvmEnvironmentConfigurationDirectives)
useDirectives(TargetPlatformDirectives)

defaultDirectives {
+JvmEnvironmentConfigurationDirectives.FULL_JDK
Expand Down Expand Up @@ -163,7 +167,7 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() {
open fun compileModule(module: TestModule, testServices: TestServices) {
val javaFiles = module.writeJavaFiles()
val compilerConfiguration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module)
val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) }
val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) }
compilerConfiguration.addJvmClasspathRoots(dependencies)
compilerConfiguration.addJavaSourceRoot(module.javaDir)

Expand All @@ -185,7 +189,7 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() {
"-classpath", classpath,
"-d", module.outDir.path
)
compileJavaFiles(javaFiles, options, assertions = JUnit5Assertions)
compileJavaFiles(javaFiles, options)
}

fun runTest(@TestDataFile path: String) {
Expand All @@ -196,8 +200,8 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() {
path,
testConfiguration.directives,
)
val dependencyProvider = DependencyProviderImpl(testServices, moduleStructure.modules)
testServices.registerDependencyProvider(dependencyProvider)
val dependencyProvider = ArtifactsProvider(testServices, moduleStructure.modules)
testServices.registerArtifactsProvider(dependencyProvider)
testServices.register(TestModuleStructure::class, moduleStructure)

val mainModule = moduleStructure.modules.last()
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copied from kotlinc
org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx4096m -Dfile.encoding=UTF-8

kotlinBaseVersion=2.1.10
kotlinBaseVersion=2.1.20-Beta2
agpBaseVersion=8.10.0-alpha03
intellijVersion=233.13135.128
junitVersion=4.13.1
Expand Down

0 comments on commit 83567f1

Please sign in to comment.