diff --git a/src/main/java/net/fabricmc/mappingio/format/StandardProperties.java b/src/main/java/net/fabricmc/mappingio/format/StandardProperties.java index 8f89c6e8..1280a65e 100644 --- a/src/main/java/net/fabricmc/mappingio/format/StandardProperties.java +++ b/src/main/java/net/fabricmc/mappingio/format/StandardProperties.java @@ -56,6 +56,7 @@ public static StandardProperty getById(String id) { public static final StandardProperty IS_STATIC; public static final StandardProperty START_LINE_NUMBER; public static final StandardProperty END_LINE_NUMBER; + public static final StandardProperty PARAM_DEST_POS; private static final Set values = new HashSet<>(); private static final Map valuesByName = new HashMap<>(); private static final Map valuesById = new HashMap<>(); @@ -132,6 +133,12 @@ public static StandardProperty getById(String id) { put(new SimpleEntry<>(MappingFormat.PROGUARD_FILE, MappedElementKind.FIELD), null); put(new SimpleEntry<>(MappingFormat.PROGUARD_FILE, MappedElementKind.FIELD), null); }}); + PARAM_DEST_POS = register( + "parameter-destination-position", + Collections.emptyMap(), + new HashMap, String>() {{ + put(new SimpleEntry<>(MappingFormat.MATCH_FILE, MappedElementKind.METHOD_ARG), null); + }}); } private static StandardProperty register(String id, Map filePropNameByFormat, diff --git a/src/main/java/net/fabricmc/mappingio/format/match/MatchFileReader.java b/src/main/java/net/fabricmc/mappingio/format/match/MatchFileReader.java index 76251fa8..726e134d 100644 --- a/src/main/java/net/fabricmc/mappingio/format/match/MatchFileReader.java +++ b/src/main/java/net/fabricmc/mappingio/format/match/MatchFileReader.java @@ -24,6 +24,7 @@ import net.fabricmc.mappingio.MappingFlag; import net.fabricmc.mappingio.MappingVisitor; import net.fabricmc.mappingio.format.ColumnFileReader; +import net.fabricmc.mappingio.format.StandardProperties; public class MatchFileReader { public static void read(Reader reader, MappingVisitor visitor) throws IOException { @@ -131,7 +132,7 @@ private static void readMethodContent(ColumnFileReader reader, boolean escapeNam if (srcArgPos < 0 || dstArgPos < 0) throw new IOException("missing/invalid method arg position in line "+reader.getLineNumber()); if (visitor.visitMethodArg(srcArgPos, -1, null)) { - // TODO: Implement once per-element metadata is supported + visitor.visitElementMetadata(MappedElementKind.METHOD_ARG, StandardProperties.PARAM_DEST_POS.getId(), 0, String.valueOf(dstArgPos)); } } else if (reader.nextCol("c")) { // comment: c readComment(reader, MappedElementKind.METHOD, visitor);