aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt
diff options
context:
space:
mode:
authorJonas Herzig <me@johni0702.de>2019-12-08 10:58:30 +0100
committerJonas Herzig <me@johni0702.de>2019-12-08 11:11:51 +0100
commit4db7bcc523ed8adb32c98cff8785c1351132d7cf (patch)
tree26ee5c990aeb44ddf1d5282af63564db4b88644f /src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt
parentff84669a02e8ffd3e634db4321dbc199b35effce (diff)
downloadRemap-4db7bcc523ed8adb32c98cff8785c1351132d7cf.tar.gz
Remap-4db7bcc523ed8adb32c98cff8785c1351132d7cf.tar.bz2
Remap-4db7bcc523ed8adb32c98cff8785c1351132d7cf.zip
Move remap error handling to the caller
This e.g. allows the preprocessor to ignore errors in lines which it would have commented out anyway.
Diffstat (limited to 'src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt')
-rw-r--r--src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt b/src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt
index 90296d3..8df1f68 100644
--- a/src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt
+++ b/src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt
@@ -40,10 +40,9 @@ import kotlin.system.exitProcess
class Transformer(private val map: MappingSet) {
var classpath: Array<String>? = null
- private var fail: Boolean = false
@Throws(IOException::class)
- fun remap(sources: Map<String, String>): Map<String, String> {
+ fun remap(sources: Map<String, String>): Map<String, Pair<String, List<Pair<Int, String>>>> {
val tmpDir = Files.createTempDirectory("remap")
try {
for ((unitName, source) in sources) {
@@ -84,7 +83,7 @@ class Transformer(private val map: MappingSet) {
{ scope: GlobalSearchScope -> environment.createPackagePartProvider(scope) }
)
- val results = HashMap<String, String>()
+ val results = HashMap<String, Pair<String, List<Pair<Int, String>>>>()
for (name in sources.keys) {
val file = vfs.findFileByIoFile(tmpDir.resolve(name).toFile())!!
val psiFile = psiManager.findFile(file)!!
@@ -94,10 +93,6 @@ class Transformer(private val map: MappingSet) {
} catch (e: Exception) {
throw RuntimeException("Failed to map file \"$name\".", e)
}
- if (mapped == null) {
- fail = true
- continue
- }
results[name] = mapped
}
return results
@@ -142,14 +137,14 @@ class Transformer(private val map: MappingSet) {
for (name in sources.keys) {
println(name)
- val lines = results.getValue(name).split("\n").dropLastWhile { it.isEmpty() }.toTypedArray()
+ val lines = results.getValue(name).first.split("\n").dropLastWhile { it.isEmpty() }.toTypedArray()
println(lines.size)
for (line in lines) {
println(line)
}
}
- if (transformer.fail) {
+ if (results.any { it.value.second.isNotEmpty() }) {
exitProcess(1)
}
}