diff options
Diffstat (limited to 'src/main/java/ftbsc/lll/mapper/impl')
-rw-r--r-- | src/main/java/ftbsc/lll/mapper/impl/SRGMapper.java | 18 | ||||
-rw-r--r-- | src/main/java/ftbsc/lll/mapper/impl/TinyV2Mapper.java | 35 |
2 files changed, 28 insertions, 25 deletions
diff --git a/src/main/java/ftbsc/lll/mapper/impl/SRGMapper.java b/src/main/java/ftbsc/lll/mapper/impl/SRGMapper.java index b4d51af..55bc54b 100644 --- a/src/main/java/ftbsc/lll/mapper/impl/SRGMapper.java +++ b/src/main/java/ftbsc/lll/mapper/impl/SRGMapper.java @@ -78,17 +78,17 @@ public class SRGMapper implements IMappingFormat { String[] split = tokens[1].split("/"); String memberName = split[split.length - 1]; String parent = tokens[1].substring(0, tokens[1].length() - split[split.length - 1].length() - 1); - int obfPosition = field ? 2 : 3; - split = tokens[obfPosition].split("/"); - String memberNameObf = split[split.length - 1]; - String parentObf = tokens[obfPosition].substring(0, tokens[obfPosition].length() - split[split.length - 1].length() - 1); - this.registerMember(mapper, invertedMapper, parent, parentObf, memberName, memberNameObf, + int mappedPosition = field ? 2 : 3; + split = tokens[mappedPosition].split("/"); + String memberNameMapped = split[split.length - 1]; + String parentMapped = tokens[mappedPosition].substring(0, tokens[mappedPosition].length() - split[split.length - 1].length() - 1); + this.registerMember(mapper, invertedMapper, parent, parentMapped, memberName, memberNameMapped, field ? null : tokens[2], field ? null : tokens[4]); return true; } /** - * Registers a class in the mapper, if it isn't already. + * Registers a class in the mapper, if it isn't already known. * @param mapper the {@link Mapper} with normal mappings * @param invertedMapper the {@link Mapper} with inverted mappings * @param name the name @@ -118,12 +118,10 @@ public class SRGMapper implements IMappingFormat { this.registerClass(mapper, invertedMapper, parent, parentMapped); ClassData data = mapper.getClassData(parent); ClassData dataReverse = invertedMapper.getClassData(data.nameMapped); - if(descriptor == null || descriptorMapped == null) { - //field + if(descriptor == null || descriptorMapped == null) { // field data.addField(name, nameMapped); dataReverse.addField(nameMapped, name); - } else { - //method + } else { // method data.addMethod(name, nameMapped, descriptor); dataReverse.addMethod(nameMapped, name, descriptorMapped); } diff --git a/src/main/java/ftbsc/lll/mapper/impl/TinyV2Mapper.java b/src/main/java/ftbsc/lll/mapper/impl/TinyV2Mapper.java index e60b7ed..d91e955 100644 --- a/src/main/java/ftbsc/lll/mapper/impl/TinyV2Mapper.java +++ b/src/main/java/ftbsc/lll/mapper/impl/TinyV2Mapper.java @@ -28,41 +28,46 @@ public class TinyV2Mapper implements IMappingFormat { for(int i = 1; i < lines.size(); i++) { String currentLine = lines.get(i); String[] tokens = currentLine.trim().split("\t"); - int tabCount = currentLine.indexOf(tokens[0]); //get number of leading tabs + int tabCount = currentLine.indexOf(tokens[0]); // get number of leading tabs switch(tabCount) { - case 0: //classes + case 0: // classes if(tokens.length == 3) { if(tokens[0].charAt(0) == 'c') { result.getRawMappings().put(tokens[1], new ClassData(tokens[1], tokens[2])); currentClass = tokens[1]; } else if(!ignoreErrors) - throw new MalformedMappingsException(i, "root-level element must be class"); + throw new MalformedMappingsException(i + 1, "root-level element must be class"); continue; } break; - case 1: //class members + case 1: // class members if(currentClass.isEmpty()) { if(ignoreErrors) continue; - else throw new MalformedMappingsException(i, "class member without parent class"); + else throw new MalformedMappingsException(i + 1, "class member without parent class"); } switch(tokens[0].charAt(0)) { - case 'm': //methods + case 'm': // methods if(tokens.length == 4) - break; - result.getClassData(currentClass).addMethod(tokens[2], tokens[3], tokens[1]); + result.getClassData(currentClass).addMethod(tokens[2], tokens[3], tokens[1]); + else if(!ignoreErrors) + throw new MalformedMappingsException(i + 1, "incomplete method member"); continue; - case 'f': //fields + case 'f': // fields if(tokens.length == 4) - break; - result.getClassData(currentClass).addField(tokens[2], tokens[3], tokens[1]); + result.getClassData(currentClass).addField(tokens[2], tokens[3], tokens[1]); + else if(!ignoreErrors) + throw new MalformedMappingsException(i + 1, "incomplete field member"); continue; } break; - case 2: //parameters, our mappers don't really support those - break; + case 2: // parameters, our mappers don't really support those + continue; + default: + if(tokens[0].charAt(0) == 'c') + continue; // skip comments + if(!ignoreErrors) + throw new MalformedMappingsException(i + 1, "wrong number of tab-separated tokens"); } - if(!ignoreErrors) - throw new MalformedMappingsException(i, "wrong number of tab-separated tokens"); } return result; } |