Skip to content

Commit 8907139

Browse files
author
Kamenev Yury
committed
Implemented UtStream
1 parent 515955d commit 8907139

File tree

22 files changed

+2049
-154
lines changed

22 files changed

+2049
-154
lines changed

utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/impl/FieldIdStrategies.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class FieldIdReflectionStrategy(val fieldId: FieldId) : FieldIdStrategy {
4747
get() = Modifier.isStatic(fieldId.field.modifiers)
4848

4949
override val isSynthetic: Boolean
50-
get() = false
50+
get() = fieldId.field.isSynthetic
5151

5252
override val type: ClassId
5353
get() = fieldId.field.type.id
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.utbot.engine.overrides.stream;
2+
3+
import org.utbot.api.annotation.UtClassMock;
4+
5+
import java.util.function.Supplier;
6+
import java.util.function.UnaryOperator;
7+
import java.util.stream.BaseStream;
8+
9+
import static org.utbot.engine.overrides.UtOverrideMock.executeConcretely;
10+
11+
@SuppressWarnings({"UnnecessaryInterfaceModifier", "unused"})
12+
@UtClassMock(target = java.util.stream.Stream.class, internalUsage = true)
13+
public interface Stream<E> extends BaseStream<E, Stream<E>> {
14+
@SuppressWarnings("unchecked")
15+
public static <E> java.util.stream.Stream<E> of(E element) {
16+
Object[] data = new Object[1];
17+
data[0] = element;
18+
19+
return new UtStream<>((E[]) data, 1);
20+
}
21+
22+
@SuppressWarnings("unchecked")
23+
public static <E> java.util.stream.Stream<E> of(E... elements) {
24+
int size = elements.length;
25+
26+
return new UtStream<>(elements, size);
27+
}
28+
29+
@SuppressWarnings("unchecked")
30+
public static <E> java.util.stream.Stream<E> empty() {
31+
return new UtStream<>((E[]) new Object[]{}, 0);
32+
}
33+
34+
public static <E> java.util.stream.Stream<E> generate(Supplier<E> s) {
35+
// as "generate" method produces an infinite stream, we cannot analyze it symbolically
36+
executeConcretely();
37+
return null;
38+
}
39+
40+
public static <E> java.util.stream.Stream<E> iterate(final E seed, final UnaryOperator<E> f) {
41+
// as "iterate" method produces an infinite stream, we cannot analyze it symbolically
42+
executeConcretely();
43+
return null;
44+
}
45+
46+
public static <E> java.util.stream.Stream<E> concat(
47+
java.util.stream.Stream<? extends E> a,
48+
java.util.stream.Stream<? extends E> b
49+
) {
50+
// as provided streams might be infinite, we cannot analyze this method symbolically
51+
executeConcretely();
52+
return null;
53+
}
54+
}

0 commit comments

Comments
 (0)