diff options
author | Jonas Herzig <me@johni0702.de> | 2019-12-08 10:58:30 +0100 |
---|---|---|
committer | Jonas Herzig <me@johni0702.de> | 2019-12-08 11:11:51 +0100 |
commit | 4db7bcc523ed8adb32c98cff8785c1351132d7cf (patch) | |
tree | 26ee5c990aeb44ddf1d5282af63564db4b88644f /src/main/kotlin/com/replaymod/gradle/remap/Transformer.kt | |
parent | ff84669a02e8ffd3e634db4321dbc199b35effce (diff) | |
download | Remap-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.kt | 13 |
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) } } |