Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfb3a842

Browse files
committed
1 parent5ab1882 commitfb3a842

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

‎src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
importjava.io.Reader;
2525
importjava.util.ArrayList;
2626
importjava.util.List;
27+
importjava.util.Objects;
2728
importjava.util.function.BiConsumer;
2829
importjava.util.logging.Level;
2930
importjava.util.logging.Logger;
@@ -80,13 +81,9 @@ private UnifiedDiff parse() throws IOException, UnifiedDiffParserException {
8081

8182
while (line !=null) {
8283
if (!CHUNK.validLine(line)) {
83-
if (processLine(line,DIFF_COMMAND,INDEX,FROM_FILE,TO_FILE) ==false) {
84-
thrownewUnifiedDiffParserException("parsing error at line " +line);
85-
}
84+
processLine(line,DIFF_COMMAND,INDEX,FROM_FILE,TO_FILE);
8685
}else {
87-
if (processLine(line,CHUNK) ==false) {
88-
thrownewUnifiedDiffParserException("parsing error at line " +line);
89-
}
86+
processLine(line,CHUNK);
9087
}
9188
line =READER.readLine();
9289
}
@@ -117,15 +114,15 @@ public static UnifiedDiff parseUnifiedDiff(InputStream stream) throws IOExceptio
117114
returnparser.parse();
118115
}
119116

120-
privatebooleanprocessLine(Stringline,UnifiedDiffLine...rules)throwsUnifiedDiffParserException {
117+
privatevoidprocessLine(Stringline,UnifiedDiffLine...rules)throwsUnifiedDiffParserException {
121118
for (UnifiedDiffLinerule :rules) {
122119
if (rule.processLine(line)) {
123120
LOG.info(" >>> processed rule " +rule.toString());
124-
returntrue;
121+
return;
125122
}
126123
}
127124
LOG.info(" >>> no rule matched " +line);
128-
returnfalse;
125+
thrownewUnifiedDiffParserException("parsing error at line " +line);
129126
}
130127

131128
privatevoidinitFileIfNecessary() {
@@ -151,7 +148,9 @@ private void processDiff(MatchResult match, String line) {
151148
privateList<String>originalTxt =newArrayList<>();
152149
privateList<String>revisedTxt =newArrayList<>();
153150
privateintold_ln;
151+
privateintold_size;
154152
privateintnew_ln;
153+
privateintnew_size;
155154

156155
privatevoidfinalizeChunk() {
157156
if (!originalTxt.isEmpty() || !revisedTxt.isEmpty()) {
@@ -183,8 +182,10 @@ private void processDelLine(MatchResult match, String line) {
183182

184183
privatevoidprocessChunk(MatchResultmatch,StringchunkStart) {
185184
finalizeChunk();
186-
old_ln =match.group(1) ==null ?1 :Integer.parseInt(match.group(1));
187-
new_ln =match.group(3) ==null ?1 :Integer.parseInt(match.group(3));
185+
old_ln =toInteger(match,1,1);
186+
old_size =toInteger(match,2,0);
187+
new_ln =toInteger(match,3,1);
188+
new_size =toInteger(match,4,0);
188189
if (old_ln ==0) {
189190
old_ln =1;
190191
}
@@ -193,6 +194,10 @@ private void processChunk(MatchResult match, String chunkStart) {
193194
}
194195
}
195196

197+
privatestaticIntegertoInteger(MatchResultmatch,intgroup,intdefValue)throwsNumberFormatException {
198+
returnInteger.valueOf(Objects.toString(match.group(group) ,"" +defValue));
199+
}
200+
196201
privatevoidprocessIndex(MatchResultmatch,Stringline) {
197202
initFileIfNecessary();
198203
LOG.log(Level.INFO,"index {0}",line);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp