mirror of
https://github.com/github/codeql.git
synced 2026-04-28 10:15:14 +02:00
Merge pull request #6138 from owen-mc/java/model/apache-commons-collections
Model Apache commons collections MapUtils class and keyvalue package
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
lgtm,codescanning
|
||||
* Added models for the package `keyvalue` and the classes `KeyValue` and `MapUtils` from Apache Commons Collections. This may lead to more results from any query using data-flow analysis where a relevant path uses one of these container types.
|
||||
@@ -2,9 +2,10 @@ Framework name,URL,Package prefixes
|
||||
Java Standard Library,,java.*
|
||||
Java extensions,,javax.*
|
||||
Google Guava,https://guava.dev/,com.google.common.*
|
||||
Apache Commons Collections,https://commons.apache.org/proper/commons-collections/,org.apache.commons.collections org.apache.commons.collections4
|
||||
Apache Commons IO,https://commons.apache.org/proper/commons-io/,org.apache.commons.io
|
||||
Apache Commons Lang,https://commons.apache.org/proper/commons-lang/,org.apache.commons.lang3
|
||||
Apache Commons Text,https://commons.apache.org/proper/commons-text/,org.apache.commons.text
|
||||
Apache HttpComponents,https://hc.apache.org/,org.apache.hc.core5.* org.apache.http
|
||||
Android,,android.*
|
||||
Spring,https://spring.io/,org.springframework.*
|
||||
Spring,https://spring.io/,org.springframework.*
|
||||
|
||||
|
@@ -78,6 +78,7 @@ private import FlowSummary
|
||||
private module Frameworks {
|
||||
private import internal.ContainerFlow
|
||||
private import semmle.code.java.frameworks.ApacheHttp
|
||||
private import semmle.code.java.frameworks.apache.Collections
|
||||
private import semmle.code.java.frameworks.apache.Lang
|
||||
private import semmle.code.java.frameworks.guava.Guava
|
||||
private import semmle.code.java.frameworks.jackson.JacksonSerializability
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
import java
|
||||
import SSA
|
||||
private import semmle.code.java.controlflow.internal.GuardsLogic
|
||||
private import semmle.code.java.frameworks.apache.Collections
|
||||
private import RangeUtils
|
||||
private import IntegerGuards
|
||||
|
||||
@@ -144,11 +145,11 @@ predicate nullCheckMethod(Method m, boolean branch, boolean isnull) {
|
||||
branch = false and
|
||||
isnull = false
|
||||
or
|
||||
(
|
||||
m.getDeclaringType().hasQualifiedName("org.apache.commons.collections4", "CollectionUtils") or
|
||||
m.getDeclaringType().hasQualifiedName("org.apache.commons.collections", "CollectionUtils")
|
||||
) and
|
||||
m.hasName("isNotEmpty") and
|
||||
m instanceof MethodApacheCollectionsIsEmpty and
|
||||
branch = false and
|
||||
isnull = false
|
||||
or
|
||||
m instanceof MethodApacheCollectionsIsNotEmpty and
|
||||
branch = true and
|
||||
isnull = false
|
||||
or
|
||||
|
||||
264
java/ql/src/semmle/code/java/frameworks/apache/Collections.qll
Normal file
264
java/ql/src/semmle/code/java/frameworks/apache/Collections.qll
Normal file
@@ -0,0 +1,264 @@
|
||||
/** Definitions related to the Apache Commons Collections library. */
|
||||
|
||||
import java
|
||||
private import semmle.code.java.dataflow.FlowSteps
|
||||
private import semmle.code.java.dataflow.ExternalFlow
|
||||
|
||||
/**
|
||||
* The method `isNotEmpty` in either `org.apache.commons.collections.CollectionUtils`
|
||||
* or `org.apache.commons.collections4.CollectionUtils`.
|
||||
*/
|
||||
class MethodApacheCollectionsIsEmpty extends Method {
|
||||
MethodApacheCollectionsIsEmpty() {
|
||||
this.getDeclaringType()
|
||||
.hasQualifiedName(["org.apache.commons.collections", "org.apache.commons.collections4"],
|
||||
"CollectionUtils") and
|
||||
this.hasName("isEmpty")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The method `isNotEmpty` in either `org.apache.commons.collections.CollectionUtils`
|
||||
* or `org.apache.commons.collections4.CollectionUtils`.
|
||||
*/
|
||||
class MethodApacheCollectionsIsNotEmpty extends Method {
|
||||
MethodApacheCollectionsIsNotEmpty() {
|
||||
this.getDeclaringType()
|
||||
.hasQualifiedName(["org.apache.commons.collections", "org.apache.commons.collections4"],
|
||||
"CollectionUtils") and
|
||||
this.hasName("isNotEmpty")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Value-propagating models for classes in the package `org.apache.commons.collections4`.
|
||||
*/
|
||||
private class ApacheCollectionsModel extends SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
row =
|
||||
[
|
||||
"org.apache.commons.collections4;KeyValue;true;getKey;;;MapKey of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections4;KeyValue;true;getValue;;;MapValue of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections;KeyValue;true;getKey;;;MapKey of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections;KeyValue;true;getValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Value-propagating models for classes in the package `org.apache.commons.collections4.keyvalue`.
|
||||
*/
|
||||
private class ApacheKeyValueModel extends SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
row =
|
||||
[
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;MapValue of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;toString;;;MapKey of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;toString;;;MapValue of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;MapKey of Argument[-1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;MapValue of Argument[-1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;toString;;;MapKey of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;toString;;;MapValue of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;toMapEntry;;;MapKey of Argument[-1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;toMapEntry;;;MapValue of Argument[-1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;TiedMapEntry;true;TiedMapEntry;;;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[1];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;setKey;;;MapValue of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;setKey;;;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;toString;;;MapKey of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections.keyvalue;AbstractKeyValue;true;toString;;;MapValue of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;MapKey of Argument[-1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;MapValue of Argument[-1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntryDecorator;true;toString;;;MapKey of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections.keyvalue;AbstractMapEntryDecorator;true;toString;;;MapValue of Argument[-1];ReturnValue;taint",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;toMapEntry;;;MapKey of Argument[-1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultKeyValue;true;toMapEntry;;;MapValue of Argument[-1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;TiedMapEntry;true;TiedMapEntry;;;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[1];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[1];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value",
|
||||
"org.apache.commons.collections.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Value-propagating models for the class `org.apache.commons.collections4.MapUtils`.
|
||||
*/
|
||||
private class ApacheMapUtilsModel extends SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
row =
|
||||
[
|
||||
"org.apache.commons.collections4;MapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;fixedSizeMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;fixedSizeMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;fixedSizeSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;fixedSizeSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;getMap;;;MapValue of Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;getMap;;;Argument[2];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;getObject;;;MapValue of Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;getObject;;;Argument[2];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;getString;;;MapValue of Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;getString;;;Argument[2];ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;invertMap;;;MapKey of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;invertMap;;;MapValue of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;iterableMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;iterableMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;iterableSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;iterableSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;lazyMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;lazyMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;lazySortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;lazySortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;orderedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;orderedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;populateMap;(Map,Iterable,Transformer);;Element of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;populateMap;(MultiMap,Iterable,Transformer);;Element of Argument[1];MapValue of Argument[0];value",
|
||||
// Note that when lambdas are supported we should have more models for populateMap
|
||||
"org.apache.commons.collections4;MapUtils;true;predicatedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;predicatedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;predicatedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;predicatedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;MapKey of ArrayElement of Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;MapKey of ArrayElement of Argument[1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;MapValue of ArrayElement of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;putAll;;;MapValue of ArrayElement of Argument[1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;safeAddToMap;;;Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;safeAddToMap;;;Argument[2];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections4;MapUtils;true;synchronizedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;synchronizedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;synchronizedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;synchronizedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;toMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;toMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;transformedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;transformedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;transformedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;transformedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;unmodifiableMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;unmodifiableMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;unmodifiableSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections4;MapUtils;true;unmodifiableSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;fixedSizeMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;fixedSizeMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;fixedSizeSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;fixedSizeSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;getMap;;;MapValue of Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;getMap;;;Argument[2];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;getObject;;;MapValue of Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;getObject;;;Argument[2];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;getString;;;MapValue of Argument[0];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;getString;;;Argument[2];ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;invertMap;;;MapKey of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;invertMap;;;MapValue of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;iterableMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;iterableMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;iterableSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;iterableSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;lazyMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;lazyMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;lazySortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;lazySortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;multiValueMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;multiValueMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;orderedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;orderedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;populateMap;(Map,Iterable,Transformer);;Element of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;populateMap;(MultiMap,Iterable,Transformer);;Element of Argument[1];MapValue of Argument[0];value",
|
||||
// Note that when lambdas are supported we should have more models for populateMap
|
||||
"org.apache.commons.collections;MapUtils;true;predicatedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;predicatedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;predicatedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;predicatedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;MapKey of ArrayElement of Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;MapKey of ArrayElement of Argument[1];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;MapValue of ArrayElement of Argument[1];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;putAll;;;MapValue of ArrayElement of Argument[1];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;safeAddToMap;;;Argument[1];MapKey of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;safeAddToMap;;;Argument[2];MapValue of Argument[0];value",
|
||||
"org.apache.commons.collections;MapUtils;true;synchronizedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;synchronizedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;synchronizedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;synchronizedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;toMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;toMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;transformedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;transformedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;transformedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;transformedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;unmodifiableMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;unmodifiableMap;;;MapValue of Argument[0];MapValue of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;unmodifiableSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value",
|
||||
"org.apache.commons.collections;MapUtils;true;unmodifiableSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,990 @@
|
||||
package generatedtest;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.SortedMap;
|
||||
import java.util.TreeMap;
|
||||
import java.util.Vector;
|
||||
import org.apache.commons.collections4.Factory;
|
||||
import org.apache.commons.collections4.IterableMap;
|
||||
import org.apache.commons.collections4.IterableSortedMap;
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.apache.commons.collections4.MultiMap;
|
||||
import org.apache.commons.collections4.OrderedMap;
|
||||
import org.apache.commons.collections4.Transformer;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractKeyValue;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractMapEntry;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractMapEntryDecorator;
|
||||
import org.apache.commons.collections4.keyvalue.DefaultKeyValue;
|
||||
import org.apache.commons.collections4.keyvalue.DefaultMapEntry;
|
||||
import org.apache.commons.collections4.keyvalue.TiedMapEntry;
|
||||
import org.apache.commons.collections4.keyvalue.UnmodifiableMapEntry;
|
||||
import org.apache.commons.collections4.map.MultiValueMap;
|
||||
|
||||
//Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
static Object getMapKey(AbstractKeyValue container) { return container.getKey(); }
|
||||
static Object getMapKeyFromEntry(Map.Entry container) { return container.getKey(); }
|
||||
static Object getMapKey(AbstractMapEntryDecorator container) { return container.getKey(); }
|
||||
static Object getMapKey(Map container) { return container.keySet().iterator().next(); }
|
||||
static Object getMapValue(AbstractKeyValue container) { return container.getValue(); }
|
||||
static Object getMapValueFromEntry(Map.Entry container) { return container.getValue(); }
|
||||
static Object getMapValue(AbstractMapEntryDecorator container) { return container.getValue(); }
|
||||
static Object getMapValue(Map container) { return container.get(null); }
|
||||
|
||||
Object[] newWithArrayElement(Object element) { return new Object[] {element}; }
|
||||
Iterable<String> newWithElement(String element) { Vector<String> v = new Vector<String>(); v.add(element); return v; }
|
||||
|
||||
MyAbstractKeyValue newMAKVWithMapKey(Object element) { return new MyAbstractKeyValue(element,null); }
|
||||
DefaultKeyValue newDKVWithMapKey(Object element) { return new DefaultKeyValue(element,null); }
|
||||
MyAbstractMapEntry newMAMEWithMapKey(Object element) { return new MyAbstractMapEntry(element,null); }
|
||||
MyAbstractMapEntryDecorator newMAMEDWithMapKey(Object element) { return new MyAbstractMapEntryDecorator(newMAMEWithMapKey(element)); }
|
||||
ResourceBundle newRBWithMapKey(Object element) { return (ResourceBundle)null; }
|
||||
SortedMap newTreeMapWithMapKey(Object element) { SortedMap m = new TreeMap(); m.put(element,null); return m; }
|
||||
TiedMapEntry newTMEWithMapKey(Object element) { return new TiedMapEntry(newTreeMapWithMapKey(element),element); }
|
||||
|
||||
MyAbstractKeyValue newMAKVWithMapValue(Object element) { return new MyAbstractKeyValue(null,element); }
|
||||
DefaultKeyValue newDKVWithMapValue(Object element) { return new DefaultKeyValue(null,element); }
|
||||
MyAbstractMapEntry newMAMEWithMapValue(Object element) { return new MyAbstractMapEntry(null,element); }
|
||||
MyAbstractMapEntryDecorator newMAMEDWithMapValue(Object element) { return new MyAbstractMapEntryDecorator(newMAMEWithMapValue(element)); }
|
||||
ResourceBundle newRBWithMapValue(Object element) { return (ResourceBundle)null; }
|
||||
SortedMap newTreeMapWithMapValue(Object element) { SortedMap m = new TreeMap(); m.put(null,element); return m; }
|
||||
TiedMapEntry newTMEWithMapValue(Object element) { return new TiedMapEntry(newTreeMapWithMapValue(element),null); }
|
||||
UnmodifiableMapEntry newUMEWithMapValue(Object element) { return new UnmodifiableMapEntry(null,element); }
|
||||
|
||||
Object source() { return null; }
|
||||
void sink(Object o) { }
|
||||
|
||||
class MyAbstractKeyValue<K, V> extends AbstractKeyValue<K, V> {
|
||||
MyAbstractKeyValue(K key, V value) {
|
||||
super(key, value);
|
||||
}
|
||||
|
||||
K mySetKey(final K key) {
|
||||
return super.setKey(key);
|
||||
}
|
||||
|
||||
V mySetValue(final V value) {
|
||||
return super.setValue(value);
|
||||
}
|
||||
}
|
||||
|
||||
class MyAbstractMapEntry<K, V> extends AbstractMapEntry<K, V> {
|
||||
MyAbstractMapEntry(final K key, final V value) {
|
||||
super(key, value);
|
||||
}
|
||||
@Override
|
||||
public K getKey() { return null; }
|
||||
@Override
|
||||
public V getValue() { return null; }
|
||||
}
|
||||
|
||||
class MyAbstractMapEntryDecorator<K, V> extends AbstractMapEntryDecorator<K, V> {
|
||||
MyAbstractMapEntryDecorator(final Map.Entry<K, V> entry) {
|
||||
super(entry);
|
||||
}
|
||||
|
||||
Map.Entry<K, V> myGetMapEntry() {
|
||||
return super.getMapEntry();
|
||||
}
|
||||
}
|
||||
|
||||
public void test() {
|
||||
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[0];MapKey of Argument[-1];value"
|
||||
AbstractKeyValue out = null;
|
||||
Object in = source();
|
||||
out = new MyAbstractKeyValue(in, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[1];MapValue of Argument[-1];value"
|
||||
AbstractKeyValue out = null;
|
||||
Object in = source();
|
||||
out = new MyAbstractKeyValue(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
Object in = source();
|
||||
out.setKey(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;Argument[0];MapKey of Argument[-1];value"
|
||||
MyAbstractKeyValue out = null;
|
||||
Object in = source();
|
||||
out.mySetKey(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
DefaultKeyValue in = newDKVWithMapValue(source());
|
||||
out = in.setKey(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
MyAbstractKeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.mySetKey(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setKey;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
MyAbstractKeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.mySetKey((Object)null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];MapValue of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
Object in = source();
|
||||
out.setValue(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];MapValue of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
Object in = source();
|
||||
out.setValue(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];MapValue of Argument[-1];value"
|
||||
AbstractMapEntry out = null;
|
||||
Object in = source();
|
||||
out.setValue(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];MapValue of Argument[-1];value"
|
||||
MyAbstractKeyValue out = null;
|
||||
Object in = source();
|
||||
out.mySetValue(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
UnmodifiableMapEntry in = newUMEWithMapValue(source());
|
||||
out = in.setValue(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
DefaultKeyValue in = newDKVWithMapValue(source());
|
||||
out = in.setValue(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
AbstractMapEntry in = newMAMEWithMapValue(source());
|
||||
out = in.setValue(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
AbstractMapEntry in = newMAMEWithMapValue(source());
|
||||
out = in.setValue(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
MyAbstractKeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.mySetValue(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;setValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
MyAbstractKeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.mySetValue(null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;toString;;;MapKey of Argument[-1];ReturnValue;taint"
|
||||
String out = null;
|
||||
AbstractKeyValue in = newMAKVWithMapKey(source());
|
||||
out = in.toString();
|
||||
sink(out); // $hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractKeyValue;true;toString;;;MapValue of Argument[-1];ReturnValue;taint"
|
||||
String out = null;
|
||||
AbstractKeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.toString();
|
||||
sink(out); // $hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[0];MapKey of Argument[-1];value"
|
||||
AbstractMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new MyAbstractMapEntry(in, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[1];MapValue of Argument[-1];value"
|
||||
AbstractMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new MyAbstractMapEntry(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
AbstractMapEntryDecorator out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapKey(source());
|
||||
out = new MyAbstractMapEntryDecorator(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
AbstractMapEntryDecorator out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapValue(source());
|
||||
out = new MyAbstractMapEntryDecorator(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;MapKey of Argument[-1];MapKey of ReturnValue;value"
|
||||
Map.Entry<String,String> out = null;
|
||||
MyAbstractMapEntryDecorator in = newMAMEDWithMapKey(source());
|
||||
out = in.myGetMapEntry();
|
||||
sink(getMapKeyFromEntry(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;MapValue of Argument[-1];MapValue of ReturnValue;value"
|
||||
Map.Entry<String,String> out = null;
|
||||
MyAbstractMapEntryDecorator in = newMAMEDWithMapValue(source());
|
||||
out = in.myGetMapEntry();
|
||||
sink(getMapValueFromEntry(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;toString;;;MapKey of Argument[-1];ReturnValue;taint"
|
||||
String out = null;
|
||||
AbstractMapEntryDecorator in = newMAMEDWithMapKey(source());
|
||||
out = in.toString();
|
||||
sink(out); // $hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;AbstractMapEntryDecorator;true;toString;;;MapValue of Argument[-1];ReturnValue;taint"
|
||||
String out = null;
|
||||
AbstractMapEntryDecorator in = newMAMEDWithMapValue(source());
|
||||
out = in.toString();
|
||||
sink(out); // $hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapKey(source());
|
||||
out = new DefaultKeyValue(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapValue(source());
|
||||
out = new DefaultKeyValue(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
KeyValue in = newMAKVWithMapKey(source());
|
||||
out = new DefaultKeyValue(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
KeyValue in = newMAKVWithMapValue(source());
|
||||
out = new DefaultKeyValue(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
Object in = source();
|
||||
out = new DefaultKeyValue(in, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[1];MapValue of Argument[-1];value"
|
||||
DefaultKeyValue out = null;
|
||||
Object in = source();
|
||||
out = new DefaultKeyValue(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;toMapEntry;;;MapKey of Argument[-1];MapKey of ReturnValue;value"
|
||||
Map.Entry<String,String> out = null;
|
||||
DefaultKeyValue in = newDKVWithMapKey(source());
|
||||
out = in.toMapEntry();
|
||||
sink(getMapKeyFromEntry(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultKeyValue;true;toMapEntry;;;MapValue of Argument[-1];MapValue of ReturnValue;value"
|
||||
Map.Entry<String,String> out = null;
|
||||
DefaultKeyValue in = newDKVWithMapValue(source());
|
||||
out = in.toMapEntry();
|
||||
sink(getMapValueFromEntry(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultMapEntry out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapKey(source());
|
||||
out = new DefaultMapEntry(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
DefaultMapEntry out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapValue(source());
|
||||
out = new DefaultMapEntry(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultMapEntry out = null;
|
||||
KeyValue in = newMAKVWithMapKey(source());
|
||||
out = new DefaultMapEntry(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
DefaultMapEntry out = null;
|
||||
KeyValue in = newMAKVWithMapValue(source());
|
||||
out = new DefaultMapEntry(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[0];MapKey of Argument[-1];value"
|
||||
DefaultMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new DefaultMapEntry(in, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[1];MapValue of Argument[-1];value"
|
||||
DefaultMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new DefaultMapEntry(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[1];MapKey of Argument[-1];value"
|
||||
TiedMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new TiedMapEntry(null, in);
|
||||
sink(getMapKeyFromEntry(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;TiedMapEntry;true;TiedMapEntry;;;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
TiedMapEntry out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = new TiedMapEntry(in, null);
|
||||
sink(getMapValueFromEntry(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapKey(source());
|
||||
out = new UnmodifiableMapEntry(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
Map.Entry<String,String> in = newMAMEWithMapValue(source());
|
||||
out = new UnmodifiableMapEntry(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;MapKey of Argument[0];MapKey of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
KeyValue in = newMAKVWithMapKey(source());
|
||||
out = new UnmodifiableMapEntry(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;MapValue of Argument[0];MapValue of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
KeyValue in = newMAKVWithMapValue(source());
|
||||
out = new UnmodifiableMapEntry(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[0];MapKey of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new UnmodifiableMapEntry(in, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4.keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[1];MapValue of Argument[-1];value"
|
||||
UnmodifiableMapEntry out = null;
|
||||
Object in = source();
|
||||
out = new UnmodifiableMapEntry(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getKey;;;MapKey of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
TiedMapEntry in = newTMEWithMapKey(source());
|
||||
out = in.getKey();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getKey;;;MapKey of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
KeyValue in = newMAKVWithMapKey(source());
|
||||
out = in.getKey();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getKey;;;MapKey of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
AbstractMapEntryDecorator in = newMAMEDWithMapKey(source());
|
||||
out = in.getKey();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getKey;;;MapKey of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
AbstractKeyValue in = newMAKVWithMapKey(source());
|
||||
out = in.getKey();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
TiedMapEntry in = newTMEWithMapValue(source());
|
||||
out = in.getValue();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
KeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.getValue();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
AbstractMapEntryDecorator in = newMAMEDWithMapValue(source());
|
||||
out = in.getValue();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;KeyValue;true;getValue;;;MapValue of Argument[-1];ReturnValue;value"
|
||||
Object out = null;
|
||||
AbstractKeyValue in = newMAKVWithMapValue(source());
|
||||
out = in.getValue();
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = (Map)source();
|
||||
out = MapUtils.emptyIfNull(in);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;fixedSizeMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.fixedSizeMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;fixedSizeMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.fixedSizeMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;fixedSizeSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.fixedSizeSortedMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;fixedSizeSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.fixedSizeSortedMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getMap;;;Argument[2];ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = (Map)source();
|
||||
out = MapUtils.getMap(null, null, in);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getMap;;;MapValue of Argument[0];ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.getMap(in, null, null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getMap;;;MapValue of Argument[0];ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.getMap(in, null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getObject;;;Argument[2];ReturnValue;value"
|
||||
Object out = null;
|
||||
Object in = source();
|
||||
out = MapUtils.getObject(null, null, in);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getObject;;;MapValue of Argument[0];ReturnValue;value"
|
||||
Object out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.getObject(in, null, null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getObject;;;MapValue of Argument[0];ReturnValue;value"
|
||||
Object out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.getObject(in, null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getString;;;Argument[2];ReturnValue;value"
|
||||
String out = null;
|
||||
String in = (String)source();
|
||||
out = MapUtils.getString(null, null, in);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getString;;;MapValue of Argument[0];ReturnValue;value"
|
||||
String out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.getString(in, null, null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;getString;;;MapValue of Argument[0];ReturnValue;value"
|
||||
String out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.getString(in, null);
|
||||
sink(out); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;invertMap;;;MapKey of Argument[0];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.invertMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;invertMap;;;MapValue of Argument[0];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.invertMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;iterableMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.iterableMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;iterableMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.iterableMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;iterableSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableSortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.iterableSortedMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;iterableSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableSortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.iterableSortedMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazyMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.lazyMap(in, (Transformer)null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazyMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.lazyMap(in, (Factory)null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazyMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.lazyMap(in, (Transformer)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazyMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.lazyMap(in, (Factory)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazySortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.lazySortedMap(in, (Transformer)null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazySortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.lazySortedMap(in, (Factory)null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazySortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.lazySortedMap(in, (Transformer)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;lazySortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.lazySortedMap(in, (Factory)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
MultiValueMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.multiValueMap(in, (Factory)null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
MultiValueMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.multiValueMap(in, (Class)null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
MultiValueMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.multiValueMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
MultiValueMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.multiValueMap(in, (Factory)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
MultiValueMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.multiValueMap(in, (Class)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;multiValueMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
MultiValueMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.multiValueMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;orderedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
OrderedMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.orderedMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;orderedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
OrderedMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.orderedMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;populateMap;(Map,Iterable,Transformer);;Element of Argument[1];MapValue of Argument[0];value"
|
||||
Map out = null;
|
||||
Iterable in = newWithElement((String)source());
|
||||
MapUtils.populateMap(out, in, (Transformer)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// Note it is tricky to get this to compile - the compiler thinks it is ambiguous
|
||||
// which overload it should choose unless you put the generic types in correctly
|
||||
// "org.apache.commons.collections4;MapUtils;true;populateMap;(MultiMap,Iterable,Transformer);;Element of Argument[1];MapValue of Argument[0];value"
|
||||
MultiMap<Integer, String> out = null;
|
||||
Iterable<String> in = newWithElement((String)source());
|
||||
MapUtils.populateMap(out, in, (Transformer<String, Integer>)null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;predicatedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.predicatedMap(in, null, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;predicatedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.predicatedMap(in, null, null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;predicatedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.predicatedSortedMap(in, null, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;predicatedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.predicatedSortedMap(in, null, null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapKey of Argument[0];value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(source());
|
||||
MapUtils.putAll(out, in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(source());
|
||||
out = MapUtils.putAll(null, in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapValue of Argument[0];value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(source());
|
||||
MapUtils.putAll(out, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of Argument[1];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(source());
|
||||
out = MapUtils.putAll(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapKey of Argument[0];value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newWithArrayElement(source()));
|
||||
MapUtils.putAll(out, in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newWithArrayElement(source()));
|
||||
out = MapUtils.putAll(null, in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapValue of Argument[0];value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newWithArrayElement(source()));
|
||||
MapUtils.putAll(out, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;ArrayElement of ArrayElement of Argument[1];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newWithArrayElement(source()));
|
||||
out = MapUtils.putAll(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;MapKey of ArrayElement of Argument[1];MapKey of Argument[0];value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newMAKVWithMapKey(source()));
|
||||
MapUtils.putAll(out, in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;MapKey of ArrayElement of Argument[1];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newMAKVWithMapKey(source()));
|
||||
out = MapUtils.putAll(null, in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;MapValue of ArrayElement of Argument[1];MapValue of Argument[0];value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newMAKVWithMapValue(source()));
|
||||
MapUtils.putAll(out, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;putAll;;;MapValue of ArrayElement of Argument[1];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
Object[] in = newWithArrayElement(newMAKVWithMapValue(source()));
|
||||
out = MapUtils.putAll(null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;safeAddToMap;;;Argument[1];MapKey of Argument[0];value"
|
||||
Map out = null;
|
||||
Object in = source();
|
||||
MapUtils.safeAddToMap(out, in, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;safeAddToMap;;;Argument[2];MapValue of Argument[0];value"
|
||||
Map out = null;
|
||||
Object in = source();
|
||||
MapUtils.safeAddToMap(out, null, in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;synchronizedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.synchronizedMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;synchronizedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.synchronizedMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;synchronizedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.synchronizedSortedMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;synchronizedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.synchronizedSortedMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;toMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
ResourceBundle in = newRBWithMapKey(source());
|
||||
out = MapUtils.toMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;toMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
ResourceBundle in = newRBWithMapValue(source());
|
||||
out = MapUtils.toMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;transformedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.transformedMap(in, null, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;transformedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
IterableMap out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.transformedMap(in, null, null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;transformedSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.transformedSortedMap(in, null, null);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;transformedSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.transformedSortedMap(in, null, null);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;unmodifiableMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.unmodifiableMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;unmodifiableMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
Map out = null;
|
||||
Map in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.unmodifiableMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;unmodifiableSortedMap;;;MapKey of Argument[0];MapKey of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapKey(source());
|
||||
out = MapUtils.unmodifiableSortedMap(in);
|
||||
sink(getMapKey(out)); // $hasValueFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.collections4;MapUtils;true;unmodifiableSortedMap;;;MapValue of Argument[0];MapValue of ReturnValue;value"
|
||||
SortedMap out = null;
|
||||
SortedMap in = newTreeMapWithMapValue(source());
|
||||
out = MapUtils.unmodifiableSortedMap(in);
|
||||
sink(getMapValue(out)); // $hasValueFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/apache-commons-collections4-4.4
|
||||
@@ -0,0 +1,68 @@
|
||||
import java
|
||||
import semmle.code.java.dataflow.DataFlow
|
||||
import semmle.code.java.dataflow.ExternalFlow
|
||||
import semmle.code.java.dataflow.TaintTracking
|
||||
import TestUtilities.InlineExpectationsTest
|
||||
|
||||
class SummaryModelTest extends SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
row =
|
||||
[
|
||||
//"package;type;overrides;name;signature;ext;inputspec;outputspec;kind",
|
||||
"generatedtest;Test;false;newRBWithMapValue;;;Argument[0];MapValue of ReturnValue;value",
|
||||
"generatedtest;Test;false;newRBWithMapKey;;;Argument[0];MapKey of ReturnValue;value"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
class ValueFlowConf extends DataFlow::Configuration {
|
||||
ValueFlowConf() { this = "qltest:valueFlowConf" }
|
||||
|
||||
override predicate isSource(DataFlow::Node n) {
|
||||
n.asExpr().(MethodAccess).getMethod().hasName("source")
|
||||
}
|
||||
|
||||
override predicate isSink(DataFlow::Node n) {
|
||||
n.asExpr().(Argument).getCall().getCallee().hasName("sink")
|
||||
}
|
||||
|
||||
override int fieldFlowBranchLimit() { result = 1000 }
|
||||
}
|
||||
|
||||
class TaintFlowConf extends TaintTracking::Configuration {
|
||||
TaintFlowConf() { this = "qltest:taintFlowConf" }
|
||||
|
||||
override predicate isSource(DataFlow::Node n) {
|
||||
n.asExpr().(MethodAccess).getMethod().hasName("source")
|
||||
}
|
||||
|
||||
override predicate isSink(DataFlow::Node n) {
|
||||
n.asExpr().(Argument).getCall().getCallee().hasName("sink")
|
||||
}
|
||||
|
||||
override int fieldFlowBranchLimit() { result = 1000 }
|
||||
}
|
||||
|
||||
class HasFlowTest extends InlineExpectationsTest {
|
||||
HasFlowTest() { this = "HasFlowTest" }
|
||||
|
||||
override string getARelevantTag() { result = ["hasValueFlow", "hasTaintFlow"] }
|
||||
|
||||
override predicate hasActualResult(Location location, string element, string tag, string value) {
|
||||
tag = "hasValueFlow" and
|
||||
exists(DataFlow::Node src, DataFlow::Node sink, ValueFlowConf conf | conf.hasFlow(src, sink) |
|
||||
sink.getLocation() = location and
|
||||
element = sink.toString() and
|
||||
value = ""
|
||||
)
|
||||
or
|
||||
tag = "hasTaintFlow" and
|
||||
exists(DataFlow::Node src, DataFlow::Node sink, TaintFlowConf conf |
|
||||
conf.hasFlow(src, sink) and not any(ValueFlowConf c).hasFlow(src, sink)
|
||||
|
|
||||
sink.getLocation() = location and
|
||||
element = sink.toString() and
|
||||
value = ""
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// Generated automatically from org.apache.commons.collections4.Factory for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
|
||||
public interface Factory<T>
|
||||
{
|
||||
T create();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// Generated automatically from org.apache.commons.collections4.Get for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public interface Get<K, V>
|
||||
{
|
||||
Collection<V> values();
|
||||
Set<K> keySet();
|
||||
Set<Map.Entry<K, V>> entrySet();
|
||||
V get(Object p0);
|
||||
V remove(Object p0);
|
||||
boolean containsKey(Object p0);
|
||||
boolean containsValue(Object p0);
|
||||
boolean isEmpty();
|
||||
int size();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from org.apache.commons.collections4.IterableGet for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import org.apache.commons.collections4.Get;
|
||||
import org.apache.commons.collections4.MapIterator;
|
||||
|
||||
public interface IterableGet<K, V> extends Get<K, V>
|
||||
{
|
||||
MapIterator<K, V> mapIterator();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from org.apache.commons.collections4.IterableMap for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.IterableGet;
|
||||
import org.apache.commons.collections4.Put;
|
||||
|
||||
public interface IterableMap<K, V> extends IterableGet<K, V>, Map<K, V>, Put<K, V>
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from org.apache.commons.collections4.IterableSortedMap for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.SortedMap;
|
||||
import org.apache.commons.collections4.OrderedMap;
|
||||
|
||||
public interface IterableSortedMap<K, V> extends OrderedMap<K, V>, SortedMap<K, V>
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from org.apache.commons.collections4.KeyValue for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
|
||||
public interface KeyValue<K, V>
|
||||
{
|
||||
K getKey();
|
||||
V getValue();
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from org.apache.commons.collections4.MapIterator for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
public interface MapIterator<K, V> extends Iterator<K>
|
||||
{
|
||||
K getKey();
|
||||
K next();
|
||||
V getValue();
|
||||
V setValue(V p0);
|
||||
boolean hasNext();
|
||||
void remove();
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
// Generated automatically from org.apache.commons.collections4.MapUtils for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.io.PrintStream;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.SortedMap;
|
||||
import org.apache.commons.collections4.Factory;
|
||||
import org.apache.commons.collections4.IterableMap;
|
||||
import org.apache.commons.collections4.IterableSortedMap;
|
||||
import org.apache.commons.collections4.MultiMap;
|
||||
import org.apache.commons.collections4.OrderedMap;
|
||||
import org.apache.commons.collections4.Predicate;
|
||||
import org.apache.commons.collections4.Transformer;
|
||||
import org.apache.commons.collections4.map.MultiValueMap;
|
||||
|
||||
public class MapUtils
|
||||
{
|
||||
protected MapUtils() {}
|
||||
public static <K, V, C> MultiValueMap<K, V> multiValueMap(Map<K, C> p0, Class<C> p1){ return null; }
|
||||
public static <K, V, C> MultiValueMap<K, V> multiValueMap(Map<K, C> p0, Factory<C> p1){ return null; }
|
||||
public static <K, V, E> void populateMap(Map<K, V> p0, Iterable<? extends E> p1, Transformer<E, K> p2, Transformer<E, V> p3){}
|
||||
public static <K, V, E> void populateMap(MultiMap<K, V> p0, Iterable<? extends E> p1, Transformer<E, K> p2, Transformer<E, V> p3){}
|
||||
public static <K, V> IterableMap<K, V> fixedSizeMap(Map<K, V> p0){ return null; }
|
||||
public static <K, V> IterableMap<K, V> iterableMap(Map<K, V> p0){ return null; }
|
||||
public static <K, V> IterableMap<K, V> lazyMap(Map<K, V> p0, Factory<? extends V> p1){ return null; }
|
||||
public static <K, V> IterableMap<K, V> lazyMap(Map<K, V> p0, Transformer<? super K, ? extends V> p1){ return null; }
|
||||
public static <K, V> IterableMap<K, V> predicatedMap(Map<K, V> p0, Predicate<? super K> p1, Predicate<? super V> p2){ return null; }
|
||||
public static <K, V> IterableMap<K, V> transformedMap(Map<K, V> p0, Transformer<? super K, ? extends K> p1, Transformer<? super V, ? extends V> p2){ return null; }
|
||||
public static <K, V> IterableSortedMap<K, V> iterableSortedMap(SortedMap<K, V> p0){ return null; }
|
||||
public static <K, V> Map<K, V> emptyIfNull(Map<K, V> p0){ return null; }
|
||||
public static <K, V> Map<K, V> putAll(Map<K, V> p0, Object[] p1){ return null; }
|
||||
public static <K, V> Map<K, V> synchronizedMap(Map<K, V> p0){ return null; }
|
||||
public static <K, V> Map<K, V> unmodifiableMap(Map<? extends K, ? extends V> p0){ return null; }
|
||||
public static <K, V> Map<V, K> invertMap(Map<K, V> p0){ return null; }
|
||||
public static <K, V> MultiValueMap<K, V> multiValueMap(Map<K, ? super Collection<V>> p0){ return null; }
|
||||
public static <K, V> OrderedMap<K, V> orderedMap(Map<K, V> p0){ return null; }
|
||||
public static <K, V> Properties toProperties(Map<K, V> p0){ return null; }
|
||||
public static <K, V> SortedMap<K, V> fixedSizeSortedMap(SortedMap<K, V> p0){ return null; }
|
||||
public static <K, V> SortedMap<K, V> lazySortedMap(SortedMap<K, V> p0, Factory<? extends V> p1){ return null; }
|
||||
public static <K, V> SortedMap<K, V> lazySortedMap(SortedMap<K, V> p0, Transformer<? super K, ? extends V> p1){ return null; }
|
||||
public static <K, V> SortedMap<K, V> predicatedSortedMap(SortedMap<K, V> p0, Predicate<? super K> p1, Predicate<? super V> p2){ return null; }
|
||||
public static <K, V> SortedMap<K, V> synchronizedSortedMap(SortedMap<K, V> p0){ return null; }
|
||||
public static <K, V> SortedMap<K, V> transformedSortedMap(SortedMap<K, V> p0, Transformer<? super K, ? extends K> p1, Transformer<? super V, ? extends V> p2){ return null; }
|
||||
public static <K, V> SortedMap<K, V> unmodifiableSortedMap(SortedMap<K, ? extends V> p0){ return null; }
|
||||
public static <K, V> V getObject(Map<? super K, V> p0, K p1){ return null; }
|
||||
public static <K, V> V getObject(Map<K, V> p0, K p1, V p2){ return null; }
|
||||
public static <K, V> void populateMap(Map<K, V> p0, Iterable<? extends V> p1, Transformer<V, K> p2){}
|
||||
public static <K, V> void populateMap(MultiMap<K, V> p0, Iterable<? extends V> p1, Transformer<V, K> p2){}
|
||||
public static <K> Boolean getBoolean(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Boolean getBoolean(Map<? super K, ?> p0, K p1, Boolean p2){ return null; }
|
||||
public static <K> Byte getByte(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Byte getByte(Map<? super K, ?> p0, K p1, Byte p2){ return null; }
|
||||
public static <K> Double getDouble(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Double getDouble(Map<? super K, ?> p0, K p1, Double p2){ return null; }
|
||||
public static <K> Float getFloat(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Float getFloat(Map<? super K, ?> p0, K p1, Float p2){ return null; }
|
||||
public static <K> Integer getInteger(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Integer getInteger(Map<? super K, ?> p0, K p1, Integer p2){ return null; }
|
||||
public static <K> Long getLong(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Long getLong(Map<? super K, ?> p0, K p1, Long p2){ return null; }
|
||||
public static <K> Map<?, ?> getMap(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Map<?, ?> getMap(Map<? super K, ?> p0, K p1, Map<?, ?> p2){ return null; }
|
||||
public static <K> Number getNumber(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Number getNumber(Map<? super K, ?> p0, K p1, Number p2){ return null; }
|
||||
public static <K> Short getShort(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> Short getShort(Map<? super K, ?> p0, K p1, Short p2){ return null; }
|
||||
public static <K> String getString(Map<? super K, ?> p0, K p1){ return null; }
|
||||
public static <K> String getString(Map<? super K, ?> p0, K p1, String p2){ return null; }
|
||||
public static <K> boolean getBooleanValue(Map<? super K, ?> p0, K p1){ return false; }
|
||||
public static <K> boolean getBooleanValue(Map<? super K, ?> p0, K p1, boolean p2){ return false; }
|
||||
public static <K> byte getByteValue(Map<? super K, ?> p0, K p1){ return 0; }
|
||||
public static <K> byte getByteValue(Map<? super K, ?> p0, K p1, byte p2){ return 0; }
|
||||
public static <K> double getDoubleValue(Map<? super K, ?> p0, K p1){ return 0; }
|
||||
public static <K> double getDoubleValue(Map<? super K, ?> p0, K p1, double p2){ return 0; }
|
||||
public static <K> float getFloatValue(Map<? super K, ?> p0, K p1){ return 0; }
|
||||
public static <K> float getFloatValue(Map<? super K, ?> p0, K p1, float p2){ return 0; }
|
||||
public static <K> int getIntValue(Map<? super K, ?> p0, K p1){ return 0; }
|
||||
public static <K> int getIntValue(Map<? super K, ?> p0, K p1, int p2){ return 0; }
|
||||
public static <K> long getLongValue(Map<? super K, ?> p0, K p1){ return 0; }
|
||||
public static <K> long getLongValue(Map<? super K, ?> p0, K p1, long p2){ return 0; }
|
||||
public static <K> short getShortValue(Map<? super K, ?> p0, K p1){ return 0; }
|
||||
public static <K> short getShortValue(Map<? super K, ?> p0, K p1, short p2){ return 0; }
|
||||
public static <K> void safeAddToMap(Map<? super K, Object> p0, K p1, Object p2){}
|
||||
public static Map<String, Object> toMap(ResourceBundle p0){ return null; }
|
||||
public static SortedMap EMPTY_SORTED_MAP = null;
|
||||
public static boolean isEmpty(Map<?, ?> p0){ return false; }
|
||||
public static boolean isNotEmpty(Map<?, ?> p0){ return false; }
|
||||
public static int size(Map<?, ?> p0){ return 0; }
|
||||
public static void debugPrint(PrintStream p0, Object p1, Map<?, ?> p2){}
|
||||
public static void verbosePrint(PrintStream p0, Object p1, Map<?, ?> p2){}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from org.apache.commons.collections4.MultiMap for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.Collection;
|
||||
import org.apache.commons.collections4.IterableMap;
|
||||
|
||||
public interface MultiMap<K, V> extends IterableMap<K, Object>
|
||||
{
|
||||
Collection<Object> values();
|
||||
Object get(Object p0);
|
||||
Object put(K p0, Object p1);
|
||||
Object remove(Object p0);
|
||||
boolean containsValue(Object p0);
|
||||
boolean removeMapping(K p0, V p1);
|
||||
int size();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from org.apache.commons.collections4.OrderedIterator for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
public interface OrderedIterator<E> extends Iterator<E>
|
||||
{
|
||||
E previous();
|
||||
boolean hasPrevious();
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from org.apache.commons.collections4.OrderedMap for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import org.apache.commons.collections4.IterableMap;
|
||||
import org.apache.commons.collections4.OrderedMapIterator;
|
||||
|
||||
public interface OrderedMap<K, V> extends IterableMap<K, V>
|
||||
{
|
||||
K firstKey();
|
||||
K lastKey();
|
||||
K nextKey(K p0);
|
||||
K previousKey(K p0);
|
||||
OrderedMapIterator<K, V> mapIterator();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// Generated automatically from org.apache.commons.collections4.OrderedMapIterator for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import org.apache.commons.collections4.MapIterator;
|
||||
import org.apache.commons.collections4.OrderedIterator;
|
||||
|
||||
public interface OrderedMapIterator<K, V> extends MapIterator<K, V>, OrderedIterator<K>
|
||||
{
|
||||
K previous();
|
||||
boolean hasPrevious();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// Generated automatically from org.apache.commons.collections4.Predicate for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
|
||||
public interface Predicate<T>
|
||||
{
|
||||
boolean evaluate(T p0);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// Generated automatically from org.apache.commons.collections4.Put for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface Put<K, V>
|
||||
{
|
||||
Object put(K p0, V p1);
|
||||
void clear();
|
||||
void putAll(Map<? extends K, ? extends V> p0);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// Generated automatically from org.apache.commons.collections4.Transformer for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
|
||||
public interface Transformer<I, O>
|
||||
{
|
||||
O transform(I p0);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// Generated automatically from org.apache.commons.collections4.Unmodifiable for testing purposes
|
||||
|
||||
package org.apache.commons.collections4;
|
||||
|
||||
|
||||
public interface Unmodifiable
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.AbstractKeyValue for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
|
||||
abstract public class AbstractKeyValue<K, V> implements KeyValue<K, V>
|
||||
{
|
||||
protected AbstractKeyValue() {}
|
||||
protected AbstractKeyValue(K p0, V p1){}
|
||||
protected K setKey(K p0){ return null; }
|
||||
protected V setValue(V p0){ return null; }
|
||||
public K getKey(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public V getValue(){ return null; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.AbstractMapEntry for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractKeyValue;
|
||||
|
||||
abstract public class AbstractMapEntry<K, V> extends AbstractKeyValue<K, V> implements Map.Entry<K, V>
|
||||
{
|
||||
protected AbstractMapEntry() {}
|
||||
protected AbstractMapEntry(K p0, V p1){}
|
||||
public V setValue(V p0){ return null; }
|
||||
public boolean equals(Object p0){ return false; }
|
||||
public int hashCode(){ return 0; }
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.AbstractMapEntryDecorator for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
|
||||
abstract public class AbstractMapEntryDecorator<K, V> implements KeyValue<K, V>, Map.Entry<K, V>
|
||||
{
|
||||
protected AbstractMapEntryDecorator() {}
|
||||
protected Map.Entry<K, V> getMapEntry(){ return null; }
|
||||
public AbstractMapEntryDecorator(Map.Entry<K, V> p0){}
|
||||
public K getKey(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public V getValue(){ return null; }
|
||||
public V setValue(V p0){ return null; }
|
||||
public boolean equals(Object p0){ return false; }
|
||||
public int hashCode(){ return 0; }
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.DefaultKeyValue for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractKeyValue;
|
||||
|
||||
public class DefaultKeyValue<K, V> extends AbstractKeyValue<K, V>
|
||||
{
|
||||
public DefaultKeyValue(){}
|
||||
public DefaultKeyValue(K p0, V p1){}
|
||||
public DefaultKeyValue(KeyValue<? extends K, ? extends V> p0){}
|
||||
public DefaultKeyValue(Map.Entry<? extends K, ? extends V> p0){}
|
||||
public K setKey(K p0){ return null; }
|
||||
public Map.Entry<K, V> toMapEntry(){ return null; }
|
||||
public V setValue(V p0){ return null; }
|
||||
public boolean equals(Object p0){ return false; }
|
||||
public int hashCode(){ return 0; }
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.DefaultMapEntry for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractMapEntry;
|
||||
|
||||
public class DefaultMapEntry<K, V> extends AbstractMapEntry<K, V>
|
||||
{
|
||||
protected DefaultMapEntry() {}
|
||||
public DefaultMapEntry(K p0, V p1){}
|
||||
public DefaultMapEntry(KeyValue<? extends K, ? extends V> p0){}
|
||||
public DefaultMapEntry(Map.Entry<? extends K, ? extends V> p0){}
|
||||
public V getValue(){ return null; }
|
||||
public K getKey(){ return null; }
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.TiedMapEntry for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
|
||||
public class TiedMapEntry<K, V> implements KeyValue<K, V>, Map.Entry<K, V>, Serializable
|
||||
{
|
||||
protected TiedMapEntry() {}
|
||||
public K getKey(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public TiedMapEntry(Map<K, V> p0, K p1){}
|
||||
public V getValue(){ return null; }
|
||||
public V setValue(V p0){ return null; }
|
||||
public boolean equals(Object p0){ return false; }
|
||||
public int hashCode(){ return 0; }
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// Generated automatically from org.apache.commons.collections4.keyvalue.UnmodifiableMapEntry for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.keyvalue;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections4.KeyValue;
|
||||
import org.apache.commons.collections4.Unmodifiable;
|
||||
import org.apache.commons.collections4.keyvalue.AbstractMapEntry;
|
||||
|
||||
public class UnmodifiableMapEntry<K, V> extends AbstractMapEntry<K, V> implements Unmodifiable
|
||||
{
|
||||
protected UnmodifiableMapEntry() {}
|
||||
public UnmodifiableMapEntry(K p0, V p1){}
|
||||
public UnmodifiableMapEntry(KeyValue<? extends K, ? extends V> p0){}
|
||||
public UnmodifiableMapEntry(Map.Entry<? extends K, ? extends V> p0){}
|
||||
public V setValue(V p0){ return null; }
|
||||
public V getValue(){ return null; }
|
||||
public K getKey(){ return null; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// Generated automatically from org.apache.commons.collections4.map.AbstractIterableMap for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.map;
|
||||
|
||||
import org.apache.commons.collections4.IterableMap;
|
||||
import org.apache.commons.collections4.MapIterator;
|
||||
|
||||
abstract public class AbstractIterableMap<K, V> implements IterableMap<K, V>
|
||||
{
|
||||
public AbstractIterableMap(){}
|
||||
public MapIterator<K, V> mapIterator(){ return null; }
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Generated automatically from org.apache.commons.collections4.map.AbstractMapDecorator for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.map;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import org.apache.commons.collections4.map.AbstractIterableMap;
|
||||
|
||||
abstract public class AbstractMapDecorator<K, V> extends AbstractIterableMap<K, V>
|
||||
{
|
||||
Map<K, V> map = null;
|
||||
protected AbstractMapDecorator(){}
|
||||
protected AbstractMapDecorator(Map<K, V> p0){}
|
||||
protected Map<K, V> decorated(){ return null; }
|
||||
public Collection<V> values(){ return null; }
|
||||
public Set<K> keySet(){ return null; }
|
||||
public Set<Map.Entry<K, V>> entrySet(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public V get(Object p0){ return null; }
|
||||
public V put(K p0, V p1){ return null; }
|
||||
public V remove(Object p0){ return null; }
|
||||
public boolean containsKey(Object p0){ return false; }
|
||||
public boolean containsValue(Object p0){ return false; }
|
||||
public boolean equals(Object p0){ return false; }
|
||||
public boolean isEmpty(){ return false; }
|
||||
public int hashCode(){ return 0; }
|
||||
public int size(){ return 0; }
|
||||
public void clear(){}
|
||||
public void putAll(Map<? extends K, ? extends V> p0){}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
// Generated automatically from org.apache.commons.collections4.map.MultiValueMap for testing purposes
|
||||
|
||||
package org.apache.commons.collections4.map;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import org.apache.commons.collections4.Factory;
|
||||
import org.apache.commons.collections4.MultiMap;
|
||||
import org.apache.commons.collections4.map.AbstractMapDecorator;
|
||||
|
||||
public class MultiValueMap<K, V> extends AbstractMapDecorator<K, Object> implements MultiMap<K, V>, Serializable
|
||||
{
|
||||
protected Collection<V> createCollection(int p0){ return null; }
|
||||
protected <C> MultiValueMap(Map<K, ? super C> p0, Factory<C> p1){}
|
||||
public Collection<Object> values(){ return null; }
|
||||
public Collection<V> getCollection(Object p0){ return null; }
|
||||
public Iterator<Map.Entry<K, V>> iterator(){ return null; }
|
||||
public Iterator<V> iterator(Object p0){ return null; }
|
||||
public MultiValueMap(){}
|
||||
public Object put(K p0, Object p1){ return null; }
|
||||
public Set<Map.Entry<K, Object>> entrySet(){ return null; }
|
||||
public boolean containsValue(Object p0){ return false; }
|
||||
public boolean containsValue(Object p0, Object p1){ return false; }
|
||||
public boolean putAll(K p0, Collection<V> p1){ return false; }
|
||||
public boolean removeMapping(Object p0, Object p1){ return false; }
|
||||
public int size(Object p0){ return 0; }
|
||||
public int totalSize(){ return 0; }
|
||||
public static <K, V, C> MultiValueMap<K, V> multiValueMap(Map<K, ? super C> p0, Class<C> p1){ return null; }
|
||||
public static <K, V, C> MultiValueMap<K, V> multiValueMap(Map<K, ? super C> p0, Factory<C> p1){ return null; }
|
||||
public static <K, V> MultiValueMap<K, V> multiValueMap(Map<K, ? super Collection<V>> p0){ return null; }
|
||||
public void clear(){}
|
||||
public void putAll(Map<? extends K, ?> p0){}
|
||||
public int size(){ return 0; }
|
||||
public Object remove(Object key){ return null; }
|
||||
public Object get(Object key){ return null; }
|
||||
public boolean isEmpty(){ return false; }
|
||||
}
|
||||
Reference in New Issue
Block a user