aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authormodmuss50 <modmuss50@gmail.com>2021-11-09 22:07:43 +0000
committerGitHub <noreply@github.com>2021-11-09 22:07:43 +0000
commitb2228e3175653beb3d5c3c2c382140e29797bd5c (patch)
tree64fdfe5b016daf7eec2f53e93c816da210149ef4 /src/main/java
parentcb5c009e1a8978f86e1ce0a0f872ddc20686ae6d (diff)
downloadarchitectury-loom-b2228e3175653beb3d5c3c2c382140e29797bd5c.tar.gz
architectury-loom-b2228e3175653beb3d5c3c2c382140e29797bd5c.tar.bz2
architectury-loom-b2228e3175653beb3d5c3c2c382140e29797bd5c.zip
Fix unobfuscated names not having params or docs. (#532)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java40
-rw-r--r--src/main/java/net/fabricmc/loom/util/RecordComponentFixVisitor.java4
2 files changed, 13 insertions, 31 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
index 09ffb377..6b5c4694 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
@@ -73,8 +73,6 @@ import net.fabricmc.mappingio.tree.MappingTree;
import net.fabricmc.mappingio.tree.MemoryMappingTree;
import net.fabricmc.stitch.Command;
import net.fabricmc.stitch.commands.CommandProposeFieldNames;
-import net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2;
-import net.fabricmc.stitch.commands.tinyv2.CommandReorderTinyV2;
public class MappingsProviderImpl extends DependencyProvider implements MappingsProvider {
public MinecraftMappedProvider mappedProvider;
@@ -312,18 +310,22 @@ public class MappingsProviderImpl extends DependencyProvider implements Mappings
Stopwatch stopwatch = Stopwatch.createStarted();
project.getLogger().info(":merging mappings");
- MemoryMappingTree tree = new MemoryMappingTree();
- MappingSourceNsSwitch sourceNsSwitch = new MappingSourceNsSwitch(tree, MappingsNamespace.OFFICIAL.toString());
- readIntermediaryTree().accept(sourceNsSwitch);
+ MemoryMappingTree intermediaryTree = new MemoryMappingTree();
+ readIntermediaryTree().accept(new MappingSourceNsSwitch(intermediaryTree, MappingsNamespace.INTERMEDIARY.toString()));
try (BufferedReader reader = Files.newBufferedReader(from, StandardCharsets.UTF_8)) {
- Tiny2Reader.read(reader, tree);
+ Tiny2Reader.read(reader, intermediaryTree);
}
- inheritMappedNamesOfEnclosingClasses(tree);
+ MemoryMappingTree officialTree = new MemoryMappingTree();
+ MappingNsCompleter nsCompleter = new MappingNsCompleter(officialTree, Map.of(MappingsNamespace.OFFICIAL.toString(), MappingsNamespace.INTERMEDIARY.toString()));
+ MappingSourceNsSwitch nsSwitch = new MappingSourceNsSwitch(nsCompleter, MappingsNamespace.OFFICIAL.toString());
+ intermediaryTree.accept(nsSwitch);
+
+ inheritMappedNamesOfEnclosingClasses(officialTree);
try (Tiny2Writer writer = new Tiny2Writer(Files.newBufferedWriter(out, StandardCharsets.UTF_8), false)) {
- tree.accept(writer);
+ officialTree.accept(writer);
}
project.getLogger().info(":merged mappings in " + stopwatch.stop());
@@ -374,28 +376,6 @@ public class MappingsProviderImpl extends DependencyProvider implements Mappings
return tree;
}
- private void reorderMappings(Path oldMappings, Path newMappings, String... newOrder) {
- Command command = new CommandReorderTinyV2();
- String[] args = new String[2 + newOrder.length];
- args[0] = oldMappings.toAbsolutePath().toString();
- args[1] = newMappings.toAbsolutePath().toString();
- System.arraycopy(newOrder, 0, args, 2, newOrder.length);
- runCommand(command, args);
- }
-
- private void mergeMappings(Path intermediaryMappings, Path yarnMappings, Path newMergedMappings) {
- try {
- Command command = new CommandMergeTinyV2();
- runCommand(command, intermediaryMappings.toAbsolutePath().toString(),
- yarnMappings.toAbsolutePath().toString(),
- newMergedMappings.toAbsolutePath().toString(),
- MappingsNamespace.INTERMEDIARY.toString(), MappingsNamespace.OFFICIAL.toString());
- } catch (Exception e) {
- throw new RuntimeException("Could not merge mappings from " + intermediaryMappings.toString()
- + " with mappings from " + yarnMappings, e);
- }
- }
-
private void suggestFieldNames(MinecraftProviderImpl minecraftProvider, Path oldMappings, Path newMappings) {
Command command = new CommandProposeFieldNames();
runCommand(command, minecraftProvider.getMergedJar().getAbsolutePath(),
diff --git a/src/main/java/net/fabricmc/loom/util/RecordComponentFixVisitor.java b/src/main/java/net/fabricmc/loom/util/RecordComponentFixVisitor.java
index 14b26e20..fecab246 100644
--- a/src/main/java/net/fabricmc/loom/util/RecordComponentFixVisitor.java
+++ b/src/main/java/net/fabricmc/loom/util/RecordComponentFixVisitor.java
@@ -24,6 +24,8 @@
package net.fabricmc.loom.util;
+import java.util.Objects;
+
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.RecordComponentVisitor;
@@ -60,7 +62,7 @@ public class RecordComponentFixVisitor extends ClassVisitor {
@Override
public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) {
- String intermediaryName = mappings.getField(owner, name, descriptor).getName(intermediaryNsId);
+ String intermediaryName = Objects.requireNonNull(mappings.getField(owner, name, descriptor), "Could not get field for %s:%s%s".formatted(owner, name, descriptor)).getName(intermediaryNsId);
if (!hasExistingComponents && intermediaryName != null && intermediaryName.startsWith("comp_")) {
super.visitRecordComponent(name, descriptor, signature);