@@ -59,25 +59,7 @@ public static Patch<String> parseUnifiedDiff(List<String> diff) {
59
59
Matcher m =UNIFIED_DIFF_CHUNK_REGEXP .matcher (line );
60
60
if (m .find ()) {
61
61
// Process the lines in the previous chunk
62
- if (!rawChunk .isEmpty ()) {
63
- List <String >oldChunkLines =new ArrayList <>();
64
- List <String >newChunkLines =new ArrayList <>();
65
-
66
- for (String []raw_line :rawChunk ) {
67
- tag =raw_line [0 ];
68
- rest =raw_line [1 ];
69
- if (" " .equals (tag ) ||"-" .equals (tag )) {
70
- oldChunkLines .add (rest );
71
- }
72
- if (" " .equals (tag ) ||"+" .equals (tag )) {
73
- newChunkLines .add (rest );
74
- }
75
- }
76
- patch .addDelta (new ChangeDelta <>(new Chunk <>(
77
- old_ln -1 ,oldChunkLines ),new Chunk <>(
78
- new_ln -1 ,newChunkLines )));
79
- rawChunk .clear ();
80
- }
62
+ processLinesInPrevChunk (rawChunk ,patch ,old_ln ,new_ln );
81
63
// Parse the @@ header
82
64
old_ln =m .group (1 ) ==null ?1 :Integer .parseInt (m .group (1 ));
83
65
new_ln =m .group (3 ) ==null ?1 :Integer .parseInt (m .group (3 ));
@@ -102,6 +84,14 @@ public static Patch<String> parseUnifiedDiff(List<String> diff) {
102
84
}
103
85
104
86
// Process the lines in the last chunk
87
+ processLinesInPrevChunk (rawChunk ,patch ,old_ln ,new_ln );
88
+
89
+ return patch ;
90
+ }
91
+
92
+ private static void processLinesInPrevChunk (List <String []>rawChunk ,Patch <String >patch ,int old_ln ,int new_ln ) {
93
+ String tag ;
94
+ String rest ;
105
95
if (!rawChunk .isEmpty ()) {
106
96
List <String >oldChunkLines =new ArrayList <>();
107
97
List <String >newChunkLines =new ArrayList <>();
@@ -116,14 +106,11 @@ public static Patch<String> parseUnifiedDiff(List<String> diff) {
116
106
newChunkLines .add (rest );
117
107
}
118
108
}
119
-
120
109
patch .addDelta (new ChangeDelta <>(new Chunk <>(
121
- old_ln -1 ,oldChunkLines ),new Chunk <>(new_ln - 1 ,
122
- newChunkLines )));
110
+ old_ln -1 ,oldChunkLines ),new Chunk <>(
111
+ new_ln - 1 , newChunkLines )));
123
112
rawChunk .clear ();
124
113
}
125
-
126
- return patch ;
127
114
}
128
115
129
116
/**