< prev index next > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequence.java
Print this page
import jdk.incubator.foreign.FunctionDescriptor;
import java.lang.invoke.MethodType;
import java.util.List;
+ import java.util.stream.IntStream;
import java.util.stream.Stream;
public class CallingSequence {
private final MethodType mt;
private final FunctionDescriptor desc;
this.desc = desc;
this.returnBindings = returnBindings;
this.argumentBindings = argumentBindings;
}
- public Stream<Binding.Move> moveBindings() {
+ public Stream<Binding.Move> argMoveBindings() {
return argumentBindings.stream()
.flatMap(List::stream)
.filter(Binding.Move.class::isInstance)
.map(Binding.Move.class::cast);
}
+ public Stream<Binding.Move> retMoveBindings() {
+ return returnBindings()
+ .stream()
+ .filter(Binding.Move.class::isInstance)
+ .map(Binding.Move.class::cast);
+ }
+
public int argumentCount() {
return argumentBindings.size();
}
public List<Binding> argumentBindings(int i) {
return argumentBindings.get(i);
}
+ public Stream<Binding> argumentBindings() {
+ return argumentBindings.stream().flatMap(List::stream);
+ }
+
public List<Binding> returnBindings() {
return returnBindings;
}
public String asString() {
< prev index next >