mirror of
https://github.com/github/codeql.git
synced 2026-04-30 19:26:02 +02:00
Java: Add models for java.util.stream.
This commit is contained in:
@@ -91,6 +91,7 @@ private module Frameworks {
|
||||
private import semmle.code.java.frameworks.JsonJava
|
||||
private import semmle.code.java.frameworks.Objects
|
||||
private import semmle.code.java.frameworks.Optional
|
||||
private import semmle.code.java.frameworks.Stream
|
||||
private import semmle.code.java.frameworks.Strings
|
||||
private import semmle.code.java.frameworks.spring.SpringCache
|
||||
private import semmle.code.java.frameworks.spring.SpringHttp
|
||||
|
||||
87
java/ql/lib/semmle/code/java/frameworks/Stream.qll
Normal file
87
java/ql/lib/semmle/code/java/frameworks/Stream.qll
Normal file
@@ -0,0 +1,87 @@
|
||||
/** Definitions related to `java.util.stream`. */
|
||||
|
||||
import semmle.code.java.dataflow.ExternalFlow
|
||||
|
||||
private class StreamModel extends SummaryModelCsv {
|
||||
override predicate row(string s) {
|
||||
s =
|
||||
[
|
||||
"java.util.stream;BaseStream;false;iterator;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;BaseStream;false;onClose;(Runnable);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;BaseStream;false;parallel;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;BaseStream;false;sequential;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;BaseStream;false;spliterator;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;BaseStream;false;unordered;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;allMatch;(Predicate);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;anyMatch;(Predicate);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;collect;(Supplier,BiConsumer,BiConsumer);;ReturnValue of Argument[0];Parameter[0] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;collect;(Supplier,BiConsumer,BiConsumer);;Parameter[0] of Argument[1];ReturnValue;value",
|
||||
"java.util.stream;Stream;false;collect;(Supplier,BiConsumer,BiConsumer);;Parameter[0] of Argument[1];Parameter[0..1] of Argument[2];value",
|
||||
"java.util.stream;Stream;false;collect;(Supplier,BiConsumer,BiConsumer);;Parameter[0..1] of Argument[2];Parameter[0] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;collect;(Supplier,BiConsumer,BiConsumer);;Element of Argument[-1];Parameter[1] of Argument[1];value",
|
||||
// Missing: collect(Collector<T,A,R> collector)
|
||||
"java.util.stream;Stream;false;concat;(Stream,Stream);;Element of Argument[0..1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;distinct;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;dropWhile;(Predicate);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;dropWhile;(Predicate);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;filter;(Predicate);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;filter;(Predicate);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;findAny;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;findFirst;();;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;flatMap;(Function);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;flatMap;(Function);;Element of ReturnValue of Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;flatMapToDouble;(Function);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;flatMapToInt;(Function);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;flatMapToLong;(Function);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;forEach;(Consumer);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;forEachOrdered;(Consumer);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;generate;(Supplier);;ReturnValue of Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,Predicate,UnaryOperator);;Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,Predicate,UnaryOperator);;Argument[0];Parameter[0] of Argument[1..2];value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,Predicate,UnaryOperator);;ReturnValue of Argument[2];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,Predicate,UnaryOperator);;ReturnValue of Argument[2];Parameter[0] of Argument[1..2];value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,UnaryOperator);;Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,UnaryOperator);;Argument[0];Parameter[0] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,UnaryOperator);;ReturnValue of Argument[1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;iterate;(Object,UnaryOperator);;ReturnValue of Argument[1];Parameter[0] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;limit;(long);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;map;(Function);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;map;(Function);;ReturnValue of Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;mapToDouble;(ToDoubleFunction);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;mapToInt;(ToIntFunction);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;mapToLong;(ToLongFunction);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;max;(Comparator);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;max;(Comparator);;Element of Argument[-1];Parameter[0..1] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;min;(Comparator);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;min;(Comparator);;Element of Argument[-1];Parameter[0..1] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;noneMatch;(Predicate);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;of;(Object);;Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;of;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;ofNullable;(Object);;Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;peek;(Consumer);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;peek;(Consumer);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;reduce;(BinaryOperator);;Element of Argument[-1];Parameter[0..1] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;reduce;(BinaryOperator);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;reduce;(BinaryOperator);;ReturnValue of Argument[0];Parameter[0..1] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;reduce;(BinaryOperator);;ReturnValue of Argument[0];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BinaryOperator);;Element of Argument[-1];Parameter[0..1] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BinaryOperator);;Argument[0];Parameter[0..1] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BinaryOperator);;Argument[0];ReturnValue;value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BinaryOperator);;ReturnValue of Argument[1];Parameter[0..1] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BinaryOperator);;ReturnValue of Argument[1];ReturnValue;value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;Element of Argument[-1];Parameter[1] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];Parameter[0] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];Parameter[0..1] of Argument[2];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];ReturnValue;value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;ReturnValue of Argument[1..2];Parameter[0] of Argument[1];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;ReturnValue of Argument[1..2];Parameter[0..1] of Argument[2];value",
|
||||
"java.util.stream;Stream;false;reduce;(Object,BiFunction,BinaryOperator);;ReturnValue of Argument[1..2];ReturnValue;value",
|
||||
"java.util.stream;Stream;false;skip;(long);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;sorted;;;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;sorted;(Comparator);;Element of Argument[-1];Parameter[0..1] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;takeWhile;(Predicate);;Element of Argument[-1];Parameter[0] of Argument[0];value",
|
||||
"java.util.stream;Stream;false;takeWhile;(Predicate);;Element of Argument[-1];Element of ReturnValue;value",
|
||||
"java.util.stream;Stream;false;toArray;;;Element of Argument[-1];ArrayElement of ReturnValue;value"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user