Skip to content

Commit acafbcf

Browse files
committed
Clear eval cache for selectFirst directly after execution
Related to jhy#2411
1 parent eeae0ff commit acafbcf

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/main/java/org/jsoup/select/Collector.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ public static <T extends Node> Stream<T> streamNodes(Evaluator evaluator, Elemen
7373
@return the first match; {@code null} if none
7474
*/
7575
public static @Nullable Element findFirst(Evaluator eval, Element root) {
76-
return stream(eval, root).findFirst().orElse(null);
76+
Element el = stream(eval, root).findFirst().orElse(null);
77+
eval.reset();
78+
return el;
7779
}
7880

7981
/**
@@ -87,7 +89,9 @@ public static <T extends Node> Stream<T> streamNodes(Evaluator evaluator, Elemen
8789
@since 1.21.1
8890
*/
8991
public static <T extends Node> @Nullable T findFirstNode(Evaluator eval, Element root, Class<T> type) {
90-
return streamNodes(eval, root, type).findFirst().orElse(null);
92+
T node = streamNodes(eval, root, type).findFirst().orElse(null);
93+
eval.reset();
94+
return node;
9195
}
9296

9397
/**

0 commit comments

Comments
 (0)