diff options
| -rw-r--r-- | enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java index 04b4534b..61dbe93a 100644 --- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java +++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java | |||
| @@ -104,7 +104,7 @@ public enum EnigmaMappingsReader implements MappingsReader { | |||
| 104 | 104 | ||
| 105 | for (int lineNumber = 0; lineNumber < lines.size(); lineNumber++) { | 105 | for (int lineNumber = 0; lineNumber < lines.size(); lineNumber++) { |
| 106 | String line = lines.get(lineNumber); | 106 | String line = lines.get(lineNumber); |
| 107 | int indentation = countIndentation(line); | 107 | int indentation = countIndentation(line, path, lineNumber); |
| 108 | 108 | ||
| 109 | line = formatLine(line); | 109 | line = formatLine(line); |
| 110 | if (line == null) { | 110 | if (line == null) { |
| @@ -120,7 +120,7 @@ public enum EnigmaMappingsReader implements MappingsReader { | |||
| 120 | } | 120 | } |
| 121 | } catch (Throwable t) { | 121 | } catch (Throwable t) { |
| 122 | t.printStackTrace(); | 122 | t.printStackTrace(); |
| 123 | throw new MappingParseException(path::toString, lineNumber, t.toString()); | 123 | throw new MappingParseException(path::toString, lineNumber + 1, t.toString()); |
| 124 | } | 124 | } |
| 125 | } | 125 | } |
| 126 | 126 | ||
| @@ -162,9 +162,13 @@ public enum EnigmaMappingsReader implements MappingsReader { | |||
| 162 | return line; | 162 | return line; |
| 163 | } | 163 | } |
| 164 | 164 | ||
| 165 | private static int countIndentation(String line) { | 165 | private static int countIndentation(String line, Path path, int lineNumber) throws MappingParseException { |
| 166 | int indent = 0; | 166 | int indent = 0; |
| 167 | for (int i = 0; i < line.length(); i++) { | 167 | for (int i = 0; i < line.length(); i++) { |
| 168 | if (line.charAt(i) == ' ') { | ||
| 169 | throw new MappingParseException(path::toString, lineNumber + 1, "Spaces must not be used to indent lines!"); | ||
| 170 | } | ||
| 171 | |||
| 168 | if (line.charAt(i) != '\t') { | 172 | if (line.charAt(i) != '\t') { |
| 169 | break; | 173 | break; |
| 170 | } | 174 | } |