Merge remote-tracking branch 'upstream/main' into igfoo/kotlin_merge

Resolving conflicts:
	java/ql/lib/semmle/code/java/Expr.qll
This commit is contained in:
Ian Lynagh
2022-05-11 14:13:09 +01:00
600 changed files with 26766 additions and 5311 deletions

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
Added a data flow step for tainted Android intents that are sent to other activities and accessed there via `getIntent()`.

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* Added models for the libraries OkHttp and Retrofit.

View File

@@ -0,0 +1,4 @@
---
category: feature
---
* The QL class `ValueDiscardingExpr` has been added, representing expressions for which the value of the expression as a whole is discarded.

View File

@@ -86,7 +86,7 @@ class CollectionMutation extends MethodAccess {
CollectionMutation() { this.getMethod() instanceof CollectionMutator }
/** Holds if the result of this call is not immediately discarded. */
predicate resultIsChecked() { not this.getParent() instanceof ExprStmt }
predicate resultIsChecked() { not this instanceof ValueDiscardingExpr }
}
/** A method that queries the contents of a collection without mutating it. */

View File

@@ -2362,6 +2362,50 @@ class Argument extends Expr {
}
}
/**
* An expression for which the value of the expression as a whole is discarded. Only cases
* of discarded values at the language level (as described by the JLS) are considered;
* data flow, for example to determine if an assigned variable value is ever read, is not
* considered. Such expressions can for example appear as part of an `ExprStmt` or as
* initializer of a `for` loop.
*
* For example, for the statement `i++;` the value of the increment expression, that is the
* old value of variable `i`, is discarded. Whereas for the statement `println(i++);` the
* value of the increment expression is not discarded but used as argument for the method call.
*/
class ValueDiscardingExpr extends Expr {
ValueDiscardingExpr() {
(
this = any(ExprStmt s).getExpr()
or
this = any(ForStmt s).getAnInit() and not this instanceof LocalVariableDeclExpr
or
this = any(ForStmt s).getAnUpdate()
or
// Only applies to SwitchStmt, but not to SwitchExpr, see JLS 17 section 14.11.2
this = any(SwitchStmt s).getACase().getRuleExpression()
or
// TODO: Workarounds for https://github.com/github/codeql/issues/3605
exists(LambdaExpr lambda |
this = lambda.getExprBody() and
lambda.asMethod().getReturnType() instanceof VoidType
)
or
exists(MemberRefExpr memberRef, Method implicitMethod, Method overridden |
implicitMethod = memberRef.asMethod()
|
this.getParent().(ReturnStmt).getEnclosingCallable() = implicitMethod and
// asMethod() has bogus method with wrong return type as result, e.g. `run(): String` (overriding `Runnable.run(): void`)
// Therefore need to check the overridden method
implicitMethod.getSourceDeclaration().overridesOrInstantiates*(overridden) and
overridden.getReturnType() instanceof VoidType
)
) and
// Ignore if this expression is a method call with `void` as return type
not this.getType() instanceof VoidType
}
}
/** A Kotlin `when` expression. */
class WhenExpr extends Expr, StmtParent, @whenexpr {
override string toString() { result = "when ..." }

View File

@@ -53,7 +53,7 @@ class MapMutation extends MethodAccess {
MapMutation() { this.getMethod() instanceof MapMutator }
/** Holds if the result of this call is not immediately discarded. */
predicate resultIsChecked() { not this.getParent() instanceof ExprStmt }
predicate resultIsChecked() { not this instanceof ValueDiscardingExpr }
}
/** A method that queries the contents of the map it belongs to without mutating it. */

View File

@@ -102,8 +102,10 @@ private module Frameworks {
private import semmle.code.java.frameworks.JsonJava
private import semmle.code.java.frameworks.Logging
private import semmle.code.java.frameworks.Objects
private import semmle.code.java.frameworks.OkHttp
private import semmle.code.java.frameworks.Optional
private import semmle.code.java.frameworks.Regex
private import semmle.code.java.frameworks.Retrofit
private import semmle.code.java.frameworks.Stream
private import semmle.code.java.frameworks.Strings
private import semmle.code.java.frameworks.ratpack.Ratpack

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -4300,6 +4300,12 @@ private module Subpaths {
)
}
pragma[nomagic]
private predicate hasSuccessor(PathNode pred, PathNodeMid succ, NodeEx succNode) {
succ = pred.getASuccessor() and
succNode = succ.getNodeEx()
}
/**
* Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through
* a subpath between `par` and `ret` with the connecting edges `arg -> par` and
@@ -4307,15 +4313,13 @@ private module Subpaths {
*/
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeImpl ret, PathNode out) {
exists(ParamNodeEx p, NodeEx o, FlowState sout, AccessPath apout, PathNodeMid out0 |
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](par) and
pragma[only_bind_into](arg).getASuccessor() = out0 and
pragma[only_bind_into](arg).getASuccessor() = pragma[only_bind_into](out0) and
subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, apout) and
hasSuccessor(pragma[only_bind_into](arg), par, p) and
not ret.isHidden() and
par.getNodeEx() = p and
out0.getNodeEx() = o and
out0.getState() = sout and
out0.getAp() = apout and
(out = out0 or out = out0.projectToSink())
pathNode(out0, o, sout, _, _, apout, _, _)
|
out = out0 or out = out0.projectToSink()
)
}

View File

@@ -0,0 +1,71 @@
/**
* Provides classes and predicates for working with the OkHttp client.
*/
import java
private import semmle.code.java.dataflow.ExternalFlow
private class OkHttpOpenUrlSinks extends SinkModelCsv {
override predicate row(string row) {
row =
[
"okhttp3;Request;true;Request;;;Argument[0];open-url",
"okhttp3;Request$Builder;true;url;;;Argument[0];open-url"
]
}
}
private class OKHttpSummaries extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"okhttp3;HttpUrl;false;parse;;;Argument[0];ReturnValue;taint",
"okhttp3;HttpUrl;false;uri;;;Argument[-1];ReturnValue;taint",
"okhttp3;HttpUrl;false;url;;;Argument[-1];ReturnValue;taint",
"okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[0..1];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;build;;;Argument[-1];ReturnValue;taint",
"okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;encodedPassword;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;encodedUsername;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;fragment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;fragment;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;host;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;host;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;password;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;port;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;port;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;query;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;query;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;removeAllEncodedQueryParameters;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;removeAllQueryParameters;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;removePathSegment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;scheme;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;scheme;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[-1];ReturnValue;value",
"okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[0];Argument[-1];taint",
"okhttp3;HttpUrl$Builder;false;username;;;Argument[-1];ReturnValue;value",
]
}
}

View File

@@ -0,0 +1,12 @@
/**
* Provides classes and predicates for working with the Retrofit API client.
*/
import java
private import semmle.code.java.dataflow.ExternalFlow
private class RetrofitOpenUrlSinks extends SinkModelCsv {
override predicate row(string row) {
row = "retrofit2;Retrofit$Builder;true;baseUrl;;;Argument[0];open-url"
}
}

View File

@@ -176,6 +176,25 @@ class GrantWriteUriPermissionFlag extends GrantUriPermissionFlag {
GrantWriteUriPermissionFlag() { this.hasName("FLAG_GRANT_WRITE_URI_PERMISSION") }
}
/**
* A value-preserving step from the Intent argument of a `startActivity` call to
* a `getIntent` call in the Activity the Intent pointed to in its constructor.
*/
private class StartActivityIntentStep extends AdditionalValueStep {
override predicate step(DataFlow::Node n1, DataFlow::Node n2) {
exists(MethodAccess startActivity, MethodAccess getIntent, ClassInstanceExpr newIntent |
startActivity.getMethod().overrides*(any(ContextStartActivityMethod m)) and
getIntent.getMethod().overrides*(any(AndroidGetIntentMethod m)) and
newIntent.getConstructedType() instanceof TypeIntent and
DataFlow::localExprFlow(newIntent, startActivity.getArgument(0)) and
newIntent.getArgument(1).getType().(ParameterizedType).getATypeArgument() =
getIntent.getReceiverType() and
n1.asExpr() = startActivity.getArgument(0) and
n2.asExpr() = getIntent
)
}
}
private class IntentBundleFlowSteps extends SummaryModelCsv {
override predicate row(string row) {
row =

View File

@@ -18,7 +18,7 @@ import Chaining
predicate checkedMethodCall(MethodAccess ma) {
relevantMethodCall(ma, _) and
not ma.getParent() instanceof ExprStmt
not ma instanceof ValueDiscardingExpr
}
/**

View File

@@ -14,10 +14,7 @@ import java
import semmle.code.java.security.HttpsUrlsQuery
import DataFlow::PathGraph
from DataFlow::PathNode source, DataFlow::PathNode sink, MethodAccess m, HttpStringLiteral s
where
source.getNode().asExpr() = s and
sink.getNode().asExpr() = m.getQualifier() and
any(HttpStringToUrlOpenMethodFlowConfig c).hasFlowPath(source, sink)
select m, source, sink, "URL may have been constructed with HTTP protocol, using $@.", s,
"this source"
from DataFlow::PathNode source, DataFlow::PathNode sink
where any(HttpStringToUrlOpenMethodFlowConfig c).hasFlowPath(source, sink)
select sink.getNode(), source, sink, "URL may have been constructed with HTTP protocol, using $@.",
source.getNode(), "this source"

View File

@@ -45,7 +45,7 @@ predicate unboundedQueue(RefType t) {
from MethodAccess ma, SpecialMethod m
where
ma.getParent() instanceof ExprStmt and
ma instanceof ValueDiscardingExpr and
m = ma.getMethod() and
(
m.isMethod("java.util", "Queue", "offer", 1) and not unboundedQueue(m.getDeclaringType())

View File

@@ -0,0 +1,5 @@
---
category: minorAnalysis
---
* The query `java/non-https-urls` has been simplified
and no longer requires its sinks to be `MethodAccess`es.

View File

@@ -21,7 +21,7 @@ private class HostnameVerificationCall extends MethodAccess {
}
/** Holds if the result of the call is not used. */
predicate isIgnored() { this = any(ExprStmt es).getExpr() }
predicate isIgnored() { this instanceof ValueDiscardingExpr }
}
from HostnameVerificationCall verification

View File

@@ -0,0 +1,16 @@
| ValueDiscardingExpr.java:9:9:9:18 | toString(...) |
| ValueDiscardingExpr.java:18:9:18:13 | ...=... |
| ValueDiscardingExpr.java:19:9:19:11 | ...++ |
| ValueDiscardingExpr.java:20:9:20:11 | ++... |
| ValueDiscardingExpr.java:21:9:21:11 | ...-- |
| ValueDiscardingExpr.java:22:9:22:11 | --... |
| ValueDiscardingExpr.java:24:9:24:20 | new Object(...) |
| ValueDiscardingExpr.java:27:9:27:28 | clone(...) |
| ValueDiscardingExpr.java:30:14:30:38 | append(...) |
| ValueDiscardingExpr.java:35:17:35:43 | append(...) |
| ValueDiscardingExpr.java:55:24:55:33 | toString(...) |
| ValueDiscardingExpr.java:74:29:74:38 | toString(...) |
| ValueDiscardingExpr.java:76:13:76:22 | toString(...) |
| ValueDiscardingExpr.java:90:23:90:35 | new StmtExpr(...) |
| ValueDiscardingExpr.java:91:23:91:36 | toString(...) |
| ValueDiscardingExpr.java:95:25:95:37 | new String[] |

View File

@@ -0,0 +1,100 @@
package StmtExpr;
import java.util.function.IntConsumer;
import java.util.function.IntFunction;
import java.util.function.Supplier;
class StmtExpr {
void test() {
toString();
// Method call with `void` return type is not a ValueDiscardingExpr
System.out.println("test");
// LocalVariableDeclarationStatement with init is not a ValueDiscardingExpr
String s = toString();
int i;
i = 0;
i++;
++i;
i--;
--i;
new Object();
// Language specification does not permit ArrayCreationExpression at locations where its
// value would be discard, but the value of a method access on it can be discarded
new int[] {}.clone();
// for statement init can discard value
for (System.out.append("init");;) {
break;
}
// for statement update discards value
for (;; System.out.append("update")) {
break;
}
// Method call with `void` return type is not a ValueDiscardingExpr
for (;; System.out.println("update")) {
break;
}
// variable declaration and condition are not ValueDiscardingExpr
for (int i1 = 0; i1 < 10;) { }
for (int i1, i2 = 0; i2 < 10;) { }
for (;;) {
break;
}
// Not a ValueDiscardingExpr
for (int i2 : new int[] {1}) { }
switch(1) {
default -> toString(); // ValueDiscardingExpr
}
switch(1) {
// Method call with `void` return type is not a ValueDiscardingExpr
default -> System.out.println();
}
String s2 = switch(1) {
// Expression in SwitchExpression case rule is not a ValueDiscardingExpr
default -> toString();
};
// Expression in lambda with non-void return type is not a ValueDiscardingExpr
Supplier<Object> supplier1 = () -> toString();
Supplier<Object> supplier2 = () -> {
return toString();
};
// Expression in lambda with void return type is ValueDiscardingExpr
Runnable r1 = () -> toString();
Runnable r2 = () -> {
toString();
};
// Lambda with method call with `void` return type is not a ValueDiscardingExpr
Runnable r3 = () -> System.out.println();
Runnable r4 = () -> {
System.out.println();
};
// Method reference with non-void return type has no ValueDiscardingExpr
Supplier<Object> supplier3 = StmtExpr::new;
IntFunction<Object> f = String[]::new;
Supplier<Object> supplier4 = this::toString;
// Method reference with void return type has ValueDiscardingExpr in implicit method body
Runnable r5 = StmtExpr::new;
Runnable r6 = this::toString;
// Interestingly a method reference expression with function type (int)->void allows usage of
// array creation expressions, even though a regular StatementExpression would not allow it,
// for example the ExpressionStatement `new String[1];` is not allowed by the JLS
IntConsumer c = String[]::new;
// Method reference referring to method with `void` return type is not a ValueDiscardingExpr
Runnable r7 = System.out::println;
}
}

View File

@@ -0,0 +1,4 @@
import java
from ValueDiscardingExpr e
select e

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -source 14 -target 14

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="com.example.app">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".TestStartActivityToGetIntent.SomeActivity"
android:exported="false">
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,25 @@
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
public class TestStartActivityToGetIntent {
static Object source() {
return null;
}
static void sink(Object sink) {}
public void test(Context ctx) {
Intent intent = new Intent(null, SomeActivity.class);
intent.putExtra("data", (String) source());
ctx.startActivity(intent);
}
static class SomeActivity extends Activity {
public void test() {
sink(getIntent().getStringExtra("data")); // $ hasValueFlow
}
}
}

View File

@@ -0,0 +1,363 @@
package generatedtest;
import java.net.URI;
import java.net.URL;
import okhttp3.HttpUrl;
import okhttp3.Request;
// Test case generated by GenerateFlowTestCase.ql
public class Test {
Object source() {
return null;
}
void sink(Object o) {}
public void testSinks() {
new Request((HttpUrl) source(), null, null, null, null); // $ hasValueFlow
new Request.Builder().url((String) source()); // $ hasValueFlow
}
public void test() throws Exception {
{
// "okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.addEncodedPathSegment(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addEncodedPathSegment(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.addEncodedPathSegments(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addEncodedPathSegments(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.addEncodedQueryParameter(null, null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addEncodedQueryParameter(in, null);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.addPathSegment(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addPathSegment(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.addPathSegments(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addPathSegments(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.addQueryParameter(null, null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[0..1];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addQueryParameter(in, null);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[0..1];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.addQueryParameter(null, in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;build;;;Argument[-1];ReturnValue;taint"
HttpUrl out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.build();
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.encodedFragment(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.encodedFragment(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedPassword;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.encodedPassword(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.encodedPath(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.encodedPath(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.encodedQuery(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.encodedQuery(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;encodedUsername;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.encodedUsername(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;fragment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.fragment(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;fragment;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.fragment(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;host;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.host(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;host;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.host(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;password;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.password(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;port;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.port(0);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;port;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
int in = (int) source();
out.port(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;query;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.query(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;query;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.query(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;removeAllEncodedQueryParameters;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.removeAllEncodedQueryParameters(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;removeAllQueryParameters;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.removeAllQueryParameters(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;removePathSegment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.removePathSegment(0);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;scheme;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.scheme(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;scheme;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.scheme(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.setEncodedPathSegment(0, null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
int in = (int) source();
out.setEncodedPathSegment(in, null);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.setEncodedQueryParameter(null, null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.setEncodedQueryParameter(in, null);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.setPathSegment(0, null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
int in = (int) source();
out.setPathSegment(in, null);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.setQueryParameter(null, null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[0];Argument[-1];taint"
HttpUrl.Builder out = null;
String in = (String) source();
out.setQueryParameter(in, null);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl$Builder;false;username;;;Argument[-1];ReturnValue;value"
HttpUrl.Builder out = null;
HttpUrl.Builder in = (HttpUrl.Builder) source();
out = in.username(null);
sink(out); // $ hasValueFlow
}
{
// "okhttp3;HttpUrl;false;parse;;;Argument[0];ReturnValue;taint"
HttpUrl out = null;
String in = (String) source();
out = HttpUrl.parse(in);
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl;false;uri;;;Argument[-1];ReturnValue;taint"
URI out = null;
HttpUrl in = (HttpUrl) source();
out = in.uri();
sink(out); // $ hasTaintFlow
}
{
// "okhttp3;HttpUrl;false;url;;;Argument[-1];ReturnValue;taint"
URL out = null;
HttpUrl in = (HttpUrl) source();
out = in.url();
sink(out); // $ hasTaintFlow
}
}
}

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/okhttp-4.9.3

View File

@@ -0,0 +1,6 @@
import java
import TestUtilities.InlineFlowTest
class FlowConf extends DefaultValueFlowConf {
override predicate isSink(DataFlow::Node n) { super.isSink(n) or sinkNode(n, "open-url") }
}

View File

@@ -0,0 +1,16 @@
import java.net.URL;
import okhttp3.HttpUrl;
import retrofit2.Retrofit;
public class Test {
public Object source() {
return null;
}
public void test() {
Retrofit.Builder builder = new Retrofit.Builder();
builder.baseUrl((String) source()); // $ hasValueFlow
builder.baseUrl((URL) source()); // $ hasValueFlow
builder.baseUrl((HttpUrl) source()); // $ hasValueFlow
}
}

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/okhttp-4.9.3:${testdir}/../../../stubs/retrofit-2.9.0

View File

@@ -0,0 +1,6 @@
import java
import TestUtilities.InlineFlowTest
class FlowConf extends DefaultValueFlowConf {
override predicate isSink(DataFlow::Node n) { super.isSink(n) or sinkNode(n, "open-url") }
}

View File

@@ -19,7 +19,7 @@ nodes
| HttpsUrlsTest.java:92:50:92:50 | u | semmle.label | u |
subpaths
#select
| HttpsUrlsTest.java:28:50:28:67 | openConnection(...) | HttpsUrlsTest.java:23:23:23:31 | "http://" : String | HttpsUrlsTest.java:28:50:28:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:23:23:23:31 | "http://" | this source |
| HttpsUrlsTest.java:41:50:41:67 | openConnection(...) | HttpsUrlsTest.java:36:23:36:28 | "http" : String | HttpsUrlsTest.java:41:50:41:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:36:23:36:28 | "http" | this source |
| HttpsUrlsTest.java:55:50:55:67 | openConnection(...) | HttpsUrlsTest.java:49:23:49:31 | "http://" : String | HttpsUrlsTest.java:55:50:55:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:49:23:49:31 | "http://" | this source |
| HttpsUrlsTest.java:92:50:92:67 | openConnection(...) | HttpsUrlsTest.java:87:23:87:28 | "http" : String | HttpsUrlsTest.java:92:50:92:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:87:23:87:28 | "http" | this source |
| HttpsUrlsTest.java:28:50:28:50 | u | HttpsUrlsTest.java:23:23:23:31 | "http://" : String | HttpsUrlsTest.java:28:50:28:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:23:23:23:31 | "http://" | this source |
| HttpsUrlsTest.java:41:50:41:50 | u | HttpsUrlsTest.java:36:23:36:28 | "http" : String | HttpsUrlsTest.java:41:50:41:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:36:23:36:28 | "http" | this source |
| HttpsUrlsTest.java:55:50:55:50 | u | HttpsUrlsTest.java:49:23:49:31 | "http://" : String | HttpsUrlsTest.java:55:50:55:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:49:23:49:31 | "http://" | this source |
| HttpsUrlsTest.java:92:50:92:50 | u | HttpsUrlsTest.java:87:23:87:28 | "http" : String | HttpsUrlsTest.java:92:50:92:50 | u | URL may have been constructed with HTTP protocol, using $@. | HttpsUrlsTest.java:87:23:87:28 | "http" | this source |

View File

@@ -0,0 +1,8 @@
// Generated automatically from kotlin.Function for testing purposes
package kotlin;
public interface Function<R>
{
}

View File

@@ -0,0 +1,19 @@
// Generated automatically from kotlin.Pair for testing purposes
package kotlin;
import java.io.Serializable;
public class Pair<A, B> implements Serializable
{
protected Pair() {}
public Pair(A p0, B p1){}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final A component1(){ return null; }
public final A getFirst(){ return null; }
public final B component2(){ return null; }
public final B getSecond(){ return null; }
public final Pair<A, B> copy(A p0, B p1){ return null; }
public int hashCode(){ return 0; }
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from kotlin.Unit for testing purposes
package kotlin;
public class Unit
{
protected Unit() {}
public String toString(){ return null; }
public static Unit INSTANCE = null;
}

View File

@@ -0,0 +1,26 @@
// Generated automatically from kotlin.collections.AbstractCollection for testing purposes
package kotlin.collections;
import java.util.Collection;
import java.util.Iterator;
import kotlin.jvm.internal.markers.KMappedMarker;
abstract public class AbstractCollection<E> implements Collection<E>, KMappedMarker
{
protected AbstractCollection(){}
public <T> T[] toArray(T[] p0){ return null; }
public Object[] toArray(){ return null; }
public String toString(){ return null; }
public abstract Iterator<E> iterator();
public abstract int getSize();
public boolean add(E p0){ return false; }
public boolean addAll(Collection<? extends E> p0){ return false; }
public boolean contains(Object p0){ return false; }
public boolean containsAll(Collection<? extends Object> p0){ return false; }
public boolean isEmpty(){ return false; }
public boolean remove(Object p0){ return false; }
public boolean removeAll(Collection<? extends Object> p0){ return false; }
public boolean retainAll(Collection<? extends Object> p0){ return false; }
public void clear(){}
}

View File

@@ -0,0 +1,40 @@
// Generated automatically from kotlin.collections.AbstractList for testing purposes
package kotlin.collections;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import kotlin.collections.AbstractCollection;
import kotlin.jvm.internal.markers.KMappedMarker;
abstract public class AbstractList<E> extends AbstractCollection<E> implements KMappedMarker, List<E>
{
protected AbstractList(){}
public E remove(int p0){ return null; }
public E set(int p0, E p1){ return null; }
public Iterator<E> iterator(){ return null; }
public List<E> subList(int p0, int p1){ return null; }
public ListIterator<E> listIterator(){ return null; }
public ListIterator<E> listIterator(int p0){ return null; }
public abstract E get(int p0);
public abstract int getSize();
public boolean addAll(int p0, Collection<? extends E> p1){ return false; }
public boolean equals(Object p0){ return false; }
public int hashCode(){ return 0; }
public int indexOf(Object p0){ return 0; }
public int lastIndexOf(Object p0){ return 0; }
public static AbstractList.Companion Companion = null;
public void add(int p0, E p1){}
static public class Companion
{
protected Companion() {}
public final boolean orderedEquals$kotlin_stdlib(Collection<? extends Object> p0, Collection<? extends Object> p1){ return false; }
public final int orderedHashCode$kotlin_stdlib(Collection<? extends Object> p0){ return 0; }
public final void checkBoundsIndexes$kotlin_stdlib(int p0, int p1, int p2){}
public final void checkElementIndex$kotlin_stdlib(int p0, int p1){}
public final void checkPositionIndex$kotlin_stdlib(int p0, int p1){}
public final void checkRangeIndexes$kotlin_stdlib(int p0, int p1, int p2){}
}
}

View File

@@ -0,0 +1,10 @@
// Generated automatically from kotlin.jvm.functions.Function0 for testing purposes
package kotlin.jvm.functions;
import kotlin.Function;
public interface Function0<R> extends Function<R>
{
R invoke();
}

View File

@@ -0,0 +1,8 @@
// Generated automatically from kotlin.jvm.internal.markers.KMappedMarker for testing purposes
package kotlin.jvm.internal.markers;
public interface KMappedMarker
{
}

View File

@@ -0,0 +1,84 @@
// Generated automatically from okhttp3.Address for testing purposes
package okhttp3;
import java.net.Proxy;
import java.net.ProxySelector;
import java.util.List;
import javax.net.SocketFactory;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSocketFactory;
import okhttp3.Authenticator;
import okhttp3.CertificatePinner;
import okhttp3.ConnectionSpec;
import okhttp3.Dns;
import okhttp3.HttpUrl;
import okhttp3.Protocol;
public class Address {
protected Address() {}
public Address(String p0, int p1, Dns p2, SocketFactory p3, SSLSocketFactory p4,
HostnameVerifier p5, CertificatePinner p6, Authenticator p7, Proxy p8,
List<? extends Protocol> p9, List<ConnectionSpec> p10, ProxySelector p11) {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final Authenticator proxyAuthenticator() {
return null;
}
public final CertificatePinner certificatePinner() {
return null;
}
public final Dns dns() {
return null;
}
public final HostnameVerifier hostnameVerifier() {
return null;
}
public final HttpUrl url() {
return null;
}
public final List<ConnectionSpec> connectionSpecs() {
return null;
}
public final List<Protocol> protocols() {
return null;
}
public final Proxy proxy() {
return null;
}
public final ProxySelector proxySelector() {
return null;
}
public final SSLSocketFactory sslSocketFactory() {
return null;
}
public final SocketFactory socketFactory() {
return null;
}
public final boolean equalsNonHost$okhttp(Address p0) {
return false;
}
public int hashCode() {
return 0;
}
}

View File

@@ -0,0 +1,19 @@
// Generated automatically from okhttp3.Authenticator for testing purposes
package okhttp3;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.Route;
public interface Authenticator
{
Request authenticate(Route p0, Response p1);
static Authenticator JAVA_NET_AUTHENTICATOR = null;
static Authenticator NONE = null;
static Authenticator.Companion Companion = null;
static public class Companion
{
protected Companion() {}
}
}

View File

@@ -0,0 +1,137 @@
// Generated automatically from okhttp3.Cache for testing purposes
package okhttp3;
import java.io.Closeable;
import java.io.File;
import java.io.Flushable;
import java.util.Iterator;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.internal.cache.CacheRequest;
import okhttp3.internal.cache.CacheStrategy;
import okhttp3.internal.cache.DiskLruCache;
import okhttp3.internal.io.FileSystem;
import okio.BufferedSource;
public class Cache implements Closeable, Flushable {
protected Cache() {}
public Cache(File p0, long p1) {}
public Cache(File p0, long p1, FileSystem p2) {}
public final CacheRequest put$okhttp(Response p0) {
return null;
}
public final DiskLruCache getCache$okhttp() {
return null;
}
public final File directory() {
return null;
}
public final Iterator<String> urls() {
return null;
}
public final Response get$okhttp(Request p0) {
return null;
}
public final boolean isClosed() {
return false;
}
public final int getWriteAbortCount$okhttp() {
return 0;
}
public final int getWriteSuccessCount$okhttp() {
return 0;
}
public final int hitCount() {
return 0;
}
public final int networkCount() {
return 0;
}
public final int requestCount() {
return 0;
}
public final int writeAbortCount() {
return 0;
}
public final int writeSuccessCount() {
return 0;
}
public final long maxSize() {
return 0;
}
public final long size() {
return 0;
}
public final void delete() {}
public final void evictAll() {}
public final void initialize() {}
public final void remove$okhttp(Request p0) {}
public final void setWriteAbortCount$okhttp(int p0) {}
public final void setWriteSuccessCount$okhttp(int p0) {}
public final void trackConditionalCacheHit$okhttp() {}
public final void trackResponse$okhttp(CacheStrategy p0) {}
public final void update$okhttp(Response p0, Response p1) {}
public static Cache.Companion Companion = null;
public static String key(HttpUrl p0) {
return null;
}
public void close() {}
public void flush() {}
static public class Companion {
protected Companion() {}
public final Headers varyHeaders(Response p0) {
return null;
}
public final String key(HttpUrl p0) {
return null;
}
public final boolean hasVaryAll(Response p0) {
return false;
}
public final boolean varyMatches(Response p0, Headers p1, Request p2) {
return false;
}
public final int readInt$okhttp(BufferedSource p0) {
return 0;
}
}
}

View File

@@ -0,0 +1,78 @@
// Generated automatically from okhttp3.CacheControl for testing purposes
package okhttp3;
import okhttp3.Headers;
public class CacheControl {
protected CacheControl() {}
public String toString() {
return null;
}
public final boolean immutable() {
return false;
}
public final boolean isPrivate() {
return false;
}
public final boolean isPublic() {
return false;
}
public final boolean mustRevalidate() {
return false;
}
public final boolean noCache() {
return false;
}
public final boolean noStore() {
return false;
}
public final boolean noTransform() {
return false;
}
public final boolean onlyIfCached() {
return false;
}
public final int maxAgeSeconds() {
return 0;
}
public final int maxStaleSeconds() {
return 0;
}
public final int minFreshSeconds() {
return 0;
}
public final int sMaxAgeSeconds() {
return 0;
}
public static CacheControl FORCE_CACHE = null;
public static CacheControl FORCE_NETWORK = null;
public static CacheControl parse(Headers p0) {
return null;
}
public static CacheControl.Companion Companion = null;
static public class Companion {
protected Companion() {}
public final CacheControl parse(Headers p0) {
return null;
}
}
}

View File

@@ -0,0 +1,24 @@
// Generated automatically from okhttp3.Call for testing purposes
package okhttp3;
import okhttp3.Callback;
import okhttp3.Request;
import okhttp3.Response;
import okio.Timeout;
public interface Call extends Cloneable
{
Call clone();
Request request();
Response execute();
Timeout timeout();
boolean isCanceled();
boolean isExecuted();
static public interface Factory
{
Call newCall(Request p0);
}
void cancel();
void enqueue(Callback p0);
}

View File

@@ -0,0 +1,13 @@
// Generated automatically from okhttp3.Callback for testing purposes
package okhttp3;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Response;
public interface Callback
{
void onFailure(Call p0, IOException p1);
void onResponse(Call p0, Response p1);
}

View File

@@ -0,0 +1,51 @@
// Generated automatically from okhttp3.CertificatePinner for testing purposes
package okhttp3;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.util.List;
import java.util.Set;
import kotlin.jvm.functions.Function0;
import okhttp3.internal.tls.CertificateChainCleaner;
import okio.ByteString;
public class CertificatePinner
{
protected CertificatePinner() {}
public CertificatePinner(Set<CertificatePinner.Pin> p0, CertificateChainCleaner p1){}
public boolean equals(Object p0){ return false; }
public final CertificateChainCleaner getCertificateChainCleaner$okhttp(){ return null; }
public final CertificatePinner withCertificateChainCleaner$okhttp(CertificateChainCleaner p0){ return null; }
public final List<CertificatePinner.Pin> findMatchingPins(String p0){ return null; }
public final Set<CertificatePinner.Pin> getPins(){ return null; }
public final void check$okhttp(String p0, Function0<? extends List<? extends X509Certificate>> p1){}
public final void check(String p0, Certificate... p1){}
public final void check(String p0, List<? extends Certificate> p1){}
public int hashCode(){ return 0; }
public static ByteString sha1Hash(X509Certificate p0){ return null; }
public static ByteString sha256Hash(X509Certificate p0){ return null; }
public static CertificatePinner DEFAULT = null;
public static CertificatePinner.Companion Companion = null;
public static String pin(Certificate p0){ return null; }
static public class Companion
{
protected Companion() {}
public final ByteString sha1Hash(X509Certificate p0){ return null; }
public final ByteString sha256Hash(X509Certificate p0){ return null; }
public final String pin(Certificate p0){ return null; }
}
static public class Pin
{
protected Pin() {}
public Pin(String p0, String p1){}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final ByteString getHash(){ return null; }
public final String getHashAlgorithm(){ return null; }
public final String getPattern(){ return null; }
public final boolean matchesCertificate(X509Certificate p0){ return false; }
public final boolean matchesHostname(String p0){ return false; }
public int hashCode(){ return 0; }
}
}

View File

@@ -0,0 +1,46 @@
// Generated automatically from okhttp3.Challenge for testing purposes
package okhttp3;
import java.nio.charset.Charset;
import java.util.Map;
public class Challenge {
protected Challenge() {}
public Challenge(String p0, Map<String, String> p1) {}
public Challenge(String p0, String p1) {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final Challenge withCharset(Charset p0) {
return null;
}
public final Charset charset() {
return null;
}
public final Map<String, String> authParams() {
return null;
}
public final String realm() {
return null;
}
public final String scheme() {
return null;
}
public int hashCode() {
return 0;
}
}

View File

@@ -0,0 +1,155 @@
// Generated automatically from okhttp3.CipherSuite for testing purposes
package okhttp3;
import java.util.Comparator;
public class CipherSuite {
protected CipherSuite() {}
public String toString() {
return null;
}
public final String javaName() {
return null;
}
public static CipherSuite TLS_AES_128_CCM_8_SHA256 = null;
public static CipherSuite TLS_AES_128_CCM_SHA256 = null;
public static CipherSuite TLS_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_CHACHA20_POLY1305_SHA256 = null;
public static CipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = null;
public static CipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = null;
public static CipherSuite TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = null;
public static CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = null;
public static CipherSuite TLS_DHE_DSS_WITH_DES_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = null;
public static CipherSuite TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = null;
public static CipherSuite TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = null;
public static CipherSuite TLS_DHE_RSA_WITH_DES_CBC_SHA = null;
public static CipherSuite TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = null;
public static CipherSuite TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = null;
public static CipherSuite TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_DH_anon_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA256 = null;
public static CipherSuite TLS_DH_anon_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_DH_anon_WITH_DES_CBC_SHA = null;
public static CipherSuite TLS_DH_anon_WITH_RC4_128_MD5 = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_NULL_SHA = null;
public static CipherSuite TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_NULL_SHA = null;
public static CipherSuite TLS_ECDHE_RSA_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_NULL_SHA = null;
public static CipherSuite TLS_ECDH_ECDSA_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = null;
public static CipherSuite TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_ECDH_RSA_WITH_NULL_SHA = null;
public static CipherSuite TLS_ECDH_RSA_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_ECDH_anon_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_ECDH_anon_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_ECDH_anon_WITH_NULL_SHA = null;
public static CipherSuite TLS_ECDH_anon_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_EMPTY_RENEGOTIATION_INFO_SCSV = null;
public static CipherSuite TLS_FALLBACK_SCSV = null;
public static CipherSuite TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = null;
public static CipherSuite TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = null;
public static CipherSuite TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = null;
public static CipherSuite TLS_KRB5_EXPORT_WITH_RC4_40_SHA = null;
public static CipherSuite TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = null;
public static CipherSuite TLS_KRB5_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_KRB5_WITH_DES_CBC_MD5 = null;
public static CipherSuite TLS_KRB5_WITH_DES_CBC_SHA = null;
public static CipherSuite TLS_KRB5_WITH_RC4_128_MD5 = null;
public static CipherSuite TLS_KRB5_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_PSK_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_PSK_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = null;
public static CipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5 = null;
public static CipherSuite TLS_RSA_WITH_3DES_EDE_CBC_SHA = null;
public static CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA = null;
public static CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA256 = null;
public static CipherSuite TLS_RSA_WITH_AES_128_GCM_SHA256 = null;
public static CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA = null;
public static CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA256 = null;
public static CipherSuite TLS_RSA_WITH_AES_256_GCM_SHA384 = null;
public static CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = null;
public static CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = null;
public static CipherSuite TLS_RSA_WITH_DES_CBC_SHA = null;
public static CipherSuite TLS_RSA_WITH_NULL_MD5 = null;
public static CipherSuite TLS_RSA_WITH_NULL_SHA = null;
public static CipherSuite TLS_RSA_WITH_NULL_SHA256 = null;
public static CipherSuite TLS_RSA_WITH_RC4_128_MD5 = null;
public static CipherSuite TLS_RSA_WITH_RC4_128_SHA = null;
public static CipherSuite TLS_RSA_WITH_SEED_CBC_SHA = null;
public static CipherSuite forJavaName(String p0) {
return null;
}
public static CipherSuite.Companion Companion = null;
static public class Companion {
protected Companion() {}
public final CipherSuite forJavaName(String p0) {
return null;
}
public final Comparator<String> getORDER_BY_NAME$okhttp() {
return null;
}
}
}

View File

@@ -0,0 +1,16 @@
// Generated automatically from okhttp3.Connection for testing purposes
package okhttp3;
import java.net.Socket;
import okhttp3.Handshake;
import okhttp3.Protocol;
import okhttp3.Route;
public interface Connection
{
Handshake handshake();
Protocol protocol();
Route route();
Socket socket();
}

View File

@@ -0,0 +1,17 @@
// Generated automatically from okhttp3.ConnectionPool for testing purposes
package okhttp3;
import java.util.concurrent.TimeUnit;
import okhttp3.internal.connection.RealConnectionPool;
public class ConnectionPool
{
public ConnectionPool(){}
public ConnectionPool(RealConnectionPool p0){}
public ConnectionPool(int p0, long p1, TimeUnit p2){}
public final RealConnectionPool getDelegate$okhttp(){ return null; }
public final int connectionCount(){ return 0; }
public final int idleConnectionCount(){ return 0; }
public final void evictAll(){}
}

View File

@@ -0,0 +1,58 @@
// Generated automatically from okhttp3.ConnectionSpec for testing purposes
package okhttp3;
import java.util.List;
import javax.net.ssl.SSLSocket;
import okhttp3.CipherSuite;
import okhttp3.TlsVersion;
public class ConnectionSpec {
protected ConnectionSpec() {}
public ConnectionSpec(boolean p0, boolean p1, String[] p2, String[] p3) {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final List<CipherSuite> cipherSuites() {
return null;
}
public final List<TlsVersion> tlsVersions() {
return null;
}
public final boolean isCompatible(SSLSocket p0) {
return false;
}
public final boolean isTls() {
return false;
}
public final boolean supportsTlsExtensions() {
return false;
}
public final void apply$okhttp(SSLSocket p0, boolean p1) {}
public int hashCode() {
return 0;
}
public static ConnectionSpec CLEARTEXT = null;
public static ConnectionSpec COMPATIBLE_TLS = null;
public static ConnectionSpec MODERN_TLS = null;
public static ConnectionSpec RESTRICTED_TLS = null;
public static ConnectionSpec.Companion Companion = null;
static public class Companion {
protected Companion() {}
}
}

View File

@@ -0,0 +1,93 @@
// Generated automatically from okhttp3.Cookie for testing purposes
package okhttp3;
import java.util.List;
import okhttp3.Headers;
import okhttp3.HttpUrl;
public class Cookie {
protected Cookie() {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final String domain() {
return null;
}
public final String name() {
return null;
}
public final String path() {
return null;
}
public final String toString$okhttp(boolean p0) {
return null;
}
public final String value() {
return null;
}
public final boolean hostOnly() {
return false;
}
public final boolean httpOnly() {
return false;
}
public final boolean matches(HttpUrl p0) {
return false;
}
public final boolean persistent() {
return false;
}
public final boolean secure() {
return false;
}
public final long expiresAt() {
return 0;
}
public int hashCode() {
return 0;
}
public static Cookie parse(HttpUrl p0, String p1) {
return null;
}
public static Cookie.Companion Companion = null;
public static List<Cookie> parseAll(HttpUrl p0, Headers p1) {
return null;
}
static public class Companion {
protected Companion() {}
public final Cookie parse$okhttp(long p0, HttpUrl p1, String p2) {
return null;
}
public final Cookie parse(HttpUrl p0, String p1) {
return null;
}
public final List<Cookie> parseAll(HttpUrl p0, Headers p1) {
return null;
}
}
}

View File

@@ -0,0 +1,19 @@
// Generated automatically from okhttp3.CookieJar for testing purposes
package okhttp3;
import java.util.List;
import okhttp3.Cookie;
import okhttp3.HttpUrl;
public interface CookieJar
{
List<Cookie> loadForRequest(HttpUrl p0);
static CookieJar NO_COOKIES = null;
static CookieJar.Companion Companion = null;
static public class Companion
{
protected Companion() {}
}
void saveFromResponse(HttpUrl p0, List<Cookie> p1);
}

View File

@@ -0,0 +1,62 @@
// Generated automatically from okhttp3.Dispatcher for testing purposes
package okhttp3;
import java.util.List;
import java.util.concurrent.ExecutorService;
import okhttp3.Call;
import okhttp3.internal.connection.RealCall;
public class Dispatcher {
public Dispatcher() {}
public Dispatcher(ExecutorService p0) {}
public final ExecutorService executorService() {
return null;
}
public final List<Call> queuedCalls() {
return null;
}
public final List<Call> runningCalls() {
return null;
}
public final Runnable getIdleCallback() {
return null;
}
public final int getMaxRequests() {
return 0;
}
public final int getMaxRequestsPerHost() {
return 0;
}
public final int queuedCallsCount() {
return 0;
}
public final int runningCallsCount() {
return 0;
}
public final void cancelAll() {}
public final void enqueue$okhttp(RealCall.AsyncCall p0) {}
public final void executed$okhttp(RealCall p0) {}
public final void finished$okhttp(RealCall p0) {}
public final void finished$okhttp(RealCall.AsyncCall p0) {}
public final void setIdleCallback(Runnable p0) {}
public final void setMaxRequests(int p0) {}
public final void setMaxRequestsPerHost(int p0) {}
}

View File

@@ -0,0 +1,17 @@
// Generated automatically from okhttp3.Dns for testing purposes
package okhttp3;
import java.net.InetAddress;
import java.util.List;
public interface Dns
{
List<InetAddress> lookup(String p0);
static Dns SYSTEM = null;
static Dns.Companion Companion = null;
static public class Companion
{
protected Companion() {}
}
}

View File

@@ -0,0 +1,60 @@
// Generated automatically from okhttp3.EventListener for testing purposes
package okhttp3;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.util.List;
import okhttp3.Call;
import okhttp3.Connection;
import okhttp3.Handshake;
import okhttp3.HttpUrl;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.Response;
abstract public class EventListener
{
public EventListener(){}
public static EventListener NONE = null;
public static EventListener.Companion Companion = null;
public void cacheConditionalHit(Call p0, Response p1){}
public void cacheHit(Call p0, Response p1){}
public void cacheMiss(Call p0){}
public void callEnd(Call p0){}
public void callFailed(Call p0, IOException p1){}
public void callStart(Call p0){}
public void canceled(Call p0){}
public void connectEnd(Call p0, InetSocketAddress p1, Proxy p2, Protocol p3){}
public void connectFailed(Call p0, InetSocketAddress p1, Proxy p2, Protocol p3, IOException p4){}
public void connectStart(Call p0, InetSocketAddress p1, Proxy p2){}
public void connectionAcquired(Call p0, Connection p1){}
public void connectionReleased(Call p0, Connection p1){}
public void dnsEnd(Call p0, String p1, List<InetAddress> p2){}
public void dnsStart(Call p0, String p1){}
public void proxySelectEnd(Call p0, HttpUrl p1, List<Proxy> p2){}
public void proxySelectStart(Call p0, HttpUrl p1){}
public void requestBodyEnd(Call p0, long p1){}
public void requestBodyStart(Call p0){}
public void requestFailed(Call p0, IOException p1){}
public void requestHeadersEnd(Call p0, Request p1){}
public void requestHeadersStart(Call p0){}
public void responseBodyEnd(Call p0, long p1){}
public void responseBodyStart(Call p0){}
public void responseFailed(Call p0, IOException p1){}
public void responseHeadersEnd(Call p0, Response p1){}
public void responseHeadersStart(Call p0){}
public void satisfactionFailure(Call p0, Response p1){}
public void secureConnectEnd(Call p0, Handshake p1){}
public void secureConnectStart(Call p0){}
static public class Companion
{
protected Companion() {}
}
static public interface Factory
{
EventListener create(Call p0);
}
}

View File

@@ -0,0 +1,78 @@
// Generated automatically from okhttp3.Handshake for testing purposes
package okhttp3;
import java.security.Principal;
import java.security.cert.Certificate;
import java.util.List;
import javax.net.ssl.SSLSession;
import kotlin.jvm.functions.Function0;
import okhttp3.CipherSuite;
import okhttp3.TlsVersion;
public class Handshake {
protected Handshake() {}
public Handshake(TlsVersion p0, CipherSuite p1, List<? extends Certificate> p2,
Function0<? extends List<? extends Certificate>> p3) {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final CipherSuite cipherSuite() {
return null;
}
public final List<Certificate> localCertificates() {
return null;
}
public final List<Certificate> peerCertificates() {
return null;
}
public final Principal localPrincipal() {
return null;
}
public final Principal peerPrincipal() {
return null;
}
public final TlsVersion tlsVersion() {
return null;
}
public int hashCode() {
return 0;
}
public static Handshake get(SSLSession p0) {
return null;
}
public static Handshake get(TlsVersion p0, CipherSuite p1, List<? extends Certificate> p2,
List<? extends Certificate> p3) {
return null;
}
public static Handshake.Companion Companion = null;
static public class Companion {
protected Companion() {}
public final Handshake get(SSLSession p0) {
return null;
}
public final Handshake get(TlsVersion p0, CipherSuite p1, List<? extends Certificate> p2,
List<? extends Certificate> p3) {
return null;
}
}
}

View File

@@ -0,0 +1,161 @@
// Generated automatically from okhttp3.Headers for testing purposes
package okhttp3;
import java.time.Instant;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import kotlin.Pair;
import kotlin.jvm.internal.markers.KMappedMarker;
public class Headers implements Iterable<Pair<? extends String, ? extends String>>, KMappedMarker {
protected Headers() {}
public Iterator<Pair<? extends String, ? extends String>> iterator() {
return null;
}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final Date getDate(String p0) {
return null;
}
public final Headers.Builder newBuilder() {
return null;
}
public final Instant getInstant(String p0) {
return null;
}
public final List<String> values(String p0) {
return null;
}
public final Map<String, List<String>> toMultimap() {
return null;
}
public final Set<String> names() {
return null;
}
public final String get(String p0) {
return null;
}
public final String name(int p0) {
return null;
}
public final String value(int p0) {
return null;
}
public final int size() {
return 0;
}
public final long byteCount() {
return 0;
}
public int hashCode() {
return 0;
}
public static Headers of(Map<String, String> p0) {
return null;
}
public static Headers of(String... p0) {
return null;
}
public static Headers.Companion Companion = null;
static public class Builder {
public Builder() {}
public final Headers build() {
return null;
}
public final Headers.Builder add(String p0) {
return null;
}
public final Headers.Builder add(String p0, Date p1) {
return null;
}
public final Headers.Builder add(String p0, Instant p1) {
return null;
}
public final Headers.Builder add(String p0, String p1) {
return null;
}
public final Headers.Builder addAll(Headers p0) {
return null;
}
public final Headers.Builder addLenient$okhttp(String p0) {
return null;
}
public final Headers.Builder addLenient$okhttp(String p0, String p1) {
return null;
}
public final Headers.Builder addUnsafeNonAscii(String p0, String p1) {
return null;
}
public final Headers.Builder removeAll(String p0) {
return null;
}
public final Headers.Builder set(String p0, Date p1) {
return null;
}
public final Headers.Builder set(String p0, Instant p1) {
return null;
}
public final Headers.Builder set(String p0, String p1) {
return null;
}
public final List<String> getNamesAndValues$okhttp() {
return null;
}
public final String get(String p0) {
return null;
}
}
static public class Companion {
protected Companion() {}
public final Headers of(Map<String, String> p0) {
return null;
}
public final Headers of(String... p0) {
return null;
}
}
}

View File

@@ -0,0 +1,390 @@
// Generated automatically from okhttp3.HttpUrl for testing purposes
package okhttp3;
import java.net.URI;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Set;
public class HttpUrl {
protected HttpUrl() {}
public HttpUrl(String p0, String p1, String p2, String p3, int p4, List<String> p5,
List<String> p6, String p7, String p8) {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final HttpUrl resolve(String p0) {
return null;
}
public final HttpUrl.Builder newBuilder() {
return null;
}
public final HttpUrl.Builder newBuilder(String p0) {
return null;
}
public final List<String> encodedPathSegments() {
return null;
}
public final List<String> pathSegments() {
return null;
}
public final List<String> queryParameterValues(String p0) {
return null;
}
public final Set<String> queryParameterNames() {
return null;
}
public final String encodedFragment() {
return null;
}
public final String encodedPassword() {
return null;
}
public final String encodedPath() {
return null;
}
public final String encodedQuery() {
return null;
}
public final String encodedUsername() {
return null;
}
public final String fragment() {
return null;
}
public final String host() {
return null;
}
public final String password() {
return null;
}
public final String query() {
return null;
}
public final String queryParameter(String p0) {
return null;
}
public final String queryParameterName(int p0) {
return null;
}
public final String queryParameterValue(int p0) {
return null;
}
public final String redact() {
return null;
}
public final String scheme() {
return null;
}
public final String topPrivateDomain() {
return null;
}
public final String username() {
return null;
}
public final URI uri() {
return null;
}
public final URL url() {
return null;
}
public final boolean isHttps() {
return false;
}
public final int pathSize() {
return 0;
}
public final int port() {
return 0;
}
public final int querySize() {
return 0;
}
public int hashCode() {
return 0;
}
public static HttpUrl get(String p0) {
return null;
}
public static HttpUrl get(URI p0) {
return null;
}
public static HttpUrl get(URL p0) {
return null;
}
public static HttpUrl parse(String p0) {
return null;
}
public static HttpUrl.Companion Companion = null;
public static String FORM_ENCODE_SET = null;
public static String FRAGMENT_ENCODE_SET = null;
public static String FRAGMENT_ENCODE_SET_URI = null;
public static String PASSWORD_ENCODE_SET = null;
public static String PATH_SEGMENT_ENCODE_SET = null;
public static String PATH_SEGMENT_ENCODE_SET_URI = null;
public static String QUERY_COMPONENT_ENCODE_SET = null;
public static String QUERY_COMPONENT_ENCODE_SET_URI = null;
public static String QUERY_COMPONENT_REENCODE_SET = null;
public static String QUERY_ENCODE_SET = null;
public static String USERNAME_ENCODE_SET = null;
public static int defaultPort(String p0) {
return 0;
}
static public class Builder {
public Builder() {}
public String toString() {
return null;
}
public final HttpUrl build() {
return null;
}
public final HttpUrl.Builder addEncodedPathSegment(String p0) {
return null;
}
public final HttpUrl.Builder addEncodedPathSegments(String p0) {
return null;
}
public final HttpUrl.Builder addEncodedQueryParameter(String p0, String p1) {
return null;
}
public final HttpUrl.Builder addPathSegment(String p0) {
return null;
}
public final HttpUrl.Builder addPathSegments(String p0) {
return null;
}
public final HttpUrl.Builder addQueryParameter(String p0, String p1) {
return null;
}
public final HttpUrl.Builder encodedFragment(String p0) {
return null;
}
public final HttpUrl.Builder encodedPassword(String p0) {
return null;
}
public final HttpUrl.Builder encodedPath(String p0) {
return null;
}
public final HttpUrl.Builder encodedQuery(String p0) {
return null;
}
public final HttpUrl.Builder encodedUsername(String p0) {
return null;
}
public final HttpUrl.Builder fragment(String p0) {
return null;
}
public final HttpUrl.Builder host(String p0) {
return null;
}
public final HttpUrl.Builder parse$okhttp(HttpUrl p0, String p1) {
return null;
}
public final HttpUrl.Builder password(String p0) {
return null;
}
public final HttpUrl.Builder port(int p0) {
return null;
}
public final HttpUrl.Builder query(String p0) {
return null;
}
public final HttpUrl.Builder reencodeForUri$okhttp() {
return null;
}
public final HttpUrl.Builder removeAllEncodedQueryParameters(String p0) {
return null;
}
public final HttpUrl.Builder removeAllQueryParameters(String p0) {
return null;
}
public final HttpUrl.Builder removePathSegment(int p0) {
return null;
}
public final HttpUrl.Builder scheme(String p0) {
return null;
}
public final HttpUrl.Builder setEncodedPathSegment(int p0, String p1) {
return null;
}
public final HttpUrl.Builder setEncodedQueryParameter(String p0, String p1) {
return null;
}
public final HttpUrl.Builder setPathSegment(int p0, String p1) {
return null;
}
public final HttpUrl.Builder setQueryParameter(String p0, String p1) {
return null;
}
public final HttpUrl.Builder username(String p0) {
return null;
}
public final List<String> getEncodedPathSegments$okhttp() {
return null;
}
public final List<String> getEncodedQueryNamesAndValues$okhttp() {
return null;
}
public final String getEncodedFragment$okhttp() {
return null;
}
public final String getEncodedPassword$okhttp() {
return null;
}
public final String getEncodedUsername$okhttp() {
return null;
}
public final String getHost$okhttp() {
return null;
}
public final String getScheme$okhttp() {
return null;
}
public final int getPort$okhttp() {
return 0;
}
public final void setEncodedFragment$okhttp(String p0) {}
public final void setEncodedPassword$okhttp(String p0) {}
public final void setEncodedQueryNamesAndValues$okhttp(List<String> p0) {}
public final void setEncodedUsername$okhttp(String p0) {}
public final void setHost$okhttp(String p0) {}
public final void setPort$okhttp(int p0) {}
public final void setScheme$okhttp(String p0) {}
public static HttpUrl.Builder.Companion Companion = null;
public static String INVALID_HOST = null;
static public class Companion {
protected Companion() {}
}
}
static public class Companion {
protected Companion() {}
public final HttpUrl get(String p0) {
return null;
}
public final HttpUrl get(URI p0) {
return null;
}
public final HttpUrl get(URL p0) {
return null;
}
public final HttpUrl parse(String p0) {
return null;
}
public final List<String> toQueryNamesAndValues$okhttp(String p0) {
return null;
}
public final String canonicalize$okhttp(String p0, int p1, int p2, String p3, boolean p4,
boolean p5, boolean p6, boolean p7, Charset p8) {
return null;
}
public final String percentDecode$okhttp(String p0, int p1, int p2, boolean p3) {
return null;
}
public final int defaultPort(String p0) {
return 0;
}
public final void toPathString$okhttp(List<String> p0, StringBuilder p1) {}
public final void toQueryString$okhttp(List<String> p0, StringBuilder p1) {}
}
}

View File

@@ -0,0 +1,34 @@
// Generated automatically from okhttp3.Interceptor for testing purposes
package okhttp3;
import java.util.concurrent.TimeUnit;
import kotlin.jvm.functions.Function1;
import okhttp3.Call;
import okhttp3.Connection;
import okhttp3.Request;
import okhttp3.Response;
public interface Interceptor
{
Response intercept(Interceptor.Chain p0);
static Interceptor.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final Interceptor invoke(Function1<? super Interceptor.Chain, Response> p0){ return null; }
}
static public interface Chain
{
Call call();
Connection connection();
Interceptor.Chain withConnectTimeout(int p0, TimeUnit p1);
Interceptor.Chain withReadTimeout(int p0, TimeUnit p1);
Interceptor.Chain withWriteTimeout(int p0, TimeUnit p1);
Request request();
Response proceed(Request p0);
int connectTimeoutMillis();
int readTimeoutMillis();
int writeTimeoutMillis();
}
}

View File

@@ -0,0 +1,63 @@
// Generated automatically from okhttp3.MediaType for testing purposes
package okhttp3;
import java.nio.charset.Charset;
public class MediaType {
protected MediaType() {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final Charset charset() {
return null;
}
public final Charset charset(Charset p0) {
return null;
}
public final String parameter(String p0) {
return null;
}
public final String subtype() {
return null;
}
public final String type() {
return null;
}
public int hashCode() {
return 0;
}
public static MediaType get(String p0) {
return null;
}
public static MediaType parse(String p0) {
return null;
}
public static MediaType.Companion Companion = null;
static public class Companion {
protected Companion() {}
public final MediaType get(String p0) {
return null;
}
public final MediaType parse(String p0) {
return null;
}
}
}

View File

@@ -0,0 +1,528 @@
// Generated automatically from okhttp3.OkHttpClient for testing purposes
package okhttp3;
import java.net.Proxy;
import java.net.ProxySelector;
import java.time.Duration;
import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.net.SocketFactory;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
import kotlin.jvm.functions.Function1;
import okhttp3.Authenticator;
import okhttp3.Cache;
import okhttp3.Call;
import okhttp3.CertificatePinner;
import okhttp3.ConnectionPool;
import okhttp3.ConnectionSpec;
import okhttp3.CookieJar;
import okhttp3.Dispatcher;
import okhttp3.Dns;
import okhttp3.EventListener;
import okhttp3.Interceptor;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
import okhttp3.internal.connection.RouteDatabase;
import okhttp3.internal.tls.CertificateChainCleaner;
public class OkHttpClient implements Call.Factory, Cloneable, WebSocket.Factory {
public Call newCall(Request p0) {
return null;
}
public Object clone() {
return null;
}
public OkHttpClient() {}
public OkHttpClient(OkHttpClient.Builder p0) {}
public OkHttpClient.Builder newBuilder() {
return null;
}
public WebSocket newWebSocket(Request p0, WebSocketListener p1) {
return null;
}
public final Authenticator authenticator() {
return null;
}
public final Authenticator proxyAuthenticator() {
return null;
}
public final Cache cache() {
return null;
}
public final CertificateChainCleaner certificateChainCleaner() {
return null;
}
public final CertificatePinner certificatePinner() {
return null;
}
public final ConnectionPool connectionPool() {
return null;
}
public final CookieJar cookieJar() {
return null;
}
public final Dispatcher dispatcher() {
return null;
}
public final Dns dns() {
return null;
}
public final EventListener.Factory eventListenerFactory() {
return null;
}
public final HostnameVerifier hostnameVerifier() {
return null;
}
public final List<ConnectionSpec> connectionSpecs() {
return null;
}
public final List<Interceptor> interceptors() {
return null;
}
public final List<Interceptor> networkInterceptors() {
return null;
}
public final List<Protocol> protocols() {
return null;
}
public final Proxy proxy() {
return null;
}
public final ProxySelector proxySelector() {
return null;
}
public final RouteDatabase getRouteDatabase() {
return null;
}
public final SSLSocketFactory sslSocketFactory() {
return null;
}
public final SocketFactory socketFactory() {
return null;
}
public final X509TrustManager x509TrustManager() {
return null;
}
public final boolean followRedirects() {
return false;
}
public final boolean followSslRedirects() {
return false;
}
public final boolean retryOnConnectionFailure() {
return false;
}
public final int callTimeoutMillis() {
return 0;
}
public final int connectTimeoutMillis() {
return 0;
}
public final int pingIntervalMillis() {
return 0;
}
public final int readTimeoutMillis() {
return 0;
}
public final int writeTimeoutMillis() {
return 0;
}
public final long minWebSocketMessageToCompress() {
return 0;
}
public static OkHttpClient.Companion Companion = null;
static public class Builder {
public Builder() {}
public Builder(OkHttpClient p0) {}
public final Authenticator getAuthenticator$okhttp() {
return null;
}
public final Authenticator getProxyAuthenticator$okhttp() {
return null;
}
public final Cache getCache$okhttp() {
return null;
}
public final CertificateChainCleaner getCertificateChainCleaner$okhttp() {
return null;
}
public final CertificatePinner getCertificatePinner$okhttp() {
return null;
}
public final ConnectionPool getConnectionPool$okhttp() {
return null;
}
public final CookieJar getCookieJar$okhttp() {
return null;
}
public final Dispatcher getDispatcher$okhttp() {
return null;
}
public final Dns getDns$okhttp() {
return null;
}
public final EventListener.Factory getEventListenerFactory$okhttp() {
return null;
}
public final HostnameVerifier getHostnameVerifier$okhttp() {
return null;
}
public final List<ConnectionSpec> getConnectionSpecs$okhttp() {
return null;
}
public final List<Interceptor> getInterceptors$okhttp() {
return null;
}
public final List<Interceptor> getNetworkInterceptors$okhttp() {
return null;
}
public final List<Interceptor> interceptors() {
return null;
}
public final List<Interceptor> networkInterceptors() {
return null;
}
public final List<Protocol> getProtocols$okhttp() {
return null;
}
public final OkHttpClient build() {
return null;
}
public final OkHttpClient.Builder addInterceptor(
Function1<? super Interceptor.Chain, Response> p0) {
return null;
}
public final OkHttpClient.Builder addNetworkInterceptor(
Function1<? super Interceptor.Chain, Response> p0) {
return null;
}
public final OkHttpClient.Builder addInterceptor(Interceptor p0) {
return null;
}
public final OkHttpClient.Builder addNetworkInterceptor(Interceptor p0) {
return null;
}
public final OkHttpClient.Builder authenticator(Authenticator p0) {
return null;
}
public final OkHttpClient.Builder cache(Cache p0) {
return null;
}
public final OkHttpClient.Builder callTimeout(Duration p0) {
return null;
}
public final OkHttpClient.Builder callTimeout(long p0, TimeUnit p1) {
return null;
}
public final OkHttpClient.Builder certificatePinner(CertificatePinner p0) {
return null;
}
public final OkHttpClient.Builder connectTimeout(Duration p0) {
return null;
}
public final OkHttpClient.Builder connectTimeout(long p0, TimeUnit p1) {
return null;
}
public final OkHttpClient.Builder connectionPool(ConnectionPool p0) {
return null;
}
public final OkHttpClient.Builder connectionSpecs(List<ConnectionSpec> p0) {
return null;
}
public final OkHttpClient.Builder cookieJar(CookieJar p0) {
return null;
}
public final OkHttpClient.Builder dispatcher(Dispatcher p0) {
return null;
}
public final OkHttpClient.Builder dns(Dns p0) {
return null;
}
public final OkHttpClient.Builder eventListener(EventListener p0) {
return null;
}
public final OkHttpClient.Builder eventListenerFactory(EventListener.Factory p0) {
return null;
}
public final OkHttpClient.Builder followRedirects(boolean p0) {
return null;
}
public final OkHttpClient.Builder followSslRedirects(boolean p0) {
return null;
}
public final OkHttpClient.Builder hostnameVerifier(HostnameVerifier p0) {
return null;
}
public final OkHttpClient.Builder minWebSocketMessageToCompress(long p0) {
return null;
}
public final OkHttpClient.Builder pingInterval(Duration p0) {
return null;
}
public final OkHttpClient.Builder pingInterval(long p0, TimeUnit p1) {
return null;
}
public final OkHttpClient.Builder protocols(List<? extends Protocol> p0) {
return null;
}
public final OkHttpClient.Builder proxy(Proxy p0) {
return null;
}
public final OkHttpClient.Builder proxyAuthenticator(Authenticator p0) {
return null;
}
public final OkHttpClient.Builder proxySelector(ProxySelector p0) {
return null;
}
public final OkHttpClient.Builder readTimeout(Duration p0) {
return null;
}
public final OkHttpClient.Builder readTimeout(long p0, TimeUnit p1) {
return null;
}
public final OkHttpClient.Builder retryOnConnectionFailure(boolean p0) {
return null;
}
public final OkHttpClient.Builder socketFactory(SocketFactory p0) {
return null;
}
public final OkHttpClient.Builder sslSocketFactory(SSLSocketFactory p0) {
return null;
}
public final OkHttpClient.Builder sslSocketFactory(SSLSocketFactory p0,
X509TrustManager p1) {
return null;
}
public final OkHttpClient.Builder writeTimeout(Duration p0) {
return null;
}
public final OkHttpClient.Builder writeTimeout(long p0, TimeUnit p1) {
return null;
}
public final Proxy getProxy$okhttp() {
return null;
}
public final ProxySelector getProxySelector$okhttp() {
return null;
}
public final RouteDatabase getRouteDatabase$okhttp() {
return null;
}
public final SSLSocketFactory getSslSocketFactoryOrNull$okhttp() {
return null;
}
public final SocketFactory getSocketFactory$okhttp() {
return null;
}
public final X509TrustManager getX509TrustManagerOrNull$okhttp() {
return null;
}
public final boolean getFollowRedirects$okhttp() {
return false;
}
public final boolean getFollowSslRedirects$okhttp() {
return false;
}
public final boolean getRetryOnConnectionFailure$okhttp() {
return false;
}
public final int getCallTimeout$okhttp() {
return 0;
}
public final int getConnectTimeout$okhttp() {
return 0;
}
public final int getPingInterval$okhttp() {
return 0;
}
public final int getReadTimeout$okhttp() {
return 0;
}
public final int getWriteTimeout$okhttp() {
return 0;
}
public final long getMinWebSocketMessageToCompress$okhttp() {
return 0;
}
public final void setAuthenticator$okhttp(Authenticator p0) {}
public final void setCache$okhttp(Cache p0) {}
public final void setCallTimeout$okhttp(int p0) {}
public final void setCertificateChainCleaner$okhttp(CertificateChainCleaner p0) {}
public final void setCertificatePinner$okhttp(CertificatePinner p0) {}
public final void setConnectTimeout$okhttp(int p0) {}
public final void setConnectionPool$okhttp(ConnectionPool p0) {}
public final void setConnectionSpecs$okhttp(List<ConnectionSpec> p0) {}
public final void setCookieJar$okhttp(CookieJar p0) {}
public final void setDispatcher$okhttp(Dispatcher p0) {}
public final void setDns$okhttp(Dns p0) {}
public final void setEventListenerFactory$okhttp(EventListener.Factory p0) {}
public final void setFollowRedirects$okhttp(boolean p0) {}
public final void setFollowSslRedirects$okhttp(boolean p0) {}
public final void setHostnameVerifier$okhttp(HostnameVerifier p0) {}
public final void setMinWebSocketMessageToCompress$okhttp(long p0) {}
public final void setPingInterval$okhttp(int p0) {}
public final void setProtocols$okhttp(List<? extends Protocol> p0) {}
public final void setProxy$okhttp(Proxy p0) {}
public final void setProxyAuthenticator$okhttp(Authenticator p0) {}
public final void setProxySelector$okhttp(ProxySelector p0) {}
public final void setReadTimeout$okhttp(int p0) {}
public final void setRetryOnConnectionFailure$okhttp(boolean p0) {}
public final void setRouteDatabase$okhttp(RouteDatabase p0) {}
public final void setSocketFactory$okhttp(SocketFactory p0) {}
public final void setSslSocketFactoryOrNull$okhttp(SSLSocketFactory p0) {}
public final void setWriteTimeout$okhttp(int p0) {}
public final void setX509TrustManagerOrNull$okhttp(X509TrustManager p0) {}
}
static public class Companion {
protected Companion() {}
public final List<ConnectionSpec> getDEFAULT_CONNECTION_SPECS$okhttp() {
return null;
}
public final List<Protocol> getDEFAULT_PROTOCOLS$okhttp() {
return null;
}
}
}

View File

@@ -0,0 +1,18 @@
// Generated automatically from okhttp3.Protocol for testing purposes
package okhttp3;
public enum Protocol
{
H2_PRIOR_KNOWLEDGE, HTTP_1_0, HTTP_1_1, HTTP_2, QUIC, SPDY_3;
private Protocol() {}
public String toString(){ return null; }
public static Protocol get(String p0){ return null; }
public static Protocol.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final Protocol get(String p0){ return null; }
}
}

View File

@@ -0,0 +1,182 @@
// Generated automatically from okhttp3.Request for testing purposes
package okhttp3;
import java.net.URL;
import java.util.List;
import java.util.Map;
import okhttp3.CacheControl;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.RequestBody;
public class Request {
protected Request() {}
public Request(HttpUrl p0, String p1, Headers p2, RequestBody p3,
Map<Class<? extends Object>, ? extends Object> p4) {}
public String toString() {
return null;
}
public final <T> T tag(Class<? extends T> p0) {
return null;
}
public final CacheControl cacheControl() {
return null;
}
public final Headers headers() {
return null;
}
public final HttpUrl url() {
return null;
}
public final List<String> headers(String p0) {
return null;
}
public final Map<Class<? extends Object>, Object> getTags$okhttp() {
return null;
}
public final Object tag() {
return null;
}
public final Request.Builder newBuilder() {
return null;
}
public final RequestBody body() {
return null;
}
public final String header(String p0) {
return null;
}
public final String method() {
return null;
}
public final boolean isHttps() {
return false;
}
static public class Builder {
public <T> Request.Builder tag(Class<? super T> p0, T p1) {
return null;
}
public Builder() {}
public Builder(Request p0) {}
public Request build() {
return null;
}
public Request.Builder addHeader(String p0, String p1) {
return null;
}
public Request.Builder cacheControl(CacheControl p0) {
return null;
}
public Request.Builder delete(RequestBody p0) {
return null;
}
public Request.Builder get() {
return null;
}
public Request.Builder head() {
return null;
}
public Request.Builder header(String p0, String p1) {
return null;
}
public Request.Builder headers(Headers p0) {
return null;
}
public Request.Builder method(String p0, RequestBody p1) {
return null;
}
public Request.Builder patch(RequestBody p0) {
return null;
}
public Request.Builder post(RequestBody p0) {
return null;
}
public Request.Builder put(RequestBody p0) {
return null;
}
public Request.Builder removeHeader(String p0) {
return null;
}
public Request.Builder tag(Object p0) {
return null;
}
public Request.Builder url(HttpUrl p0) {
return null;
}
public Request.Builder url(String p0) {
return null;
}
public Request.Builder url(URL p0) {
return null;
}
public final Headers.Builder getHeaders$okhttp() {
return null;
}
public final HttpUrl getUrl$okhttp() {
return null;
}
public final Map<Class<? extends Object>, Object> getTags$okhttp() {
return null;
}
public final Request.Builder delete() {
return null;
}
public final RequestBody getBody$okhttp() {
return null;
}
public final String getMethod$okhttp() {
return null;
}
public final void setBody$okhttp(RequestBody p0) {}
public final void setHeaders$okhttp(Headers.Builder p0) {}
public final void setMethod$okhttp(String p0) {}
public final void setTags$okhttp(Map<Class<? extends Object>, Object> p0) {}
public final void setUrl$okhttp(HttpUrl p0) {}
}
}

View File

@@ -0,0 +1,49 @@
// Generated automatically from okhttp3.RequestBody for testing purposes
package okhttp3;
import java.io.File;
import okhttp3.MediaType;
import okio.BufferedSink;
import okio.ByteString;
abstract public class RequestBody
{
public RequestBody(){}
public abstract MediaType contentType();
public abstract void writeTo(BufferedSink p0);
public boolean isDuplex(){ return false; }
public boolean isOneShot(){ return false; }
public long contentLength(){ return 0; }
public static RequestBody create(ByteString p0, MediaType p1){ return null; }
public static RequestBody create(File p0, MediaType p1){ return null; }
public static RequestBody create(MediaType p0, ByteString p1){ return null; }
public static RequestBody create(MediaType p0, File p1){ return null; }
public static RequestBody create(MediaType p0, String p1){ return null; }
public static RequestBody create(MediaType p0, byte[] p1){ return null; }
public static RequestBody create(MediaType p0, byte[] p1, int p2){ return null; }
public static RequestBody create(MediaType p0, byte[] p1, int p2, int p3){ return null; }
public static RequestBody create(String p0, MediaType p1){ return null; }
public static RequestBody create(byte[] p0){ return null; }
public static RequestBody create(byte[] p0, MediaType p1){ return null; }
public static RequestBody create(byte[] p0, MediaType p1, int p2){ return null; }
public static RequestBody create(byte[] p0, MediaType p1, int p2, int p3){ return null; }
public static RequestBody.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final RequestBody create(ByteString p0, MediaType p1){ return null; }
public final RequestBody create(File p0, MediaType p1){ return null; }
public final RequestBody create(MediaType p0, ByteString p1){ return null; }
public final RequestBody create(MediaType p0, File p1){ return null; }
public final RequestBody create(MediaType p0, String p1){ return null; }
public final RequestBody create(MediaType p0, byte[] p1){ return null; }
public final RequestBody create(MediaType p0, byte[] p1, int p2){ return null; }
public final RequestBody create(MediaType p0, byte[] p1, int p2, int p3){ return null; }
public final RequestBody create(String p0, MediaType p1){ return null; }
public final RequestBody create(byte[] p0){ return null; }
public final RequestBody create(byte[] p0, MediaType p1){ return null; }
public final RequestBody create(byte[] p0, MediaType p1, int p2){ return null; }
public final RequestBody create(byte[] p0, MediaType p1, int p2, int p3){ return null; }
}
}

View File

@@ -0,0 +1,270 @@
// Generated automatically from okhttp3.Response for testing purposes
package okhttp3;
import java.io.Closeable;
import java.util.List;
import okhttp3.CacheControl;
import okhttp3.Challenge;
import okhttp3.Handshake;
import okhttp3.Headers;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.ResponseBody;
import okhttp3.internal.connection.Exchange;
public class Response implements Closeable {
protected Response() {}
public Response(Request p0, Protocol p1, String p2, int p3, Handshake p4, Headers p5,
ResponseBody p6, Response p7, Response p8, Response p9, long p10, long p11,
Exchange p12) {}
public String toString() {
return null;
}
public final CacheControl cacheControl() {
return null;
}
public final Exchange exchange() {
return null;
}
public final Handshake handshake() {
return null;
}
public final Headers headers() {
return null;
}
public final Headers trailers() {
return null;
}
public final List<Challenge> challenges() {
return null;
}
public final List<String> headers(String p0) {
return null;
}
public final Protocol protocol() {
return null;
}
public final Request request() {
return null;
}
public final Response cacheResponse() {
return null;
}
public final Response networkResponse() {
return null;
}
public final Response priorResponse() {
return null;
}
public final Response.Builder newBuilder() {
return null;
}
public final ResponseBody body() {
return null;
}
public final ResponseBody peekBody(long p0) {
return null;
}
public final String header(String p0) {
return null;
}
public final String header(String p0, String p1) {
return null;
}
public final String message() {
return null;
}
public final boolean isRedirect() {
return false;
}
public final boolean isSuccessful() {
return false;
}
public final int code() {
return 0;
}
public final long receivedResponseAtMillis() {
return 0;
}
public final long sentRequestAtMillis() {
return 0;
}
public void close() {}
static public class Builder {
public Builder() {}
public Builder(Response p0) {}
public Response build() {
return null;
}
public Response.Builder addHeader(String p0, String p1) {
return null;
}
public Response.Builder body(ResponseBody p0) {
return null;
}
public Response.Builder cacheResponse(Response p0) {
return null;
}
public Response.Builder code(int p0) {
return null;
}
public Response.Builder handshake(Handshake p0) {
return null;
}
public Response.Builder header(String p0, String p1) {
return null;
}
public Response.Builder headers(Headers p0) {
return null;
}
public Response.Builder message(String p0) {
return null;
}
public Response.Builder networkResponse(Response p0) {
return null;
}
public Response.Builder priorResponse(Response p0) {
return null;
}
public Response.Builder protocol(Protocol p0) {
return null;
}
public Response.Builder receivedResponseAtMillis(long p0) {
return null;
}
public Response.Builder removeHeader(String p0) {
return null;
}
public Response.Builder request(Request p0) {
return null;
}
public Response.Builder sentRequestAtMillis(long p0) {
return null;
}
public final Exchange getExchange$okhttp() {
return null;
}
public final Handshake getHandshake$okhttp() {
return null;
}
public final Headers.Builder getHeaders$okhttp() {
return null;
}
public final Protocol getProtocol$okhttp() {
return null;
}
public final Request getRequest$okhttp() {
return null;
}
public final Response getCacheResponse$okhttp() {
return null;
}
public final Response getNetworkResponse$okhttp() {
return null;
}
public final Response getPriorResponse$okhttp() {
return null;
}
public final ResponseBody getBody$okhttp() {
return null;
}
public final String getMessage$okhttp() {
return null;
}
public final int getCode$okhttp() {
return 0;
}
public final long getReceivedResponseAtMillis$okhttp() {
return 0;
}
public final long getSentRequestAtMillis$okhttp() {
return 0;
}
public final void initExchange$okhttp(Exchange p0) {}
public final void setBody$okhttp(ResponseBody p0) {}
public final void setCacheResponse$okhttp(Response p0) {}
public final void setCode$okhttp(int p0) {}
public final void setExchange$okhttp(Exchange p0) {}
public final void setHandshake$okhttp(Handshake p0) {}
public final void setHeaders$okhttp(Headers.Builder p0) {}
public final void setMessage$okhttp(String p0) {}
public final void setNetworkResponse$okhttp(Response p0) {}
public final void setPriorResponse$okhttp(Response p0) {}
public final void setProtocol$okhttp(Protocol p0) {}
public final void setReceivedResponseAtMillis$okhttp(long p0) {}
public final void setRequest$okhttp(Request p0) {}
public final void setSentRequestAtMillis$okhttp(long p0) {}
}
}

View File

@@ -0,0 +1,45 @@
// Generated automatically from okhttp3.ResponseBody for testing purposes
package okhttp3;
import java.io.Closeable;
import java.io.InputStream;
import java.io.Reader;
import okhttp3.MediaType;
import okio.BufferedSource;
import okio.ByteString;
abstract public class ResponseBody implements Closeable
{
public ResponseBody(){}
public abstract BufferedSource source();
public abstract MediaType contentType();
public abstract long contentLength();
public final ByteString byteString(){ return null; }
public final InputStream byteStream(){ return null; }
public final Reader charStream(){ return null; }
public final String string(){ return null; }
public final byte[] bytes(){ return null; }
public static ResponseBody create(BufferedSource p0, MediaType p1, long p2){ return null; }
public static ResponseBody create(ByteString p0, MediaType p1){ return null; }
public static ResponseBody create(MediaType p0, ByteString p1){ return null; }
public static ResponseBody create(MediaType p0, String p1){ return null; }
public static ResponseBody create(MediaType p0, byte[] p1){ return null; }
public static ResponseBody create(MediaType p0, long p1, BufferedSource p2){ return null; }
public static ResponseBody create(String p0, MediaType p1){ return null; }
public static ResponseBody create(byte[] p0, MediaType p1){ return null; }
public static ResponseBody.Companion Companion = null;
public void close(){}
static public class Companion
{
protected Companion() {}
public final ResponseBody create(BufferedSource p0, MediaType p1, long p2){ return null; }
public final ResponseBody create(ByteString p0, MediaType p1){ return null; }
public final ResponseBody create(MediaType p0, ByteString p1){ return null; }
public final ResponseBody create(MediaType p0, String p1){ return null; }
public final ResponseBody create(MediaType p0, byte[] p1){ return null; }
public final ResponseBody create(MediaType p0, long p1, BufferedSource p2){ return null; }
public final ResponseBody create(String p0, MediaType p1){ return null; }
public final ResponseBody create(byte[] p0, MediaType p1){ return null; }
}
}

View File

@@ -0,0 +1,41 @@
// Generated automatically from okhttp3.Route for testing purposes
package okhttp3;
import java.net.InetSocketAddress;
import java.net.Proxy;
import okhttp3.Address;
public class Route {
protected Route() {}
public Route(Address p0, Proxy p1, InetSocketAddress p2) {}
public String toString() {
return null;
}
public boolean equals(Object p0) {
return false;
}
public final Address address() {
return null;
}
public final InetSocketAddress socketAddress() {
return null;
}
public final Proxy proxy() {
return null;
}
public final boolean requiresTunnel() {
return false;
}
public int hashCode() {
return 0;
}
}

View File

@@ -0,0 +1,28 @@
// Generated automatically from okhttp3.TlsVersion for testing purposes
package okhttp3;
public enum TlsVersion {
SSL_3_0, TLS_1_0, TLS_1_1, TLS_1_2, TLS_1_3;
private TlsVersion() {}
public final String javaName() {
return null;
}
public static TlsVersion forJavaName(String p0) {
return null;
}
public static TlsVersion.Companion Companion = null;
static public class Companion {
protected Companion() {}
public final TlsVersion forJavaName(String p0) {
return null;
}
}
}

View File

@@ -0,0 +1,21 @@
// Generated automatically from okhttp3.WebSocket for testing purposes
package okhttp3;
import okhttp3.Request;
import okhttp3.WebSocketListener;
import okio.ByteString;
public interface WebSocket
{
Request request();
boolean close(int p0, String p1);
boolean send(ByteString p0);
boolean send(String p0);
long queueSize();
static public interface Factory
{
WebSocket newWebSocket(Request p0, WebSocketListener p1);
}
void cancel();
}

View File

@@ -0,0 +1,18 @@
// Generated automatically from okhttp3.WebSocketListener for testing purposes
package okhttp3;
import okhttp3.Response;
import okhttp3.WebSocket;
import okio.ByteString;
abstract public class WebSocketListener
{
public WebSocketListener(){}
public void onClosed(WebSocket p0, int p1, String p2){}
public void onClosing(WebSocket p0, int p1, String p2){}
public void onFailure(WebSocket p0, Throwable p1, Response p2){}
public void onMessage(WebSocket p0, ByteString p1){}
public void onMessage(WebSocket p0, String p1){}
public void onOpen(WebSocket p0, Response p1){}
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from okhttp3.internal.cache.CacheRequest for testing purposes
package okhttp3.internal.cache;
import okio.Sink;
public interface CacheRequest
{
Sink body();
void abort();
}

View File

@@ -0,0 +1,20 @@
// Generated automatically from okhttp3.internal.cache.CacheStrategy for testing purposes
package okhttp3.internal.cache;
import okhttp3.Request;
import okhttp3.Response;
public class CacheStrategy
{
protected CacheStrategy() {}
public CacheStrategy(Request p0, Response p1){}
public final Request getNetworkRequest(){ return null; }
public final Response getCacheResponse(){ return null; }
public static CacheStrategy.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final boolean isCacheable(Response p0, Request p1){ return false; }
}
}

View File

@@ -0,0 +1,106 @@
// Generated automatically from okhttp3.internal.cache.DiskLruCache for testing purposes
package okhttp3.internal.cache;
import java.io.Closeable;
import java.io.File;
import java.io.Flushable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import kotlin.text.Regex;
import okhttp3.internal.concurrent.TaskRunner;
import okhttp3.internal.io.FileSystem;
import okio.BufferedSink;
import okio.Sink;
import okio.Source;
public class DiskLruCache implements Closeable, Flushable
{
protected DiskLruCache() {}
public DiskLruCache(FileSystem p0, File p1, int p2, int p3, long p4, TaskRunner p5){}
public class Editor
{
protected Editor() {}
public Editor(DiskLruCache.Entry p0){}
public final DiskLruCache.Entry getEntry$okhttp(){ return null; }
public final Sink newSink(int p0){ return null; }
public final Source newSource(int p0){ return null; }
public final boolean[] getWritten$okhttp(){ return null; }
public final void abort(){}
public final void commit(){}
public final void detach$okhttp(){}
}
public class Entry
{
protected Entry() {}
public Entry(String p0){}
public final DiskLruCache.Editor getCurrentEditor$okhttp(){ return null; }
public final DiskLruCache.Snapshot snapshot$okhttp(){ return null; }
public final List<File> getCleanFiles$okhttp(){ return null; }
public final List<File> getDirtyFiles$okhttp(){ return null; }
public final String getKey$okhttp(){ return null; }
public final boolean getReadable$okhttp(){ return false; }
public final boolean getZombie$okhttp(){ return false; }
public final int getLockingSourceCount$okhttp(){ return 0; }
public final long getSequenceNumber$okhttp(){ return 0; }
public final long[] getLengths$okhttp(){ return null; }
public final void setCurrentEditor$okhttp(DiskLruCache.Editor p0){}
public final void setLengths$okhttp(List<String> p0){}
public final void setLockingSourceCount$okhttp(int p0){}
public final void setReadable$okhttp(boolean p0){}
public final void setSequenceNumber$okhttp(long p0){}
public final void setZombie$okhttp(boolean p0){}
public final void writeLengths$okhttp(BufferedSink p0){}
}
public class Snapshot implements Closeable
{
protected Snapshot() {}
public Snapshot(String p0, long p1, List<? extends Source> p2, long[] p3){}
public final DiskLruCache.Editor edit(){ return null; }
public final Source getSource(int p0){ return null; }
public final String key(){ return null; }
public final long getLength(int p0){ return 0; }
public void close(){}
}
public final DiskLruCache.Editor edit(String p0){ return null; }
public final DiskLruCache.Editor edit(String p0, long p1){ return null; }
public final DiskLruCache.Snapshot get(String p0){ return null; }
public final File getDirectory(){ return null; }
public final FileSystem getFileSystem$okhttp(){ return null; }
public final Iterator<DiskLruCache.Snapshot> snapshots(){ return null; }
public final LinkedHashMap<String, DiskLruCache.Entry> getLruEntries$okhttp(){ return null; }
public final boolean getClosed$okhttp(){ return false; }
public final boolean isClosed(){ return false; }
public final boolean remove(String p0){ return false; }
public final boolean removeEntry$okhttp(DiskLruCache.Entry p0){ return false; }
public final int getValueCount$okhttp(){ return 0; }
public final long getMaxSize(){ return 0; }
public final long size(){ return 0; }
public final void completeEdit$okhttp(DiskLruCache.Editor p0, boolean p1){}
public final void delete(){}
public final void evictAll(){}
public final void initialize(){}
public final void rebuildJournal$okhttp(){}
public final void setClosed$okhttp(boolean p0){}
public final void setMaxSize(long p0){}
public final void trimToSize(){}
public static DiskLruCache.Companion Companion = null;
public static Regex LEGAL_KEY_PATTERN = null;
public static String CLEAN = null;
public static String DIRTY = null;
public static String JOURNAL_FILE = null;
public static String JOURNAL_FILE_BACKUP = null;
public static String JOURNAL_FILE_TEMP = null;
public static String MAGIC = null;
public static String READ = null;
public static String REMOVE = null;
public static String VERSION_1 = null;
public static long ANY_SEQUENCE_NUMBER = 0;
public void close(){}
public void flush(){}
static public class Companion
{
protected Companion() {}
}
}

View File

@@ -0,0 +1,20 @@
// Generated automatically from okhttp3.internal.concurrent.Task for testing purposes
package okhttp3.internal.concurrent;
import okhttp3.internal.concurrent.TaskQueue;
abstract public class Task
{
protected Task() {}
public String toString(){ return null; }
public Task(String p0, boolean p1){}
public abstract long runOnce();
public final String getName(){ return null; }
public final TaskQueue getQueue$okhttp(){ return null; }
public final boolean getCancelable(){ return false; }
public final long getNextExecuteNanoTime$okhttp(){ return 0; }
public final void initQueue$okhttp(TaskQueue p0){}
public final void setNextExecuteNanoTime$okhttp(long p0){}
public final void setQueue$okhttp(TaskQueue p0){}
}

View File

@@ -0,0 +1,35 @@
// Generated automatically from okhttp3.internal.concurrent.TaskQueue for testing purposes
package okhttp3.internal.concurrent;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import okhttp3.internal.concurrent.Task;
import okhttp3.internal.concurrent.TaskRunner;
public class TaskQueue
{
protected TaskQueue() {}
public String toString(){ return null; }
public TaskQueue(TaskRunner p0, String p1){}
public final CountDownLatch idleLatch(){ return null; }
public final List<Task> getFutureTasks$okhttp(){ return null; }
public final List<Task> getScheduledTasks(){ return null; }
public final String getName$okhttp(){ return null; }
public final Task getActiveTask$okhttp(){ return null; }
public final TaskRunner getTaskRunner$okhttp(){ return null; }
public final boolean cancelAllAndDecide$okhttp(){ return false; }
public final boolean getCancelActiveTask$okhttp(){ return false; }
public final boolean getShutdown$okhttp(){ return false; }
public final boolean scheduleAndDecide$okhttp(Task p0, long p1, boolean p2){ return false; }
public final void cancelAll(){}
public final void execute(String p0, long p1, boolean p2, Function0<Unit> p3){}
public final void schedule(String p0, long p1, Function0<Long> p2){}
public final void schedule(Task p0, long p1){}
public final void setActiveTask$okhttp(Task p0){}
public final void setCancelActiveTask$okhttp(boolean p0){}
public final void setShutdown$okhttp(boolean p0){}
public final void shutdown(){}
}

View File

@@ -0,0 +1,35 @@
// Generated automatically from okhttp3.internal.concurrent.TaskRunner for testing purposes
package okhttp3.internal.concurrent;
import java.util.List;
import java.util.logging.Logger;
import okhttp3.internal.concurrent.Task;
import okhttp3.internal.concurrent.TaskQueue;
public class TaskRunner
{
protected TaskRunner() {}
public TaskRunner(TaskRunner.Backend p0){}
public final List<TaskQueue> activeQueues(){ return null; }
public final Task awaitTaskToRun(){ return null; }
public final TaskQueue newQueue(){ return null; }
public final TaskRunner.Backend getBackend(){ return null; }
public final void cancelAll(){}
public final void kickCoordinator$okhttp(TaskQueue p0){}
public static TaskRunner INSTANCE = null;
public static TaskRunner.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final Logger getLogger(){ return null; }
}
static public interface Backend
{
long nanoTime();
void beforeTask(TaskRunner p0);
void coordinatorNotify(TaskRunner p0);
void coordinatorWait(TaskRunner p0, long p1);
void execute(Runnable p0);
}
}

View File

@@ -0,0 +1,44 @@
// Generated automatically from okhttp3.internal.connection.Exchange for testing purposes
package okhttp3.internal.connection;
import java.io.IOException;
import okhttp3.EventListener;
import okhttp3.Headers;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okhttp3.internal.connection.ExchangeFinder;
import okhttp3.internal.connection.RealCall;
import okhttp3.internal.connection.RealConnection;
import okhttp3.internal.http.ExchangeCodec;
import okhttp3.internal.ws.RealWebSocket;
import okio.Sink;
public class Exchange
{
protected Exchange() {}
public Exchange(RealCall p0, EventListener p1, ExchangeFinder p2, ExchangeCodec p3){}
public final <E extends IOException> E bodyComplete(long p0, boolean p1, boolean p2, E p3){ return null; }
public final EventListener getEventListener$okhttp(){ return null; }
public final ExchangeFinder getFinder$okhttp(){ return null; }
public final Headers trailers(){ return null; }
public final RealCall getCall$okhttp(){ return null; }
public final RealConnection getConnection$okhttp(){ return null; }
public final RealWebSocket.Streams newWebSocketStreams(){ return null; }
public final Response.Builder readResponseHeaders(boolean p0){ return null; }
public final ResponseBody openResponseBody(Response p0){ return null; }
public final Sink createRequestBody(Request p0, boolean p1){ return null; }
public final boolean isCoalescedConnection$okhttp(){ return false; }
public final boolean isDuplex$okhttp(){ return false; }
public final void cancel(){}
public final void detachWithViolence(){}
public final void finishRequest(){}
public final void flushRequest(){}
public final void noNewExchangesOnConnection(){}
public final void noRequestBody(){}
public final void responseHeadersEnd(Response p0){}
public final void responseHeadersStart(){}
public final void webSocketUpgradeFailed(){}
public final void writeRequestHeaders(Request p0){}
}

View File

@@ -0,0 +1,24 @@
// Generated automatically from okhttp3.internal.connection.ExchangeFinder for testing purposes
package okhttp3.internal.connection;
import java.io.IOException;
import okhttp3.Address;
import okhttp3.EventListener;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.internal.connection.RealCall;
import okhttp3.internal.connection.RealConnectionPool;
import okhttp3.internal.http.ExchangeCodec;
import okhttp3.internal.http.RealInterceptorChain;
public class ExchangeFinder
{
protected ExchangeFinder() {}
public ExchangeFinder(RealConnectionPool p0, Address p1, RealCall p2, EventListener p3){}
public final Address getAddress$okhttp(){ return null; }
public final ExchangeCodec find(OkHttpClient p0, RealInterceptorChain p1){ return null; }
public final boolean retryAfterFailure(){ return false; }
public final boolean sameHostAndPort(HttpUrl p0){ return false; }
public final void trackFailure(IOException p0){}
}

View File

@@ -0,0 +1,63 @@
// Generated automatically from okhttp3.internal.connection.RealCall for testing purposes
package okhttp3.internal.connection;
import java.io.IOException;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.EventListener;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.internal.connection.Exchange;
import okhttp3.internal.connection.RealConnection;
import okhttp3.internal.http.RealInterceptorChain;
import okio.AsyncTimeout;
public class RealCall implements Call
{
protected RealCall() {}
public AsyncTimeout timeout(){ return null; }
public RealCall clone(){ return null; }
public RealCall(OkHttpClient p0, Request p1, boolean p2){}
public Request request(){ return null; }
public Response execute(){ return null; }
public boolean isCanceled(){ return false; }
public boolean isExecuted(){ return false; }
public class AsyncCall implements Runnable
{
protected AsyncCall() {}
public AsyncCall(Callback p0){}
public final AtomicInteger getCallsPerHost(){ return null; }
public final RealCall getCall(){ return null; }
public final Request getRequest(){ return null; }
public final String getHost(){ return null; }
public final void executeOn(ExecutorService p0){}
public final void reuseCallsPerHostFrom(RealCall.AsyncCall p0){}
public void run(){}
}
public final <E extends IOException> E messageDone$okhttp(Exchange p0, boolean p1, boolean p2, E p3){ return null; }
public final EventListener getEventListener$okhttp(){ return null; }
public final Exchange getInterceptorScopedExchange$okhttp(){ return null; }
public final Exchange initExchange$okhttp(RealInterceptorChain p0){ return null; }
public final IOException noMoreExchanges$okhttp(IOException p0){ return null; }
public final OkHttpClient getClient(){ return null; }
public final RealConnection getConnection(){ return null; }
public final RealConnection getConnectionToCancel(){ return null; }
public final Request getOriginalRequest(){ return null; }
public final Response getResponseWithInterceptorChain$okhttp(){ return null; }
public final Socket releaseConnectionNoEvents$okhttp(){ return null; }
public final String redactedUrl$okhttp(){ return null; }
public final boolean getForWebSocket(){ return false; }
public final boolean retryAfterFailure(){ return false; }
public final void acquireConnectionNoEvents(RealConnection p0){}
public final void enterNetworkInterceptorExchange(Request p0, boolean p1){}
public final void exitNetworkInterceptorExchange$okhttp(boolean p0){}
public final void setConnectionToCancel(RealConnection p0){}
public final void timeoutEarlyExit(){}
public void cancel(){}
public void enqueue(Callback p0){}
}

View File

@@ -0,0 +1,65 @@
// Generated automatically from okhttp3.internal.connection.RealConnection for testing purposes
package okhttp3.internal.connection;
import java.io.IOException;
import java.lang.ref.Reference;
import java.net.Socket;
import java.util.List;
import okhttp3.Address;
import okhttp3.Call;
import okhttp3.Connection;
import okhttp3.EventListener;
import okhttp3.Handshake;
import okhttp3.OkHttpClient;
import okhttp3.Protocol;
import okhttp3.Route;
import okhttp3.internal.connection.Exchange;
import okhttp3.internal.connection.RealCall;
import okhttp3.internal.connection.RealConnectionPool;
import okhttp3.internal.http.ExchangeCodec;
import okhttp3.internal.http.RealInterceptorChain;
import okhttp3.internal.http2.Http2Connection;
import okhttp3.internal.http2.Http2Stream;
import okhttp3.internal.http2.Settings;
import okhttp3.internal.ws.RealWebSocket;
public class RealConnection extends Http2Connection.Listener implements Connection
{
protected RealConnection() {}
public Handshake handshake(){ return null; }
public Protocol protocol(){ return null; }
public RealConnection(RealConnectionPool p0, Route p1){}
public Route route(){ return null; }
public Socket socket(){ return null; }
public String toString(){ return null; }
public final ExchangeCodec newCodec$okhttp(OkHttpClient p0, RealInterceptorChain p1){ return null; }
public final List<Reference<RealCall>> getCalls(){ return null; }
public final RealConnectionPool getConnectionPool(){ return null; }
public final RealWebSocket.Streams newWebSocketStreams$okhttp(Exchange p0){ return null; }
public final boolean getNoNewExchanges(){ return false; }
public final boolean isEligible$okhttp(Address p0, List<Route> p1){ return false; }
public final boolean isHealthy(boolean p0){ return false; }
public final boolean isMultiplexed$okhttp(){ return false; }
public final int getRouteFailureCount$okhttp(){ return 0; }
public final long getIdleAtNs$okhttp(){ return 0; }
public final void cancel(){}
public final void connect(int p0, int p1, int p2, int p3, boolean p4, Call p5, EventListener p6){}
public final void connectFailed$okhttp(OkHttpClient p0, Route p1, IOException p2){}
public final void incrementSuccessCount$okhttp(){}
public final void noCoalescedConnections$okhttp(){}
public final void noNewExchanges$okhttp(){}
public final void setIdleAtNs$okhttp(long p0){}
public final void setNoNewExchanges(boolean p0){}
public final void setRouteFailureCount$okhttp(int p0){}
public final void trackFailure$okhttp(RealCall p0, IOException p1){}
public static RealConnection.Companion Companion = null;
public static long IDLE_CONNECTION_HEALTHY_NS = 0;
public void onSettings(Http2Connection p0, Settings p1){}
public void onStream(Http2Stream p0){}
static public class Companion
{
protected Companion() {}
public final RealConnection newTestConnection(RealConnectionPool p0, Route p1, Socket p2, long p3){ return null; }
}
}

View File

@@ -0,0 +1,31 @@
// Generated automatically from okhttp3.internal.connection.RealConnectionPool for testing purposes
package okhttp3.internal.connection;
import java.util.List;
import java.util.concurrent.TimeUnit;
import okhttp3.Address;
import okhttp3.ConnectionPool;
import okhttp3.Route;
import okhttp3.internal.concurrent.TaskRunner;
import okhttp3.internal.connection.RealCall;
import okhttp3.internal.connection.RealConnection;
public class RealConnectionPool
{
protected RealConnectionPool() {}
public RealConnectionPool(TaskRunner p0, int p1, long p2, TimeUnit p3){}
public final boolean callAcquirePooledConnection(Address p0, RealCall p1, List<Route> p2, boolean p3){ return false; }
public final boolean connectionBecameIdle(RealConnection p0){ return false; }
public final int connectionCount(){ return 0; }
public final int idleConnectionCount(){ return 0; }
public final long cleanup(long p0){ return 0; }
public final void evictAll(){}
public final void put(RealConnection p0){}
public static RealConnectionPool.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final RealConnectionPool get(ConnectionPool p0){ return null; }
}
}

View File

@@ -0,0 +1,13 @@
// Generated automatically from okhttp3.internal.connection.RouteDatabase for testing purposes
package okhttp3.internal.connection;
import okhttp3.Route;
public class RouteDatabase
{
public RouteDatabase(){}
public final boolean shouldPostpone(Route p0){ return false; }
public final void connected(Route p0){}
public final void failed(Route p0){}
}

View File

@@ -0,0 +1,31 @@
// Generated automatically from okhttp3.internal.http.ExchangeCodec for testing purposes
package okhttp3.internal.http;
import okhttp3.Headers;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.internal.connection.RealConnection;
import okio.Sink;
import okio.Source;
public interface ExchangeCodec
{
Headers trailers();
RealConnection getConnection();
Response.Builder readResponseHeaders(boolean p0);
Sink createRequestBody(Request p0, long p1);
Source openResponseBodySource(Response p0);
long reportedContentLength(Response p0);
static ExchangeCodec.Companion Companion = null;
static int DISCARD_STREAM_TIMEOUT_MILLIS = 0;
static public class Companion
{
protected Companion() {}
public static int DISCARD_STREAM_TIMEOUT_MILLIS = 0;
}
void cancel();
void finishRequest();
void flushRequest();
void writeRequestHeaders(Request p0);
}

View File

@@ -0,0 +1,36 @@
// Generated automatically from okhttp3.internal.http.RealInterceptorChain for testing purposes
package okhttp3.internal.http;
import java.util.List;
import java.util.concurrent.TimeUnit;
import okhttp3.Call;
import okhttp3.Connection;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.internal.connection.Exchange;
import okhttp3.internal.connection.RealCall;
public class RealInterceptorChain implements Interceptor.Chain
{
protected RealInterceptorChain() {}
public Call call(){ return null; }
public Connection connection(){ return null; }
public Interceptor.Chain withConnectTimeout(int p0, TimeUnit p1){ return null; }
public Interceptor.Chain withReadTimeout(int p0, TimeUnit p1){ return null; }
public Interceptor.Chain withWriteTimeout(int p0, TimeUnit p1){ return null; }
public RealInterceptorChain(RealCall p0, List<? extends Interceptor> p1, int p2, Exchange p3, Request p4, int p5, int p6, int p7){}
public Request request(){ return null; }
public Response proceed(Request p0){ return null; }
public final Exchange getExchange$okhttp(){ return null; }
public final RealCall getCall$okhttp(){ return null; }
public final RealInterceptorChain copy$okhttp(int p0, Exchange p1, Request p2, int p3, int p4, int p5){ return null; }
public final Request getRequest$okhttp(){ return null; }
public final int getConnectTimeoutMillis$okhttp(){ return 0; }
public final int getReadTimeoutMillis$okhttp(){ return 0; }
public final int getWriteTimeoutMillis$okhttp(){ return 0; }
public int connectTimeoutMillis(){ return 0; }
public int readTimeoutMillis(){ return 0; }
public int writeTimeoutMillis(){ return 0; }
}

View File

@@ -0,0 +1,17 @@
// Generated automatically from okhttp3.internal.http2.ErrorCode for testing purposes
package okhttp3.internal.http2;
public enum ErrorCode
{
CANCEL, COMPRESSION_ERROR, CONNECT_ERROR, ENHANCE_YOUR_CALM, FLOW_CONTROL_ERROR, FRAME_SIZE_ERROR, HTTP_1_1_REQUIRED, INADEQUATE_SECURITY, INTERNAL_ERROR, NO_ERROR, PROTOCOL_ERROR, REFUSED_STREAM, SETTINGS_TIMEOUT, STREAM_CLOSED;
private ErrorCode() {}
public final int getHttpCode(){ return 0; }
public static ErrorCode.Companion Companion = null;
static public class Companion
{
protected Companion() {}
public final ErrorCode fromHttp2(int p0){ return null; }
}
}

View File

@@ -0,0 +1,38 @@
// Generated automatically from okhttp3.internal.http2.Header for testing purposes
package okhttp3.internal.http2;
import okio.ByteString;
public class Header
{
protected Header() {}
public Header(ByteString p0, ByteString p1){}
public Header(ByteString p0, String p1){}
public Header(String p0, String p1){}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final ByteString component1(){ return null; }
public final ByteString component2(){ return null; }
public final ByteString name = null;
public final ByteString value = null;
public final Header copy(ByteString p0, ByteString p1){ return null; }
public final int hpackSize = 0;
public int hashCode(){ return 0; }
public static ByteString PSEUDO_PREFIX = null;
public static ByteString RESPONSE_STATUS = null;
public static ByteString TARGET_AUTHORITY = null;
public static ByteString TARGET_METHOD = null;
public static ByteString TARGET_PATH = null;
public static ByteString TARGET_SCHEME = null;
public static Header.Companion Companion = null;
public static String RESPONSE_STATUS_UTF8 = null;
public static String TARGET_AUTHORITY_UTF8 = null;
public static String TARGET_METHOD_UTF8 = null;
public static String TARGET_PATH_UTF8 = null;
public static String TARGET_SCHEME_UTF8 = null;
static public class Companion
{
protected Companion() {}
}
}

View File

@@ -0,0 +1,34 @@
// Generated automatically from okhttp3.internal.http2.Hpack for testing purposes
package okhttp3.internal.http2;
import java.util.List;
import java.util.Map;
import okhttp3.internal.http2.Header;
import okio.Buffer;
import okio.ByteString;
public class Hpack
{
protected Hpack() {}
public final ByteString checkLowercase(ByteString p0){ return null; }
public final Header[] getSTATIC_HEADER_TABLE(){ return null; }
public final Map<ByteString, Integer> getNAME_TO_FIRST_INDEX(){ return null; }
public static Hpack INSTANCE = null;
static public class Writer
{
protected Writer() {}
public Header[] dynamicTable = null;
public Writer(Buffer p0){}
public Writer(int p0, Buffer p1){}
public Writer(int p0, boolean p1, Buffer p2){}
public final void resizeHeaderTable(int p0){}
public final void writeByteString(ByteString p0){}
public final void writeHeaders(List<Header> p0){}
public final void writeInt(int p0, int p1, int p2){}
public int dynamicTableByteCount = 0;
public int headerCount = 0;
public int headerTableSizeSetting = 0;
public int maxDynamicTableByteCount = 0;
}
}

View File

@@ -0,0 +1,153 @@
// Generated automatically from okhttp3.internal.http2.Http2Connection for testing purposes
package okhttp3.internal.http2;
import java.io.Closeable;
import java.io.IOException;
import java.net.Socket;
import java.util.List;
import java.util.Map;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import okhttp3.internal.concurrent.TaskRunner;
import okhttp3.internal.http2.ErrorCode;
import okhttp3.internal.http2.Header;
import okhttp3.internal.http2.Http2Reader;
import okhttp3.internal.http2.Http2Stream;
import okhttp3.internal.http2.Http2Writer;
import okhttp3.internal.http2.PushObserver;
import okhttp3.internal.http2.Settings;
import okio.Buffer;
import okio.BufferedSink;
import okio.BufferedSource;
import okio.ByteString;
public class Http2Connection implements Closeable
{
protected Http2Connection() {}
abstract static public class Listener
{
public Listener(){}
public abstract void onStream(Http2Stream p0);
public static Http2Connection.Listener REFUSE_INCOMING_STREAMS = null;
public static Http2Connection.Listener.Companion Companion = null;
public void onSettings(Http2Connection p0, Settings p1){}
static public class Companion
{
protected Companion() {}
}
}
public Http2Connection(Http2Connection.Builder p0){}
public class ReaderRunnable implements Function0<Void>, Http2Reader.Handler
{
protected ReaderRunnable() {}
public ReaderRunnable(Http2Reader p0){}
public final Http2Reader getReader$okhttp(){ return null; }
public final void applyAndAckSettings(boolean p0, Settings p1){}
public void ackSettings(){}
public void alternateService(int p0, String p1, ByteString p2, String p3, int p4, long p5){}
public void data(boolean p0, int p1, BufferedSource p2, int p3){}
public void goAway(int p0, ErrorCode p1, ByteString p2){}
public void headers(boolean p0, int p1, int p2, List<Header> p3){}
public Void invoke(){ return null; }
public void ping(boolean p0, int p1, int p2){}
public void priority(int p0, int p1, int p2, boolean p3){}
public void pushPromise(int p0, int p1, List<Header> p2){}
public void rstStream(int p0, ErrorCode p1){}
public void settings(boolean p0, Settings p1){}
public void windowUpdate(int p0, long p1){}
}
public final Http2Connection.Listener getListener$okhttp(){ return null; }
public final Http2Connection.ReaderRunnable getReaderRunnable(){ return null; }
public final Http2Stream getStream(int p0){ return null; }
public final Http2Stream newStream(List<Header> p0, boolean p1){ return null; }
public final Http2Stream pushStream(int p0, List<Header> p1, boolean p2){ return null; }
public final Http2Stream removeStream$okhttp(int p0){ return null; }
public final Http2Writer getWriter(){ return null; }
public final Map<Integer, Http2Stream> getStreams$okhttp(){ return null; }
public final Settings getOkHttpSettings(){ return null; }
public final Settings getPeerSettings(){ return null; }
public final Socket getSocket$okhttp(){ return null; }
public final String getConnectionName$okhttp(){ return null; }
public final boolean getClient$okhttp(){ return false; }
public final boolean isHealthy(long p0){ return false; }
public final boolean pushedStream$okhttp(int p0){ return false; }
public final int getLastGoodStreamId$okhttp(){ return 0; }
public final int getNextStreamId$okhttp(){ return 0; }
public final int openStreamCount(){ return 0; }
public final long getReadBytesAcknowledged(){ return 0; }
public final long getReadBytesTotal(){ return 0; }
public final long getWriteBytesMaximum(){ return 0; }
public final long getWriteBytesTotal(){ return 0; }
public final void awaitPong(){}
public final void close$okhttp(ErrorCode p0, ErrorCode p1, IOException p2){}
public final void flush(){}
public final void pushDataLater$okhttp(int p0, BufferedSource p1, int p2, boolean p3){}
public final void pushHeadersLater$okhttp(int p0, List<Header> p1, boolean p2){}
public final void pushRequestLater$okhttp(int p0, List<Header> p1){}
public final void pushResetLater$okhttp(int p0, ErrorCode p1){}
public final void sendDegradedPingLater$okhttp(){}
public final void setLastGoodStreamId$okhttp(int p0){}
public final void setNextStreamId$okhttp(int p0){}
public final void setPeerSettings(Settings p0){}
public final void setSettings(Settings p0){}
public final void shutdown(ErrorCode p0){}
public final void start(){}
public final void start(boolean p0){}
public final void start(boolean p0, TaskRunner p1){}
public final void updateConnectionFlowControl$okhttp(long p0){}
public final void writeData(int p0, boolean p1, Buffer p2, long p3){}
public final void writeHeaders$okhttp(int p0, boolean p1, List<Header> p2){}
public final void writePing(){}
public final void writePing(boolean p0, int p1, int p2){}
public final void writePingAndAwaitPong(){}
public final void writeSynReset$okhttp(int p0, ErrorCode p1){}
public final void writeSynResetLater$okhttp(int p0, ErrorCode p1){}
public final void writeWindowUpdateLater$okhttp(int p0, long p1){}
public static Http2Connection.Companion Companion = null;
public static int AWAIT_PING = 0;
public static int DEGRADED_PING = 0;
public static int DEGRADED_PONG_TIMEOUT_NS = 0;
public static int INTERVAL_PING = 0;
public static int OKHTTP_CLIENT_WINDOW_SIZE = 0;
public void close(){}
static public class Builder
{
protected Builder() {}
public BufferedSink sink = null;
public BufferedSource source = null;
public Builder(boolean p0, TaskRunner p1){}
public Socket socket = null;
public String connectionName = null;
public final BufferedSink getSink$okhttp(){ return null; }
public final BufferedSource getSource$okhttp(){ return null; }
public final Http2Connection build(){ return null; }
public final Http2Connection.Builder listener(Http2Connection.Listener p0){ return null; }
public final Http2Connection.Builder pingIntervalMillis(int p0){ return null; }
public final Http2Connection.Builder pushObserver(PushObserver p0){ return null; }
public final Http2Connection.Builder socket(Socket p0){ return null; }
public final Http2Connection.Builder socket(Socket p0, String p1){ return null; }
public final Http2Connection.Builder socket(Socket p0, String p1, BufferedSource p2){ return null; }
public final Http2Connection.Builder socket(Socket p0, String p1, BufferedSource p2, BufferedSink p3){ return null; }
public final Http2Connection.Listener getListener$okhttp(){ return null; }
public final PushObserver getPushObserver$okhttp(){ return null; }
public final Socket getSocket$okhttp(){ return null; }
public final String getConnectionName$okhttp(){ return null; }
public final TaskRunner getTaskRunner$okhttp(){ return null; }
public final boolean getClient$okhttp(){ return false; }
public final int getPingIntervalMillis$okhttp(){ return 0; }
public final void setClient$okhttp(boolean p0){}
public final void setConnectionName$okhttp(String p0){}
public final void setListener$okhttp(Http2Connection.Listener p0){}
public final void setPingIntervalMillis$okhttp(int p0){}
public final void setPushObserver$okhttp(PushObserver p0){}
public final void setSink$okhttp(BufferedSink p0){}
public final void setSocket$okhttp(Socket p0){}
public final void setSource$okhttp(BufferedSource p0){}
}
static public class Companion
{
protected Companion() {}
public final Settings getDEFAULT_SETTINGS(){ return null; }
}
}

View File

@@ -0,0 +1,42 @@
// Generated automatically from okhttp3.internal.http2.Http2Reader for testing purposes
package okhttp3.internal.http2;
import java.io.Closeable;
import java.util.List;
import java.util.logging.Logger;
import okhttp3.internal.http2.ErrorCode;
import okhttp3.internal.http2.Header;
import okhttp3.internal.http2.Settings;
import okio.BufferedSource;
import okio.ByteString;
public class Http2Reader implements Closeable
{
protected Http2Reader() {}
public Http2Reader(BufferedSource p0, boolean p1){}
public final boolean nextFrame(boolean p0, Http2Reader.Handler p1){ return false; }
public final void readConnectionPreface(Http2Reader.Handler p0){}
public static Http2Reader.Companion Companion = null;
public void close(){}
static public class Companion
{
protected Companion() {}
public final Logger getLogger(){ return null; }
public final int lengthWithoutPadding(int p0, int p1, int p2){ return 0; }
}
static public interface Handler
{
void ackSettings();
void alternateService(int p0, String p1, ByteString p2, String p3, int p4, long p5);
void data(boolean p0, int p1, BufferedSource p2, int p3);
void goAway(int p0, ErrorCode p1, ByteString p2);
void headers(boolean p0, int p1, int p2, List<Header> p3);
void ping(boolean p0, int p1, int p2);
void priority(int p0, int p1, int p2, boolean p3);
void pushPromise(int p0, int p1, List<Header> p2);
void rstStream(int p0, ErrorCode p1);
void settings(boolean p0, Settings p1);
void windowUpdate(int p0, long p1);
}
}

View File

@@ -0,0 +1,104 @@
// Generated automatically from okhttp3.internal.http2.Http2Stream for testing purposes
package okhttp3.internal.http2;
import java.io.IOException;
import java.util.List;
import okhttp3.Headers;
import okhttp3.internal.http2.ErrorCode;
import okhttp3.internal.http2.Header;
import okhttp3.internal.http2.Http2Connection;
import okio.AsyncTimeout;
import okio.Buffer;
import okio.BufferedSource;
import okio.Sink;
import okio.Source;
import okio.Timeout;
public class Http2Stream
{
protected Http2Stream() {}
public Http2Stream(int p0, Http2Connection p1, boolean p2, boolean p3, Headers p4){}
public class FramingSink implements Sink
{
protected FramingSink() {}
public FramingSink(boolean p0){}
public Timeout timeout(){ return null; }
public final Headers getTrailers(){ return null; }
public final boolean getClosed(){ return false; }
public final boolean getFinished(){ return false; }
public final void setClosed(boolean p0){}
public final void setFinished(boolean p0){}
public final void setTrailers(Headers p0){}
public void close(){}
public void flush(){}
public void write(Buffer p0, long p1){}
}
public class FramingSource implements Source
{
protected FramingSource() {}
public FramingSource(long p0, boolean p1){}
public Timeout timeout(){ return null; }
public final Buffer getReadBuffer(){ return null; }
public final Buffer getReceiveBuffer(){ return null; }
public final Headers getTrailers(){ return null; }
public final boolean getClosed$okhttp(){ return false; }
public final boolean getFinished$okhttp(){ return false; }
public final void receive$okhttp(BufferedSource p0, long p1){}
public final void setClosed$okhttp(boolean p0){}
public final void setFinished$okhttp(boolean p0){}
public final void setTrailers(Headers p0){}
public long read(Buffer p0, long p1){ return 0; }
public void close(){}
}
public class StreamTimeout extends AsyncTimeout
{
protected IOException newTimeoutException(IOException p0){ return null; }
protected void timedOut(){}
public StreamTimeout(){}
public final void exitAndThrowIfTimedOut(){}
}
public final ErrorCode getErrorCode$okhttp(){ return null; }
public final Headers takeHeaders(){ return null; }
public final Headers trailers(){ return null; }
public final Http2Connection getConnection(){ return null; }
public final Http2Stream.FramingSink getSink$okhttp(){ return null; }
public final Http2Stream.FramingSource getSource$okhttp(){ return null; }
public final Http2Stream.StreamTimeout getReadTimeout$okhttp(){ return null; }
public final Http2Stream.StreamTimeout getWriteTimeout$okhttp(){ return null; }
public final IOException getErrorException$okhttp(){ return null; }
public final Sink getSink(){ return null; }
public final Source getSource(){ return null; }
public final Timeout readTimeout(){ return null; }
public final Timeout writeTimeout(){ return null; }
public final boolean isLocallyInitiated(){ return false; }
public final boolean isOpen(){ return false; }
public final int getId(){ return 0; }
public final long getReadBytesAcknowledged(){ return 0; }
public final long getReadBytesTotal(){ return 0; }
public final long getWriteBytesMaximum(){ return 0; }
public final long getWriteBytesTotal(){ return 0; }
public final void addBytesToWriteWindow(long p0){}
public final void cancelStreamIfNecessary$okhttp(){}
public final void checkOutNotClosed$okhttp(){}
public final void close(ErrorCode p0, IOException p1){}
public final void closeLater(ErrorCode p0){}
public final void enqueueTrailers(Headers p0){}
public final void receiveData(BufferedSource p0, int p1){}
public final void receiveHeaders(Headers p0, boolean p1){}
public final void receiveRstStream(ErrorCode p0){}
public final void setErrorCode$okhttp(ErrorCode p0){}
public final void setErrorException$okhttp(IOException p0){}
public final void setReadBytesAcknowledged$okhttp(long p0){}
public final void setReadBytesTotal$okhttp(long p0){}
public final void setWriteBytesMaximum$okhttp(long p0){}
public final void setWriteBytesTotal$okhttp(long p0){}
public final void waitForIo$okhttp(){}
public final void writeHeaders(List<Header> p0, boolean p1, boolean p2){}
public static Http2Stream.Companion Companion = null;
public static long EMIT_BUFFER_SIZE = 0;
static public class Companion
{
protected Companion() {}
}
}

View File

@@ -0,0 +1,39 @@
// Generated automatically from okhttp3.internal.http2.Http2Writer for testing purposes
package okhttp3.internal.http2;
import java.io.Closeable;
import java.util.List;
import okhttp3.internal.http2.ErrorCode;
import okhttp3.internal.http2.Header;
import okhttp3.internal.http2.Hpack;
import okhttp3.internal.http2.Settings;
import okio.Buffer;
import okio.BufferedSink;
public class Http2Writer implements Closeable
{
protected Http2Writer() {}
public Http2Writer(BufferedSink p0, boolean p1){}
public final Hpack.Writer getHpackWriter(){ return null; }
public final int maxDataLength(){ return 0; }
public final void applyAndAckSettings(Settings p0){}
public final void connectionPreface(){}
public final void data(boolean p0, int p1, Buffer p2, int p3){}
public final void dataFrame(int p0, int p1, Buffer p2, int p3){}
public final void flush(){}
public final void frameHeader(int p0, int p1, int p2, int p3){}
public final void goAway(int p0, ErrorCode p1, byte[] p2){}
public final void headers(boolean p0, int p1, List<Header> p2){}
public final void ping(boolean p0, int p1, int p2){}
public final void pushPromise(int p0, int p1, List<Header> p2){}
public final void rstStream(int p0, ErrorCode p1){}
public final void settings(Settings p0){}
public final void windowUpdate(int p0, long p1){}
public static Http2Writer.Companion Companion = null;
public void close(){}
static public class Companion
{
protected Companion() {}
}
}

View File

@@ -0,0 +1,22 @@
// Generated automatically from okhttp3.internal.http2.PushObserver for testing purposes
package okhttp3.internal.http2;
import java.util.List;
import okhttp3.internal.http2.ErrorCode;
import okhttp3.internal.http2.Header;
import okio.BufferedSource;
public interface PushObserver
{
boolean onData(int p0, BufferedSource p1, int p2, boolean p3);
boolean onHeaders(int p0, List<Header> p1, boolean p2);
boolean onRequest(int p0, List<Header> p1);
static PushObserver CANCEL = null;
static PushObserver.Companion Companion = null;
static public class Companion
{
protected Companion() {}
}
void onReset(int p0, ErrorCode p1);
}

View File

@@ -0,0 +1,34 @@
// Generated automatically from okhttp3.internal.http2.Settings for testing purposes
package okhttp3.internal.http2;
public class Settings
{
public Settings(){}
public final Settings set(int p0, int p1){ return null; }
public final boolean getEnablePush(boolean p0){ return false; }
public final boolean isSet(int p0){ return false; }
public final int get(int p0){ return 0; }
public final int getHeaderTableSize(){ return 0; }
public final int getInitialWindowSize(){ return 0; }
public final int getMaxConcurrentStreams(){ return 0; }
public final int getMaxFrameSize(int p0){ return 0; }
public final int getMaxHeaderListSize(int p0){ return 0; }
public final int size(){ return 0; }
public final void clear(){}
public final void merge(Settings p0){}
public static Settings.Companion Companion = null;
public static int COUNT = 0;
public static int DEFAULT_INITIAL_WINDOW_SIZE = 0;
public static int ENABLE_PUSH = 0;
public static int HEADER_TABLE_SIZE = 0;
public static int INITIAL_WINDOW_SIZE = 0;
public static int MAX_CONCURRENT_STREAMS = 0;
public static int MAX_FRAME_SIZE = 0;
public static int MAX_HEADER_LIST_SIZE = 0;
static public class Companion
{
protected Companion() {}
}
}

Some files were not shown because too many files have changed in this diff Show More