aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/replaymod/gradle/remap/version.kt
diff options
context:
space:
mode:
authorDeftu <deftudev@gmail.com>2024-06-07 12:42:07 +0200
committerDeftu <deftudev@gmail.com>2024-06-07 12:42:07 +0200
commit33065b99313c4283fb64c91c04017b33b5673852 (patch)
treeb251a62af4fabda66324a2ec54c556bb175c740e /src/main/kotlin/com/replaymod/gradle/remap/version.kt
parentace0a5d5fe46906157bf532b3621481e723c6270 (diff)
downloadRemap-33065b99313c4283fb64c91c04017b33b5673852.tar.gz
Remap-33065b99313c4283fb64c91c04017b33b5673852.tar.bz2
Remap-33065b99313c4283fb64c91c04017b33b5673852.zip
Clean up Kotlin-specific files & support K2
Diffstat (limited to 'src/main/kotlin/com/replaymod/gradle/remap/version.kt')
-rw-r--r--src/main/kotlin/com/replaymod/gradle/remap/version.kt33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/kotlin/com/replaymod/gradle/remap/version.kt b/src/main/kotlin/com/replaymod/gradle/remap/version.kt
new file mode 100644
index 0000000..d85264e
--- /dev/null
+++ b/src/main/kotlin/com/replaymod/gradle/remap/version.kt
@@ -0,0 +1,33 @@
+package com.replaymod.gradle.remap
+
+import org.jetbrains.kotlin.analyzer.AnalysisResult
+import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot
+import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
+import org.jetbrains.kotlin.psi.KtFile
+import java.nio.file.Path
+
+fun analyze(
+ environment: KotlinCoreEnvironment,
+ ktFiles: List<KtFile>
+): AnalysisResult {
+ return try {
+ analyze1521(environment, ktFiles)
+ } catch (e: Throwable) {
+ try {
+ analyze1620(environment, ktFiles)
+ } catch (e: Throwable) {
+ analyze200(environment, ktFiles)
+ }
+ }
+}
+
+fun createSourceRoot(
+ tempDir: Path,
+ isCommon: Boolean
+): KotlinSourceRoot {
+ return try {
+ createSourceRoot1521(tempDir.toAbsolutePath().toString(), isCommon)
+ } catch (e: NoSuchMethodError) {
+ createSourceRoot190(tempDir.toAbsolutePath().toString(), isCommon)
+ }
+}