commit de49c475c9c9991c2a000391ac54a81f7a78e608
Author: catvod <>
Date: Tue Sep 21 16:01:08 2021 +0800
init
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..aa724b7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..3474274
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+CatVodSpider
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..440480e
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..0620071
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..860da66
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d7018e0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,178 @@
+# 猫影视TV客户端爬虫自定义接口工程
+
+```
+思维没有边界 一切皆有可能
+```
+
+本工程最终食用需配合 猫影视TV新版(一下简称为软件) **v2.0.0**及以上版本
+
+![logo](app\src\main\res\drawable-xhdpi\app_icon.png)
+
+## 快速开始
+----
+本工程是一个完整的AndroidStudio工程,请你用AS打开编辑。
+
+工程调试完毕后要需要导出生成jar文件配合软件使用,执行根目录下的 `buildAndGenJar.bat` 会在同目录生成一个名为`custom_spider.jar`的jar文件,这个文件就是我们最终要是用的代码包。
+
+### 代码包食用方式
+----
+本地加载:将`custom_spider.jar`放入设备sd卡根目录即可
+
+远程加载:将`custom_spider.jar`上传到你的网络空间,获取对应的文件下载地址,在软件自定义配置的json文件中加入下面格式的键值对。
+```json
+"spider": "http://xxx.xxx.xxx/custom_spider.jar"
+```
+
+### 如何在自定义配置中调用我们代码包中的Spider
+----
+同样在自定义json中加入相应的播放源即可,**type=3, api对应你代码工程中自定义的爬虫类名,例如实例工程中的`Aidi`**
+```json
+{
+ "key": "adys_diy",
+ "name": "爱迪",
+ "type": 3,
+ "api": "Aidi",
+ "searchable": 1,
+ "quickSearch": 0,
+ "filterable": 1
+}
+```
+
+## 基础类
+----
+
+> com.github.catvod.crawler.Spider 爬虫基类
+
+> com.github.catvod.crawler.SpiderReq 用于发起网络请求 获取网络数据
+
+> com.github.catvod.crawler.SpiderReqResult 网络请求结果
+
+> com.github.catvod.crawler.SpiderUrl 用于定义一个网络请求
+
+
+## 示例
+----
+
+请查看 仓库中的爱迪影视 相关实现 ,调试可参考 `com.github.catvod.demo.MainActivity` ,直接调用对应爬虫相关接口
+
+> com.github.catvod.spider.Aidi
+
+## 注意事项!!
+----
+1. 除了`com.github.catvod.spider`包以外的代码,最终都会被软件本身内置的代码代替掉,所以,建议你不要修改除`com.github.catvod.spider`包以外的代码。
+
+2. 不要在`Spider`中使用`Gson`
+
+3. 待补充
+
+## 爬虫类返回的相关Json字符串格式说明
+----
+### homeContent
+```json
+{
+ "class": [{ // 分类
+ "type_id": "dianying", // 分类id
+ "type_name": "电影" // 分类名
+ }, {
+ "type_id": "lianxuju",
+ "type_name": "连续剧"
+ }],
+ "filters": { // 筛选
+ "dianying": [{ // 分类id 就是上面class中的分类id
+ "key": "0", // 筛选key
+ "name": "分类", // 筛选名称
+ "value": [{ // 筛选选项
+ "n": "全部", // 选项展示的名称
+ "v": "dianying" // 选项最终在url中的展现
+ }, {
+ "n": "动作片",
+ "v": "dongzuopian"
+ }]
+ }],
+ "lianxuju": [{
+ "key": 0,
+ "name": "分类",
+ "value": [{
+ "n": "全部",
+ "v": "lianxuju"
+ }, {
+ "n": "国产剧",
+ "v": "guochanju"
+ }, {
+ "n": "港台剧",
+ "v": "gangtaiju"
+ }]
+ }]
+ },
+ "list": [{ // 首页最近更新视频列表
+ "vod_id": "1901", // 视频id
+ "vod_name": "判决", // 视频名
+ "vod_pic": "https:\/\/pic.imgdb.cn\/item\/614631e62ab3f51d918e9201.jpg", // 展示图片
+ "vod_remarks": "6.8" // 视频信息 展示在 视频名上方
+ }, {
+ "vod_id": "1908",
+ "vod_name": "移山的父亲",
+ "vod_pic": "https:\/\/pic.imgdb.cn\/item\/6146fab82ab3f51d91c01af1.jpg",
+ "vod_remarks": "6.7"
+ }]
+}
+```
+
+### categoryContent
+```json
+{
+ "page": 1, // 当前页
+ "pagecount": 2, // 总共几页
+ "limit": 60, // 每页几条数据
+ "total": 120, // 总共多少调数据
+ "list": [{ // 视频列表 下面的视频结构 同上面homeContent中的
+ "vod_id": "1897",
+ "vod_name": "北区侦缉队",
+ "vod_pic": "https:\/\/pic.imgdb.cn\/item\/6145d4b22ab3f51d91bd98b6.jpg",
+ "vod_remarks": "7.3"
+ }, {
+ "vod_id": "1879",
+ "vod_name": "浪客剑心 最终章 人诛篇",
+ "vod_pic": "https:\/\/pic.imgdb.cn\/item\/60e3f37e5132923bf82ef95e.jpg",
+ "vod_remarks": "8.0"
+ }]
+}
+```
+
+### detailContent
+```json
+{
+ "list": [{
+ "vod_id": "1902",
+ "vod_name": "海岸村恰恰恰",
+ "vod_pic": "https:\/\/pic.imgdb.cn\/item\/61463fd12ab3f51d91a0f44d.jpg",
+ "type_name": "剧情",
+ "vod_year": "2021",
+ "vod_area": "韩国",
+ "vod_remarks": "更新至第8集",
+ "vod_actor": "申敏儿,金宣虎,李相二,孔敏晶,徐尚沅,禹美华,朴艺荣,李世亨,边胜泰,金贤佑,金英玉",
+ "vod_director": "柳济元",
+ "vod_content": "海岸村恰恰恰剧情: 韩剧海岸村恰恰恰 갯마을 차차차改编自2004年的电影《我的百事通男友洪班长》,海岸村恰恰恰 갯마을 차차차讲述来自大都市的牙医(申敏儿 饰)到充满人情味的海岸村开设牙医诊所,那里住着一位各方面都",
+ // 播放源 多个用$$$分隔
+ "vod_play_from": "qiepian$$$yun3edu",
+ // 播放列表 注意分隔符 分别是 多个源$$$分隔,源中的剧集用#分隔,剧集的名称和地址用$分隔
+ "vod_play_url": "第1集$1902-1-1#第2集$1902-1-2#第3集$1902-1-3#第4集$1902-1-4#第5集$1902-1-5#第6集$1902-1-6#第7集$1902-1-7#第8集$1902-1-8$$$第1集$1902-2-1#第2集$1902-2-2#第3集$1902-2-3#第4集$1902-2-4#第5集$1902-2-5#第6集$1902-2-6#第7集$1902-2-7#第8集$1902-2-8"
+ }]
+}
+```
+
+### searchContent
+```json
+{
+ "list": [{ // 视频列表 下面的视频结构 同上面homeContent中的
+ "vod_id": "1606",
+ "vod_name": "陪你一起长大",
+ "vod_pic": "https:\/\/img.aidi.tv\/img\/upload\/vod\/20210417-1\/e27d4eb86f7cde375171dd324b2c19ae.jpg",
+ "vod_remarks": "更新至第37集"
+ }]
+}
+```
+
+
+
+
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..7323c71
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,46 @@
+plugins {
+ id 'com.android.application'
+ id 'ru.cleverpumpkin.proguard-dictionaries-generator'
+}
+
+android {
+ compileSdkVersion rootProject.compileSdkVersion
+
+ defaultConfig {
+ applicationId "com.github.catvod.demo"
+ minSdkVersion rootProject.miniSdkVersion
+ targetSdkVersion rootProject.targetSdkVersion
+ versionCode rootProject.appVersionCode
+ versionName rootProject.appVersionName
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled true
+ proguardFiles 'proguard-rules.pro'
+ proguardDictionaries {
+ dictionaryNames = [
+ "build/class-dictionary",
+ "build/package-dictionary",
+ "build/obfuscation-dictionary"
+ ]
+ minLineLength 1
+ maxLineLength 3
+ linesCountInDictionary 100000
+ }
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ implementation "org.jsoup:jsoup:$jsoup_version"
+ implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
+ implementation ("com.github.liujingxing.rxhttp:rxhttp:$rxhttp_version") {
+ exclude group: "com.squareup.okhttp3"
+ }
+ annotationProcessor "com.github.liujingxing.rxhttp:rxhttp-compiler:$rxhttp_version"
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..2b27a4b
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,41 @@
+-optimizationpasses 0
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontskipnonpubliclibraryclassmembers
+-dontpreverify
+-dontoptimize
+-verbose
+-printmapping proguardMapping.txt
+-optimizations !code/simplification/cast,!field/*,!class/merging/*
+-keepattributes *Annotation*,InnerClasses
+-keepattributes EnclosingMethod, InnerClasses
+-keepattributes *Annotation*
+-keepattributes Signature
+-keepattributes LineNumberTable
+-renamesourcefileattribute SourceFile
+
+-obfuscationdictionary build/obfuscation-dictionary.txt
+-classobfuscationdictionary build/class-dictionary.txt
+-packageobfuscationdictionary build/package-dictionary.txt
+
+-flattenpackagehierarchy com.github.catvod.spider.merge
+-repackageclasses com.github.catvod.spider.merge
+
+-dontwarn okio.**
+-keep class okio.**{*;}
+-dontwarn com.squareup.okhttp.**
+-dontwarn okhttp3.**
+-keep class okhttp3.**{*;}
+-dontwarn com.google.**
+-keep class com.google.**{*;}
+-dontwarn com.android.**
+-keep class com.android.**{*;}
+-dontwarn rxhttp.**
+-keep class rxhttp.**{*;}
+-dontwarn kotlin.**
+-keep class kotlin.**{*;}
+-dontwarn kotlinx.**
+-keep class kotlinx.**{*;}
+
+-keep class com.github.catvod.crawler.* { *; }
+-keep class com.github.catvod.spider.* { *; }
diff --git a/app/proguardMapping.txt b/app/proguardMapping.txt
new file mode 100644
index 0000000..06c1c36
--- /dev/null
+++ b/app/proguardMapping.txt
@@ -0,0 +1,32392 @@
+# compiler: R8
+# compiler_version: 2.2.66
+# min_api: 16
+# pg_map_id: 0d87671
+# common_typos_disable
+com.github.catvod.crawler.Spider -> com.github.catvod.crawler.Spider:
+ 1:1:void ():12:12 ->
+ 1:1:void ():10:10 ->
+com.github.catvod.crawler.SpiderDebug -> com.github.catvod.crawler.SpiderDebug:
+ 1:1:void ():3:3 ->
+ 1:1:void log(java.lang.Throwable):6:6 -> log
+ 2:2:void log(java.lang.String):14:14 -> log
+com.github.catvod.crawler.SpiderReq -> com.github.catvod.crawler.SpiderReq:
+ 1:1:void ():22:22 ->
+ 1:1:void ():18:18 ->
+ 1:1:void cancel(java.lang.String):40:40 -> cancel
+ 2:2:void cancel(java.lang.String):42:42 -> cancel
+ 1:1:com.github.catvod.crawler.SpiderReqResult get(com.github.catvod.crawler.SpiderUrl):53:53 -> get
+ 2:2:com.github.catvod.crawler.SpiderReqResult get(com.github.catvod.crawler.SpiderUrl,java.lang.String):64:64 -> get
+ 3:3:com.github.catvod.crawler.SpiderReqResult get(okhttp3.OkHttpClient,com.github.catvod.crawler.SpiderUrl):75:75 -> get
+ 4:4:com.github.catvod.crawler.SpiderReqResult get(okhttp3.OkHttpClient,com.github.catvod.crawler.SpiderUrl,java.lang.String):88:88 -> get
+ 5:9:com.github.catvod.crawler.SpiderReqResult get(okhttp3.OkHttpClient,java.lang.String,java.lang.String,java.util.HashMap):102:106 -> get
+ 10:10:com.github.catvod.crawler.SpiderReqResult get(okhttp3.OkHttpClient,java.lang.String,java.lang.String,java.util.HashMap):118:118 -> get
+ 11:11:com.github.catvod.crawler.SpiderReqResult get(okhttp3.OkHttpClient,java.lang.String,java.lang.String,java.util.HashMap):120:120 -> get
+ 1:1:com.github.catvod.crawler.SpiderReqResult header(java.lang.String,java.util.HashMap):131:131 -> header
+ 2:6:com.github.catvod.crawler.SpiderReqResult header(okhttp3.OkHttpClient,java.lang.String,java.lang.String,java.util.HashMap):145:149 -> header
+ 7:7:com.github.catvod.crawler.SpiderReqResult header(okhttp3.OkHttpClient,java.lang.String,java.lang.String,java.util.HashMap):157:157 -> header
+ 8:8:com.github.catvod.crawler.SpiderReqResult header(okhttp3.OkHttpClient,java.lang.String,java.lang.String,java.util.HashMap):159:159 -> header
+ 1:6:okhttp3.OkHttpClient initDefaultClient():25:30 -> initDefaultClient
+ 1:1:com.github.catvod.crawler.SpiderReqResult postBody(java.lang.String,okhttp3.RequestBody,java.util.HashMap):171:171 -> postBody
+ 2:7:com.github.catvod.crawler.SpiderReqResult postBody(okhttp3.OkHttpClient,java.lang.String,okhttp3.RequestBody,java.lang.String,java.util.HashMap):186:191 -> postBody
+ 8:8:com.github.catvod.crawler.SpiderReqResult postBody(okhttp3.OkHttpClient,java.lang.String,okhttp3.RequestBody,java.lang.String,java.util.HashMap):203:203 -> postBody
+ 9:9:com.github.catvod.crawler.SpiderReqResult postBody(okhttp3.OkHttpClient,java.lang.String,okhttp3.RequestBody,java.lang.String,java.util.HashMap):205:205 -> postBody
+ 1:1:com.github.catvod.crawler.SpiderReqResult postForm(java.lang.String,java.util.HashMap,java.util.HashMap):217:217 -> postForm
+ 2:7:com.github.catvod.crawler.SpiderReqResult postForm(okhttp3.OkHttpClient,java.lang.String,java.util.HashMap,java.lang.String,java.util.HashMap):232:237 -> postForm
+ 8:8:com.github.catvod.crawler.SpiderReqResult postForm(okhttp3.OkHttpClient,java.lang.String,java.util.HashMap,java.lang.String,java.util.HashMap):249:249 -> postForm
+ 9:9:com.github.catvod.crawler.SpiderReqResult postForm(okhttp3.OkHttpClient,java.lang.String,java.util.HashMap,java.lang.String,java.util.HashMap):251:251 -> postForm
+ 1:1:com.github.catvod.crawler.SpiderReqResult postJson(java.lang.String,java.util.HashMap,java.util.HashMap):263:263 -> postJson
+ 2:7:com.github.catvod.crawler.SpiderReqResult postJson(okhttp3.OkHttpClient,java.lang.String,java.util.HashMap,java.lang.String,java.util.HashMap):278:283 -> postJson
+ 8:8:com.github.catvod.crawler.SpiderReqResult postJson(okhttp3.OkHttpClient,java.lang.String,java.util.HashMap,java.lang.String,java.util.HashMap):295:295 -> postJson
+ 9:9:com.github.catvod.crawler.SpiderReqResult postJson(okhttp3.OkHttpClient,java.lang.String,java.util.HashMap,java.lang.String,java.util.HashMap):297:297 -> postJson
+com.github.catvod.crawler.SpiderReq$1 -> com.github.catvod.crawler.SpiderReq$1:
+ 1:1:void ():106:106 ->
+ 1:1:java.lang.Object onParse(okhttp3.Response):106:106 -> onParse
+ 2:3:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):110:111 -> onParse
+ 4:5:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):113:114 -> onParse
+com.github.catvod.crawler.SpiderReq$2 -> com.github.catvod.crawler.SpiderReq$2:
+ 1:1:void ():149:149 ->
+ 1:1:java.lang.Object onParse(okhttp3.Response):149:149 -> onParse
+ 2:3:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):152:153 -> onParse
+com.github.catvod.crawler.SpiderReq$3 -> com.github.catvod.crawler.SpiderReq$3:
+ 1:1:void ():191:191 ->
+ 1:1:java.lang.Object onParse(okhttp3.Response):191:191 -> onParse
+ 2:3:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):195:196 -> onParse
+ 4:5:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):198:199 -> onParse
+com.github.catvod.crawler.SpiderReq$4 -> com.github.catvod.crawler.SpiderReq$4:
+ 1:1:void ():237:237 ->
+ 1:1:java.lang.Object onParse(okhttp3.Response):237:237 -> onParse
+ 2:3:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):241:242 -> onParse
+ 4:5:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):244:245 -> onParse
+com.github.catvod.crawler.SpiderReq$5 -> com.github.catvod.crawler.SpiderReq$5:
+ 1:1:void ():283:283 ->
+ 1:1:java.lang.Object onParse(okhttp3.Response):283:283 -> onParse
+ 2:3:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):287:288 -> onParse
+ 4:5:com.github.catvod.crawler.SpiderReqResult onParse(okhttp3.Response):290:291 -> onParse
+com.github.catvod.crawler.SpiderReqResult -> com.github.catvod.crawler.SpiderReqResult:
+ 1:1:void ():13:13 ->
+ 1:3:void (java.util.Map,java.lang.String):8:10 ->
+com.github.catvod.crawler.SpiderUrl -> com.github.catvod.crawler.SpiderUrl:
+ 1:1:void ():7:7 ->
+ 1:1:void ():12:12 ->
+ 2:3:void ():9:10 ->
+ 4:4:void (java.lang.String,java.util.HashMap):15:15 ->
+ 5:6:void (java.lang.String,java.util.HashMap):9:10 ->
+ 7:7:void (java.lang.String,java.util.HashMap):16:16 ->
+ 8:8:void (java.lang.String,java.util.HashMap):18:18 ->
+com.github.catvod.demo.MainActivity -> com.github.catvod.demo.MainActivity:
+ 1:1:void ():12:12 ->
+ 1:1:void onCreate(android.os.Bundle):16:16 -> onCreate
+ 2:2:void onCreate(android.os.Bundle):18:18 -> onCreate
+ 3:3:void onCreate(android.os.Bundle):32:32 -> onCreate
+com.github.catvod.demo.MainActivity$1 -> com.github.catvod.demo.MainActivity$bl:
+ com.github.catvod.demo.MainActivity this$0 -> X
+ 1:1:void (com.github.catvod.demo.MainActivity):18:18 ->
+ 1:10:void run():21:30 -> run
+com.github.catvod.spider.Aidi -> com.github.catvod.spider.Aidi:
+ 1:1:void ():31:31 ->
+ 2:5:void ():44:47 ->
+ 1:1:org.json.JSONObject access$000(com.github.catvod.spider.Aidi):31:31 -> access$000
+ 1:5:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):167:171 -> categoryContent
+ 6:7:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):175:176 -> categoryContent
+ 8:11:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):178:181 -> categoryContent
+ 12:14:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):186:188 -> categoryContent
+ 15:17:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):191:193 -> categoryContent
+ 18:22:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):196:200 -> categoryContent
+ 23:26:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):205:208 -> categoryContent
+ 27:28:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):217:218 -> categoryContent
+ 29:36:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):220:227 -> categoryContent
+ 37:43:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):229:235 -> categoryContent
+ 44:47:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):238:241 -> categoryContent
+ 48:49:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):243:244 -> categoryContent
+ 50:50:java.lang.String categoryContent(java.lang.String,java.lang.String,boolean,java.util.HashMap):246:246 -> categoryContent
+ 1:6:java.lang.String detailContent(java.util.List):261:266 -> detailContent
+ 7:9:java.lang.String detailContent(java.util.List):269:271 -> detailContent
+ 10:26:java.lang.String detailContent(java.util.List):273:289 -> detailContent
+ 27:32:java.lang.String detailContent(java.util.List):291:296 -> detailContent
+ 33:33:java.lang.String detailContent(java.util.List):298:298 -> detailContent
+ 34:43:java.lang.String detailContent(java.util.List):302:311 -> detailContent
+ 44:44:java.lang.String detailContent(java.util.List):313:313 -> detailContent
+ 45:46:java.lang.String detailContent(java.util.List):332:333 -> detailContent
+ 47:49:java.lang.String detailContent(java.util.List):335:337 -> detailContent
+ 50:52:java.lang.String detailContent(java.util.List):339:341 -> detailContent
+ 53:54:java.lang.String detailContent(java.util.List):350:351 -> detailContent
+ 55:58:java.lang.String detailContent(java.util.List):353:356 -> detailContent
+ 59:60:java.lang.String detailContent(java.util.List):358:359 -> detailContent
+ 61:62:java.lang.String detailContent(java.util.List):361:362 -> detailContent
+ 63:63:java.lang.String detailContent(java.util.List):364:364 -> detailContent
+ 64:64:java.lang.String detailContent(java.util.List):367:367 -> detailContent
+ 65:69:java.lang.String detailContent(java.util.List):370:374 -> detailContent
+ 70:73:java.lang.String detailContent(java.util.List):376:379 -> detailContent
+ 74:74:java.lang.String detailContent(java.util.List):381:381 -> detailContent
+ 1:8:java.util.HashMap getHeaders(java.lang.String):67:74 -> getHeaders
+ 1:3:java.lang.String homeContent(boolean):87:89 -> homeContent
+ 4:8:java.lang.String homeContent(boolean):91:95 -> homeContent
+ 9:13:java.lang.String homeContent(boolean):98:102 -> homeContent
+ 14:15:java.lang.String homeContent(boolean):104:105 -> homeContent
+ 16:20:java.lang.String homeContent(boolean):108:112 -> homeContent
+ 21:21:java.lang.String homeContent(boolean):115:115 -> homeContent
+ 22:22:java.lang.String homeContent(boolean):117:117 -> homeContent
+ 23:23:java.lang.String homeContent(boolean):119:119 -> homeContent
+ 24:33:java.lang.String homeContent(boolean):122:131 -> homeContent
+ 34:40:java.lang.String homeContent(boolean):133:139 -> homeContent
+ 41:41:java.lang.String homeContent(boolean):141:141 -> homeContent
+ 42:42:java.lang.String homeContent(boolean):143:143 -> homeContent
+ 43:43:java.lang.String homeContent(boolean):145:145 -> homeContent
+ 44:44:java.lang.String homeContent(boolean):147:147 -> homeContent
+ 1:1:void init(android.content.Context):51:51 -> init
+ 2:3:void init(android.content.Context):53:54 -> init
+ 4:4:void init(android.content.Context):56:56 -> init
+ 1:21:java.lang.String playerContent(java.lang.String,java.lang.String,java.util.List):398:418 -> playerContent
+ 22:22:java.lang.String playerContent(java.lang.String,java.lang.String,java.util.List):423:423 -> playerContent
+ 23:23:java.lang.String playerContent(java.lang.String,java.lang.String,java.util.List):425:425 -> playerContent
+ 1:5:java.lang.String searchContent(java.lang.String,boolean):442:446 -> searchContent
+ 6:14:java.lang.String searchContent(java.lang.String,boolean):448:456 -> searchContent
+ 15:21:java.lang.String searchContent(java.lang.String,boolean):458:464 -> searchContent
+ 22:23:java.lang.String searchContent(java.lang.String,boolean):467:468 -> searchContent
+ 24:24:java.lang.String searchContent(java.lang.String,boolean):470:470 -> searchContent
+com.github.catvod.spider.Aidi$1 -> com.github.catvod.spider.Aidi$1:
+ 1:1:void (com.github.catvod.spider.Aidi):313:313 ->
+ 1:1:int compare(java.lang.Object,java.lang.Object):313:313 -> compare
+ 2:3:int compare(java.lang.String,java.lang.String):317:318 -> compare
+ 4:4:int compare(java.lang.String,java.lang.String):325:325 -> compare
+com.github.catvod.spider.Init -> com.github.catvod.spider.Init:
+ 1:1:void ():7:7 ->
+ 1:1:void init(android.content.Context):9:9 -> init
+com.google.gson.DefaultDateTypeAdapter -> com.google.gson.DefaultDateTypeAdapter:
+ 1:1:void (java.lang.Class):56:56 ->
+ 2:2:void (java.lang.Class):54:54 ->
+ 3:6:void (java.lang.Class):57:60 ->
+ 7:8:void (java.lang.Class):62:63 ->
+ 9:9:void (java.lang.Class,java.lang.String):67:67 ->
+ 10:10:void (java.lang.Class,java.lang.String):54:54 ->
+ 11:14:void (java.lang.Class,java.lang.String):68:71 ->
+ 15:15:void (java.lang.Class,int):75:75 ->
+ 16:16:void (java.lang.Class,int):54:54 ->
+ 17:20:void (java.lang.Class,int):76:79 ->
+ 21:22:void (java.lang.Class,int):81:82 ->
+ 23:23:void (int,int):87:87 ->
+ 24:24:void (java.lang.Class,int,int):90:90 ->
+ 25:25:void (java.lang.Class,int,int):54:54 ->
+ 26:29:void (java.lang.Class,int,int):91:94 ->
+ 30:31:void (java.lang.Class,int,int):96:97 ->
+ 1:2:java.util.Date deserializeToDate(java.lang.String):142:143 -> deserializeToDate
+ 3:3:java.util.Date deserializeToDate(java.lang.String):145:145 -> deserializeToDate
+ 4:4:java.util.Date deserializeToDate(java.lang.String):149:149 -> deserializeToDate
+ 5:5:java.util.Date deserializeToDate(java.lang.String):151:151 -> deserializeToDate
+ 6:6:java.util.Date deserializeToDate(java.lang.String):153:153 -> deserializeToDate
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):44:44 -> read
+ 2:3:java.util.Date read(com.google.gson.stream.JsonReader):124:125 -> read
+ 4:5:java.util.Date read(com.google.gson.stream.JsonReader):128:129 -> read
+ 6:9:java.util.Date read(com.google.gson.stream.JsonReader):131:134 -> read
+ 10:10:java.util.Date read(com.google.gson.stream.JsonReader):137:137 -> read
+ 1:3:java.lang.String toString():158:160 -> toString
+ 4:4:java.lang.String toString():162:162 -> toString
+ 1:2:java.lang.Class verifyDateType(java.lang.Class):102:103 -> verifyDateType
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):44:44 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.util.Date):113:113 -> write
+ 3:6:void write(com.google.gson.stream.JsonWriter,java.util.Date):116:119 -> write
+com.google.gson.FieldAttributes -> com.google.gson.FieldAttributes:
+ 1:3:void (java.lang.reflect.Field):44:46 ->
+ 1:1:java.lang.Object get(java.lang.Object):150:150 -> get
+ 1:1:java.lang.annotation.Annotation getAnnotation(java.lang.Class):111:111 -> getAnnotation
+ 1:1:java.util.Collection getAnnotations():121:121 -> getAnnotations
+ 1:1:java.lang.Class getDeclaredClass():100:100 -> getDeclaredClass
+ 1:1:java.lang.reflect.Type getDeclaredType():80:80 -> getDeclaredType
+ 1:1:java.lang.Class getDeclaringClass():53:53 -> getDeclaringClass
+ 1:1:java.lang.String getName():60:60 -> getName
+ 1:1:boolean hasModifier(int):135:135 -> hasModifier
+ 1:1:boolean isSynthetic():159:159 -> isSynthetic
+com.google.gson.FieldNamingPolicy -> com.google.gson.FieldNamingPolicy:
+ 1:1:void ():37:37 ->
+ 2:2:void ():53:53 ->
+ 3:3:void ():72:72 ->
+ 4:4:void ():90:90 ->
+ 5:5:void ():113:113 ->
+ 6:6:void ():136:136 ->
+ 7:7:void ():31:31 ->
+ 1:1:void (java.lang.String,int):31:31 ->
+ 2:2:void (java.lang.String,int,com.google.gson.FieldNamingPolicy$1):31:31 ->
+ 1:5:java.lang.String separateCamelCase(java.lang.String,java.lang.String):147:151 -> separateCamelCase
+ 6:6:java.lang.String separateCamelCase(java.lang.String,java.lang.String):153:153 -> separateCamelCase
+ 7:7:java.lang.String separateCamelCase(java.lang.String,java.lang.String):155:155 -> separateCamelCase
+ 1:2:java.lang.String upperCaseFirstLetter(java.lang.String):163:164 -> upperCaseFirstLetter
+ 3:4:java.lang.String upperCaseFirstLetter(java.lang.String):166:167 -> upperCaseFirstLetter
+ 5:5:java.lang.String upperCaseFirstLetter(java.lang.String):171:171 -> upperCaseFirstLetter
+ 6:6:java.lang.String upperCaseFirstLetter(java.lang.String):173:173 -> upperCaseFirstLetter
+ 7:7:java.lang.String upperCaseFirstLetter(java.lang.String):176:176 -> upperCaseFirstLetter
+ 1:1:com.google.gson.FieldNamingPolicy valueOf(java.lang.String):31:31 -> valueOf
+ 1:1:com.google.gson.FieldNamingPolicy[] values():31:31 -> values
+com.google.gson.FieldNamingPolicy$1 -> com.google.gson.FieldNamingPolicy$1:
+ 1:1:void (java.lang.String,int):37:37 ->
+ 1:1:java.lang.String translateName(java.lang.reflect.Field):39:39 -> translateName
+com.google.gson.FieldNamingPolicy$2 -> com.google.gson.FieldNamingPolicy$2:
+ 1:1:void (java.lang.String,int):53:53 ->
+ 1:1:java.lang.String translateName(java.lang.reflect.Field):55:55 -> translateName
+com.google.gson.FieldNamingPolicy$3 -> com.google.gson.FieldNamingPolicy$3:
+ 1:1:void (java.lang.String,int):72:72 ->
+ 1:1:java.lang.String translateName(java.lang.reflect.Field):74:74 -> translateName
+com.google.gson.FieldNamingPolicy$4 -> com.google.gson.FieldNamingPolicy$4:
+ 1:1:void (java.lang.String,int):90:90 ->
+ 1:1:java.lang.String translateName(java.lang.reflect.Field):92:92 -> translateName
+com.google.gson.FieldNamingPolicy$5 -> com.google.gson.FieldNamingPolicy$5:
+ 1:1:void (java.lang.String,int):113:113 ->
+ 1:1:java.lang.String translateName(java.lang.reflect.Field):115:115 -> translateName
+com.google.gson.FieldNamingPolicy$6 -> com.google.gson.FieldNamingPolicy$6:
+ 1:1:void (java.lang.String,int):136:136 ->
+ 1:1:java.lang.String translateName(java.lang.reflect.Field):138:138 -> translateName
+com.google.gson.Gson -> com.google.gson.Gson:
+ 1:1:void ():114:114 ->
+ 1:2:void ():186:187 ->
+ 3:4:void ():191:192 ->
+ 5:5:void ():186:186 ->
+ 6:6:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):202:202 ->
+ 7:7:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):124:124 ->
+ 8:8:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):127:127 ->
+ 9:25:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):203:219 ->
+ 26:26:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):221:221 ->
+ 27:28:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):224:225 ->
+ 29:29:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):228:228 ->
+ 30:30:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):231:231 ->
+ 31:39:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):234:242 ->
+ 40:40:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):241:241 ->
+ 41:43:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):243:243 ->
+ 44:68:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):245:269 ->
+ 69:74:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):272:277 ->
+ 75:75:void (com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List):280:280 ->
+ 1:2:void assertFullConsumption(java.lang.Object,com.google.gson.stream.JsonReader):904:905 -> assertFullConsumption
+ 3:3:void assertFullConsumption(java.lang.Object,com.google.gson.stream.JsonReader):910:910 -> assertFullConsumption
+ 4:4:void assertFullConsumption(java.lang.Object,com.google.gson.stream.JsonReader):908:908 -> assertFullConsumption
+ 1:1:com.google.gson.TypeAdapter atomicLongAdapter(com.google.gson.TypeAdapter):388:388 -> atomicLongAdapter
+ 2:2:com.google.gson.TypeAdapter atomicLongAdapter(com.google.gson.TypeAdapter):396:396 -> atomicLongAdapter
+ 1:1:com.google.gson.TypeAdapter atomicLongArrayAdapter(com.google.gson.TypeAdapter):400:400 -> atomicLongArrayAdapter
+ 2:2:com.google.gson.TypeAdapter atomicLongArrayAdapter(com.google.gson.TypeAdapter):423:423 -> atomicLongArrayAdapter
+ 1:2:void checkValidFloatingPoint(double):358:359 -> checkValidFloatingPoint
+ 1:1:com.google.gson.TypeAdapter doubleAdapter(boolean):311:311 -> doubleAdapter
+ 2:2:com.google.gson.TypeAdapter doubleAdapter(boolean):313:313 -> doubleAdapter
+ 1:1:com.google.gson.internal.Excluder excluder():294:294 -> excluder
+ 1:1:com.google.gson.FieldNamingStrategy fieldNamingStrategy():298:298 -> fieldNamingStrategy
+ 1:1:com.google.gson.TypeAdapter floatAdapter(boolean):335:335 -> floatAdapter
+ 2:2:com.google.gson.TypeAdapter floatAdapter(boolean):337:337 -> floatAdapter
+ 1:2:java.lang.Object fromJson(java.lang.String,java.lang.Class):817:818 -> fromJson
+ 3:4:java.lang.Object fromJson(java.lang.String,java.lang.reflect.Type):845:846 -> fromJson
+ 5:8:java.lang.Object fromJson(java.io.Reader,java.lang.Class):869:872 -> fromJson
+ 9:11:java.lang.Object fromJson(java.io.Reader,java.lang.reflect.Type):896:898 -> fromJson
+ 12:13:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):925:926 -> fromJson
+ 14:14:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):928:928 -> fromJson
+ 15:17:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):930:932 -> fromJson
+ 18:18:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):953:953 -> fromJson
+ 19:21:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):949:951 -> fromJson
+ 22:22:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):947:947 -> fromJson
+ 23:23:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):944:944 -> fromJson
+ 24:24:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):953:953 -> fromJson
+ 25:25:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):942:942 -> fromJson
+ 26:26:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type):953:953 -> fromJson
+ 27:28:java.lang.Object fromJson(com.google.gson.JsonElement,java.lang.Class):975:976 -> fromJson
+ 29:29:java.lang.Object fromJson(com.google.gson.JsonElement,java.lang.reflect.Type):1003:1003 -> fromJson
+ 1:1:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):434:434 -> getAdapter
+ 2:2:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):439:439 -> getAdapter
+ 3:4:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):442:443 -> getAdapter
+ 5:5:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):448:448 -> getAdapter
+ 6:7:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):454:455 -> getAdapter
+ 8:9:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):457:458 -> getAdapter
+ 10:11:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):460:461 -> getAdapter
+ 12:12:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):467:467 -> getAdapter
+ 13:13:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):470:470 -> getAdapter
+ 14:14:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):465:465 -> getAdapter
+ 15:15:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):467:467 -> getAdapter
+ 16:16:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken):470:470 -> getAdapter
+ 17:17:com.google.gson.TypeAdapter getAdapter(java.lang.Class):556:556 -> getAdapter
+ 1:2:com.google.gson.TypeAdapter getDelegateAdapter(com.google.gson.TypeAdapterFactory,com.google.gson.reflect.TypeToken):528:529 -> getDelegateAdapter
+ 3:3:com.google.gson.TypeAdapter getDelegateAdapter(com.google.gson.TypeAdapterFactory,com.google.gson.reflect.TypeToken):533:533 -> getDelegateAdapter
+ 4:4:com.google.gson.TypeAdapter getDelegateAdapter(com.google.gson.TypeAdapterFactory,com.google.gson.reflect.TypeToken):541:541 -> getDelegateAdapter
+ 5:5:com.google.gson.TypeAdapter getDelegateAdapter(com.google.gson.TypeAdapterFactory,com.google.gson.reflect.TypeToken):546:546 -> getDelegateAdapter
+ 1:1:boolean htmlSafe():306:306 -> htmlSafe
+ 1:2:com.google.gson.TypeAdapter longAdapter(com.google.gson.LongSerializationPolicy):366:367 -> longAdapter
+ 3:3:com.google.gson.TypeAdapter longAdapter(com.google.gson.LongSerializationPolicy):369:369 -> longAdapter
+ 1:1:com.google.gson.GsonBuilder newBuilder():290:290 -> newBuilder
+ 1:2:com.google.gson.stream.JsonReader newJsonReader(java.io.Reader):767:768 -> newJsonReader
+ 1:2:com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer):752:753 -> newJsonWriter
+ 3:5:com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer):755:757 -> newJsonWriter
+ 6:6:com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer):759:759 -> newJsonWriter
+ 1:1:boolean serializeNulls():302:302 -> serializeNulls
+ 1:1:java.lang.String toJson(java.lang.Object):616:616 -> toJson
+ 2:2:java.lang.String toJson(java.lang.Object):618:618 -> toJson
+ 3:5:java.lang.String toJson(java.lang.Object,java.lang.reflect.Type):637:639 -> toJson
+ 6:6:void toJson(java.lang.Object,java.lang.Appendable):658:658 -> toJson
+ 7:7:void toJson(java.lang.Object,java.lang.Appendable):660:660 -> toJson
+ 8:9:void toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):682:683 -> toJson
+ 10:10:void toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):685:685 -> toJson
+ 11:17:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter):696:702 -> toJson
+ 18:18:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter):704:704 -> toJson
+ 19:21:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter):712:714 -> toJson
+ 22:24:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter):708:710 -> toJson
+ 25:25:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter):706:706 -> toJson
+ 26:28:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter):712:714 -> toJson
+ 29:31:java.lang.String toJson(com.google.gson.JsonElement):726:728 -> toJson
+ 32:33:void toJson(com.google.gson.JsonElement,java.lang.Appendable):741:742 -> toJson
+ 34:34:void toJson(com.google.gson.JsonElement,java.lang.Appendable):744:744 -> toJson
+ 35:40:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter):777:782 -> toJson
+ 41:41:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter):784:784 -> toJson
+ 42:44:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter):792:794 -> toJson
+ 45:47:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter):788:790 -> toJson
+ 48:48:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter):786:786 -> toJson
+ 49:51:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter):792:794 -> toJson
+ 1:1:com.google.gson.JsonElement toJsonTree(java.lang.Object):574:574 -> toJsonTree
+ 2:2:com.google.gson.JsonElement toJsonTree(java.lang.Object):576:576 -> toJsonTree
+ 3:5:com.google.gson.JsonElement toJsonTree(java.lang.Object,java.lang.reflect.Type):596:598 -> toJsonTree
+ 1:6:java.lang.String toString():1033:1038 -> toString
+com.google.gson.Gson$1 -> com.google.gson.Gson$1:
+ 1:1:void (com.google.gson.Gson):313:313 ->
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):313:313 -> read
+ 2:3:java.lang.Double read(com.google.gson.stream.JsonReader):315:316 -> read
+ 4:4:java.lang.Double read(com.google.gson.stream.JsonReader):319:319 -> read
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):313:313 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.lang.Number):323:323 -> write
+ 3:5:void write(com.google.gson.stream.JsonWriter,java.lang.Number):326:328 -> write
+com.google.gson.Gson$2 -> com.google.gson.Gson$2:
+ 1:1:void (com.google.gson.Gson):337:337 ->
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):337:337 -> read
+ 2:3:java.lang.Float read(com.google.gson.stream.JsonReader):339:340 -> read
+ 4:4:java.lang.Float read(com.google.gson.stream.JsonReader):343:343 -> read
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):337:337 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.lang.Number):347:347 -> write
+ 3:5:void write(com.google.gson.stream.JsonWriter,java.lang.Number):350:352 -> write
+com.google.gson.Gson$3 -> com.google.gson.Gson$3:
+ 1:1:void ():369:369 ->
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):369:369 -> read
+ 2:3:java.lang.Number read(com.google.gson.stream.JsonReader):371:372 -> read
+ 4:4:java.lang.Number read(com.google.gson.stream.JsonReader):375:375 -> read
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):369:369 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.lang.Number):379:379 -> write
+ 3:3:void write(com.google.gson.stream.JsonWriter,java.lang.Number):382:382 -> write
+com.google.gson.Gson$4 -> com.google.gson.Gson$4:
+ 1:1:void (com.google.gson.TypeAdapter):388:388 ->
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):388:388 -> read
+ 2:3:java.util.concurrent.atomic.AtomicLong read(com.google.gson.stream.JsonReader):393:394 -> read
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):388:388 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLong):390:390 -> write
+com.google.gson.Gson$5 -> com.google.gson.Gson$5:
+ 1:1:void (com.google.gson.TypeAdapter):400:400 ->
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):400:400 -> read
+ 2:6:java.util.concurrent.atomic.AtomicLongArray read(com.google.gson.stream.JsonReader):409:413 -> read
+ 7:9:java.util.concurrent.atomic.AtomicLongArray read(com.google.gson.stream.JsonReader):415:417 -> read
+ 10:10:java.util.concurrent.atomic.AtomicLongArray read(com.google.gson.stream.JsonReader):419:419 -> read
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):400:400 -> write
+ 2:4:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLongArray):402:404 -> write
+ 5:5:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLongArray):406:406 -> write
+com.google.gson.Gson$FutureTypeAdapter -> com.google.gson.Gson$FutureTypeAdapter:
+ 1:1:void ():1006:1006 ->
+ 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):1017:1017 -> read
+ 2:2:java.lang.Object read(com.google.gson.stream.JsonReader):1020:1020 -> read
+ 3:3:java.lang.Object read(com.google.gson.stream.JsonReader):1018:1018 -> read
+ 1:1:void setDelegate(com.google.gson.TypeAdapter):1010:1010 -> setDelegate
+ 2:2:void setDelegate(com.google.gson.TypeAdapter):1013:1013 -> setDelegate
+ 3:3:void setDelegate(com.google.gson.TypeAdapter):1011:1011 -> setDelegate
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):1024:1024 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.lang.Object):1027:1027 -> write
+ 3:3:void write(com.google.gson.stream.JsonWriter,java.lang.Object):1025:1025 -> write
+com.google.gson.GsonBuilder -> com.google.gson.GsonBuilder:
+ 1:1:void ():104:104 ->
+ 2:5:void ():79:82 ->
+ 6:6:void ():84:84 ->
+ 7:8:void ():86:87 ->
+ 9:16:void ():89:96 ->
+ 17:17:void (com.google.gson.Gson):113:113 ->
+ 18:21:void (com.google.gson.Gson):79:82 ->
+ 22:22:void (com.google.gson.Gson):84:84 ->
+ 23:24:void (com.google.gson.Gson):86:87 ->
+ 25:32:void (com.google.gson.Gson):89:96 ->
+ 33:48:void (com.google.gson.Gson):114:129 ->
+ 1:1:com.google.gson.GsonBuilder addDeserializationExclusionStrategy(com.google.gson.ExclusionStrategy):375:375 -> addDeserializationExclusionStrategy
+ 1:1:com.google.gson.GsonBuilder addSerializationExclusionStrategy(com.google.gson.ExclusionStrategy):358:358 -> addSerializationExclusionStrategy
+ 1:4:void addTypeAdaptersForDate(java.lang.String,int,int,java.util.List):611:614 -> addTypeAdaptersForDate
+ 5:7:void addTypeAdaptersForDate(java.lang.String,int,int,java.util.List):616:618 -> addTypeAdaptersForDate
+ 8:10:void addTypeAdaptersForDate(java.lang.String,int,int,java.util.List):623:625 -> addTypeAdaptersForDate
+ 1:3:com.google.gson.Gson create():587:589 -> create
+ 4:6:com.google.gson.Gson create():591:593 -> create
+ 7:7:com.google.gson.Gson create():595:595 -> create
+ 8:8:com.google.gson.Gson create():597:597 -> create
+ 1:1:com.google.gson.GsonBuilder disableHtmlEscaping():411:411 -> disableHtmlEscaping
+ 1:1:com.google.gson.GsonBuilder disableInnerClassSerialization():285:285 -> disableInnerClassSerialization
+ 1:1:com.google.gson.GsonBuilder enableComplexMapKeySerialization():274:274 -> enableComplexMapKeySerialization
+ 1:1:com.google.gson.GsonBuilder excludeFieldsWithModifiers(int[]):156:156 -> excludeFieldsWithModifiers
+ 1:1:com.google.gson.GsonBuilder excludeFieldsWithoutExposeAnnotation():181:181 -> excludeFieldsWithoutExposeAnnotation
+ 1:1:com.google.gson.GsonBuilder generateNonExecutableJson():170:170 -> generateNonExecutableJson
+ 1:1:com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object):497:497 -> registerTypeAdapter
+ 2:3:com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object):501:502 -> registerTypeAdapter
+ 4:6:com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object):504:506 -> registerTypeAdapter
+ 7:8:com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object):508:509 -> registerTypeAdapter
+ 1:1:com.google.gson.GsonBuilder registerTypeAdapterFactory(com.google.gson.TypeAdapterFactory):523:523 -> registerTypeAdapterFactory
+ 1:1:com.google.gson.GsonBuilder registerTypeHierarchyAdapter(java.lang.Class,java.lang.Object):543:543 -> registerTypeHierarchyAdapter
+ 2:3:com.google.gson.GsonBuilder registerTypeHierarchyAdapter(java.lang.Class,java.lang.Object):546:547 -> registerTypeHierarchyAdapter
+ 4:5:com.google.gson.GsonBuilder registerTypeHierarchyAdapter(java.lang.Class,java.lang.Object):549:550 -> registerTypeHierarchyAdapter
+ 1:1:com.google.gson.GsonBuilder serializeNulls():193:193 -> serializeNulls
+ 1:1:com.google.gson.GsonBuilder serializeSpecialFloatingPointValues():576:576 -> serializeSpecialFloatingPointValues
+ 1:1:com.google.gson.GsonBuilder setDateFormat(java.lang.String):433:433 -> setDateFormat
+ 2:3:com.google.gson.GsonBuilder setDateFormat(int):452:453 -> setDateFormat
+ 4:6:com.google.gson.GsonBuilder setDateFormat(int,int):473:475 -> setDateFormat
+ 1:2:com.google.gson.GsonBuilder setExclusionStrategies(com.google.gson.ExclusionStrategy[]):339:340 -> setExclusionStrategies
+ 1:1:com.google.gson.GsonBuilder setFieldNamingPolicy(com.google.gson.FieldNamingPolicy):311:311 -> setFieldNamingPolicy
+ 1:1:com.google.gson.GsonBuilder setFieldNamingStrategy(com.google.gson.FieldNamingStrategy):324:324 -> setFieldNamingStrategy
+ 1:1:com.google.gson.GsonBuilder setLenient():399:399 -> setLenient
+ 1:1:com.google.gson.GsonBuilder setLongSerializationPolicy(com.google.gson.LongSerializationPolicy):298:298 -> setLongSerializationPolicy
+ 1:1:com.google.gson.GsonBuilder setPrettyPrinting():386:386 -> setPrettyPrinting
+ 1:1:com.google.gson.GsonBuilder setVersion(double):140:140 -> setVersion
+com.google.gson.JsonArray -> com.google.gson.JsonArray:
+ 1:2:void ():39:40 ->
+ 3:4:void (int):43:44 ->
+ 1:1:void add(java.lang.Boolean):69:69 -> add
+ 2:2:void add(java.lang.Character):78:78 -> add
+ 3:3:void add(java.lang.Number):87:87 -> add
+ 4:4:void add(java.lang.String):96:96 -> add
+ 5:5:void add(com.google.gson.JsonElement):106:106 -> add
+ 6:6:void add(com.google.gson.JsonElement):108:108 -> add
+ 1:1:void addAll(com.google.gson.JsonArray):117:117 -> addAll
+ 1:1:boolean contains(com.google.gson.JsonElement):163:163 -> contains
+ 1:1:com.google.gson.JsonElement deepCopy():33:33 -> deepCopy
+ 2:5:com.google.gson.JsonArray deepCopy():53:56 -> deepCopy
+ 6:6:com.google.gson.JsonArray deepCopy():60:60 -> deepCopy
+ 1:1:boolean equals(java.lang.Object):386:386 -> equals
+ 1:1:com.google.gson.JsonElement get(int):203:203 -> get
+ 1:2:java.math.BigDecimal getAsBigDecimal():265:266 -> getAsBigDecimal
+ 3:3:java.math.BigDecimal getAsBigDecimal():268:268 -> getAsBigDecimal
+ 1:2:java.math.BigInteger getAsBigInteger():282:283 -> getAsBigInteger
+ 3:3:java.math.BigInteger getAsBigInteger():285:285 -> getAsBigInteger
+ 1:2:boolean getAsBoolean():378:379 -> getAsBoolean
+ 3:3:boolean getAsBoolean():381:381 -> getAsBoolean
+ 1:2:byte getAsByte():338:339 -> getAsByte
+ 3:3:byte getAsByte():341:341 -> getAsByte
+ 1:2:char getAsCharacter():346:347 -> getAsCharacter
+ 3:3:char getAsCharacter():349:349 -> getAsCharacter
+ 1:2:double getAsDouble():248:249 -> getAsDouble
+ 3:3:double getAsDouble():251:251 -> getAsDouble
+ 1:2:float getAsFloat():298:299 -> getAsFloat
+ 3:3:float getAsFloat():301:301 -> getAsFloat
+ 1:2:int getAsInt():330:331 -> getAsInt
+ 3:3:int getAsInt():333:333 -> getAsInt
+ 1:2:long getAsLong():314:315 -> getAsLong
+ 3:3:long getAsLong():317:317 -> getAsLong
+ 1:2:java.lang.Number getAsNumber():216:217 -> getAsNumber
+ 3:3:java.lang.Number getAsNumber():219:219 -> getAsNumber
+ 1:2:short getAsShort():362:363 -> getAsShort
+ 3:3:short getAsShort():365:365 -> getAsShort
+ 1:2:java.lang.String getAsString():232:233 -> getAsString
+ 3:3:java.lang.String getAsString():235:235 -> getAsString
+ 1:1:int hashCode():391:391 -> hashCode
+ 1:1:boolean isEmpty():181:181 -> isEmpty
+ 1:1:java.util.Iterator iterator():191:191 -> iterator
+ 1:1:boolean remove(com.google.gson.JsonElement):140:140 -> remove
+ 2:2:com.google.gson.JsonElement remove(int):153:153 -> remove
+ 1:1:com.google.gson.JsonElement set(int,com.google.gson.JsonElement):129:129 -> set
+ 1:1:int size():172:172 -> size
+com.google.gson.JsonElement -> com.google.gson.JsonElement:
+ 1:1:void ():33:33 ->
+ 1:1:java.math.BigDecimal getAsBigDecimal():277:277 -> getAsBigDecimal
+ 1:1:java.math.BigInteger getAsBigInteger():291:291 -> getAsBigInteger
+ 1:1:boolean getAsBoolean():153:153 -> getAsBoolean
+ 1:1:byte getAsByte():245:245 -> getAsByte
+ 1:1:char getAsCharacter():263:263 -> getAsCharacter
+ 1:1:double getAsDouble():192:192 -> getAsDouble
+ 1:1:float getAsFloat():205:205 -> getAsFloat
+ 1:1:int getAsInt():231:231 -> getAsInt
+ 1:2:com.google.gson.JsonArray getAsJsonArray():104:105 -> getAsJsonArray
+ 3:3:com.google.gson.JsonArray getAsJsonArray():107:107 -> getAsJsonArray
+ 1:2:com.google.gson.JsonNull getAsJsonNull():137:138 -> getAsJsonNull
+ 3:3:com.google.gson.JsonNull getAsJsonNull():140:140 -> getAsJsonNull
+ 1:2:com.google.gson.JsonObject getAsJsonObject():88:89 -> getAsJsonObject
+ 3:3:com.google.gson.JsonObject getAsJsonObject():91:91 -> getAsJsonObject
+ 1:2:com.google.gson.JsonPrimitive getAsJsonPrimitive():120:121 -> getAsJsonPrimitive
+ 3:3:com.google.gson.JsonPrimitive getAsJsonPrimitive():123:123 -> getAsJsonPrimitive
+ 1:1:long getAsLong():218:218 -> getAsLong
+ 1:1:java.lang.Number getAsNumber():166:166 -> getAsNumber
+ 1:1:short getAsShort():304:304 -> getAsShort
+ 1:1:java.lang.String getAsString():179:179 -> getAsString
+ 1:1:boolean isJsonArray():47:47 -> isJsonArray
+ 1:1:boolean isJsonNull():75:75 -> isJsonNull
+ 1:1:boolean isJsonObject():56:56 -> isJsonObject
+ 1:1:boolean isJsonPrimitive():65:65 -> isJsonPrimitive
+ 1:5:java.lang.String toString():313:317 -> toString
+ 6:6:java.lang.String toString():319:319 -> toString
+com.google.gson.JsonIOException -> com.google.gson.JsonIOException:
+ 1:1:void (java.lang.String):29:29 ->
+ 2:2:void (java.lang.String,java.lang.Throwable):33:33 ->
+ 3:3:void (java.lang.Throwable):43:43 ->
+com.google.gson.JsonNull -> com.google.gson.JsonNull:
+ 1:1:void ():32:32 ->
+ 1:1:void ():39:39 ->
+ 1:1:com.google.gson.JsonElement deepCopy():26:26 -> deepCopy
+ 2:2:com.google.gson.JsonNull deepCopy():49:49 -> deepCopy
+ 1:1:boolean equals(java.lang.Object):65:65 -> equals
+ 1:1:int hashCode():57:57 -> hashCode
+com.google.gson.JsonObject -> com.google.gson.JsonObject:
+ 1:2:void ():32:33 ->
+ 1:1:void add(java.lang.String,com.google.gson.JsonElement):58:58 -> add
+ 1:1:void addProperty(java.lang.String,java.lang.String):80:80 -> addProperty
+ 2:2:void addProperty(java.lang.String,java.lang.Number):91:91 -> addProperty
+ 3:3:void addProperty(java.lang.String,java.lang.Boolean):102:102 -> addProperty
+ 4:4:void addProperty(java.lang.String,java.lang.Character):113:113 -> addProperty
+ 1:1:com.google.gson.JsonElement deepCopy():32:32 -> deepCopy
+ 2:4:com.google.gson.JsonObject deepCopy():42:44 -> deepCopy
+ 1:1:java.util.Set entrySet():123:123 -> entrySet
+ 1:2:boolean equals(java.lang.Object):197:198 -> equals
+ 1:1:com.google.gson.JsonElement get(java.lang.String):162:162 -> get
+ 1:1:com.google.gson.JsonArray getAsJsonArray(java.lang.String):182:182 -> getAsJsonArray
+ 1:1:com.google.gson.JsonObject getAsJsonObject(java.lang.String):192:192 -> getAsJsonObject
+ 1:1:com.google.gson.JsonPrimitive getAsJsonPrimitive(java.lang.String):172:172 -> getAsJsonPrimitive
+ 1:1:boolean has(java.lang.String):152:152 -> has
+ 1:1:int hashCode():203:203 -> hashCode
+ 1:1:java.util.Set keySet():133:133 -> keySet
+ 1:1:com.google.gson.JsonElement remove(java.lang.String):69:69 -> remove
+ 1:1:int size():142:142 -> size
+com.google.gson.JsonParseException -> com.google.gson.JsonParseException:
+ 1:1:void (java.lang.String):42:42 ->
+ 2:2:void (java.lang.String,java.lang.Throwable):52:52 ->
+ 3:3:void (java.lang.Throwable):62:62 ->
+com.google.gson.JsonParser -> com.google.gson.JsonParser:
+ 1:1:void ():37:37 ->
+ 1:1:com.google.gson.JsonElement parse(java.lang.String):98:98 -> parse
+ 2:2:com.google.gson.JsonElement parse(java.io.Reader):104:104 -> parse
+ 3:3:com.google.gson.JsonElement parse(com.google.gson.stream.JsonReader):110:110 -> parse
+ 1:4:com.google.gson.JsonElement parseReader(java.io.Reader):59:62 -> parseReader
+ 5:5:com.google.gson.JsonElement parseReader(java.io.Reader):70:70 -> parseReader
+ 6:6:com.google.gson.JsonElement parseReader(java.io.Reader):68:68 -> parseReader
+ 7:7:com.google.gson.JsonElement parseReader(java.io.Reader):66:66 -> parseReader
+ 8:9:com.google.gson.JsonElement parseReader(com.google.gson.stream.JsonReader):82:83 -> parseReader
+ 10:10:com.google.gson.JsonElement parseReader(com.google.gson.stream.JsonReader):85:85 -> parseReader
+ 11:11:com.google.gson.JsonElement parseReader(com.google.gson.stream.JsonReader):91:91 -> parseReader
+ 12:12:com.google.gson.JsonElement parseReader(com.google.gson.stream.JsonReader):89:89 -> parseReader
+ 13:13:com.google.gson.JsonElement parseReader(com.google.gson.stream.JsonReader):87:87 -> parseReader
+ 14:14:com.google.gson.JsonElement parseReader(com.google.gson.stream.JsonReader):91:91 -> parseReader
+ 1:1:com.google.gson.JsonElement parseString(java.lang.String):47:47 -> parseString
+com.google.gson.JsonPrimitive -> com.google.gson.JsonPrimitive:
+ 1:2:void (java.lang.Boolean):42:43 ->
+ 3:4:void (java.lang.Number):51:52 ->
+ 5:6:void (java.lang.String):60:61 ->
+ 7:7:void (java.lang.Character):70:70 ->
+ 8:8:void (java.lang.Character):73:73 ->
+ 1:1:com.google.gson.JsonElement deepCopy():33:33 -> deepCopy
+ 1:1:boolean equals(java.lang.Object):263:263 -> equals
+ 2:4:boolean equals(java.lang.Object):266:268 -> equals
+ 5:6:boolean equals(java.lang.Object):270:271 -> equals
+ 7:8:boolean equals(java.lang.Object):273:274 -> equals
+ 9:10:boolean equals(java.lang.Object):277:278 -> equals
+ 11:11:boolean equals(java.lang.Object):280:280 -> equals
+ 1:1:java.math.BigDecimal getAsBigDecimal():172:172 -> getAsBigDecimal
+ 1:2:java.math.BigInteger getAsBigInteger():183:184 -> getAsBigInteger
+ 1:2:boolean getAsBoolean():101:102 -> getAsBoolean
+ 3:3:boolean getAsBoolean():105:105 -> getAsBoolean
+ 1:1:byte getAsByte():233:233 -> getAsByte
+ 1:1:char getAsCharacter():238:238 -> getAsCharacter
+ 1:1:double getAsDouble():161:161 -> getAsDouble
+ 1:1:float getAsFloat():195:195 -> getAsFloat
+ 1:1:int getAsInt():228:228 -> getAsInt
+ 1:1:long getAsLong():206:206 -> getAsLong
+ 1:1:java.lang.Number getAsNumber():125:125 -> getAsNumber
+ 1:1:short getAsShort():217:217 -> getAsShort
+ 1:4:java.lang.String getAsString():144:147 -> getAsString
+ 5:5:java.lang.String getAsString():149:149 -> getAsString
+ 1:1:int hashCode():243:243 -> hashCode
+ 2:3:int hashCode():247:248 -> hashCode
+ 4:5:int hashCode():251:252 -> hashCode
+ 6:6:int hashCode():255:255 -> hashCode
+ 1:1:boolean isBoolean():91:91 -> isBoolean
+ 1:3:boolean isIntegral(com.google.gson.JsonPrimitive):288:290 -> isIntegral
+ 1:1:boolean isNumber():114:114 -> isNumber
+ 1:1:boolean isString():134:134 -> isString
+com.google.gson.JsonStreamParser -> com.google.gson.JsonStreamParser:
+ 1:1:void (java.lang.String):62:62 ->
+ 2:5:void (java.io.Reader):69:72 ->
+ 1:1:boolean hasNext():107:107 -> hasNext
+ 2:2:boolean hasNext():109:109 -> hasNext
+ 3:3:boolean hasNext():113:113 -> hasNext
+ 4:4:boolean hasNext():111:111 -> hasNext
+ 5:5:boolean hasNext():115:115 -> hasNext
+ 1:1:java.lang.Object next():53:53 -> next
+ 2:2:com.google.gson.JsonElement next():85:85 -> next
+ 3:3:com.google.gson.JsonElement next():90:90 -> next
+ 4:4:com.google.gson.JsonElement next():96:96 -> next
+ 5:5:com.google.gson.JsonElement next():94:94 -> next
+ 6:6:com.google.gson.JsonElement next():92:92 -> next
+ 7:7:com.google.gson.JsonElement next():86:86 -> next
+ 1:1:void remove():124:124 -> remove
+com.google.gson.JsonSyntaxException -> com.google.gson.JsonSyntaxException:
+ 1:1:void (java.lang.String):30:30 ->
+ 2:2:void (java.lang.String,java.lang.Throwable):34:34 ->
+ 3:3:void (java.lang.Throwable):45:45 ->
+com.google.gson.LongSerializationPolicy -> com.google.gson.LongSerializationPolicy:
+ 1:1:void ():34:34 ->
+ 2:2:void ():45:45 ->
+ 3:3:void ():27:27 ->
+ 1:1:void (java.lang.String,int):27:27 ->
+ 2:2:void (java.lang.String,int,com.google.gson.LongSerializationPolicy$1):27:27 ->
+ 1:1:com.google.gson.LongSerializationPolicy valueOf(java.lang.String):27:27 -> valueOf
+ 1:1:com.google.gson.LongSerializationPolicy[] values():27:27 -> values
+com.google.gson.LongSerializationPolicy$1 -> com.google.gson.LongSerializationPolicy$1:
+ 1:1:void (java.lang.String,int):34:34 ->
+ 1:1:com.google.gson.JsonElement serialize(java.lang.Long):36:36 -> serialize
+com.google.gson.LongSerializationPolicy$2 -> com.google.gson.LongSerializationPolicy$2:
+ 1:1:void (java.lang.String,int):45:45 ->
+ 1:1:com.google.gson.JsonElement serialize(java.lang.Long):47:47 -> serialize
+com.google.gson.TypeAdapter -> com.google.gson.TypeAdapter:
+ 1:1:void ():119:119 ->
+ 1:2:java.lang.Object fromJson(java.io.Reader):259:260 -> fromJson
+ 3:3:java.lang.Object fromJson(java.lang.String):273:273 -> fromJson
+ 1:2:java.lang.Object fromJsonTree(com.google.gson.JsonElement):284:285 -> fromJsonTree
+ 3:3:java.lang.Object fromJsonTree(com.google.gson.JsonElement):287:287 -> fromJsonTree
+ 1:1:com.google.gson.TypeAdapter nullSafe():186:186 -> nullSafe
+ 1:2:void toJson(java.io.Writer,java.lang.Object):141:142 -> toJson
+ 3:3:java.lang.String toJson(java.lang.Object):215:215 -> toJson
+ 4:4:java.lang.String toJson(java.lang.Object):217:217 -> toJson
+ 5:5:java.lang.String toJson(java.lang.Object):221:221 -> toJson
+ 6:6:java.lang.String toJson(java.lang.Object):219:219 -> toJson
+ 1:3:com.google.gson.JsonElement toJsonTree(java.lang.Object):233:235 -> toJsonTree
+ 4:4:com.google.gson.JsonElement toJsonTree(java.lang.Object):237:237 -> toJsonTree
+com.google.gson.TypeAdapter$1 -> com.google.gson.TypeAdapter$1:
+ 1:1:void (com.google.gson.TypeAdapter):186:186 ->
+ 1:2:java.lang.Object read(com.google.gson.stream.JsonReader):195:196 -> read
+ 3:3:java.lang.Object read(com.google.gson.stream.JsonReader):199:199 -> read
+ 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):189:189 -> write
+ 2:2:void write(com.google.gson.stream.JsonWriter,java.lang.Object):191:191 -> write
+com.google.gson.internal.$Gson$Preconditions -> com.google.gson.internal.$Gson$Preconditions:
+ 1:2:void ():33:34 ->
+ 1:1:void checkArgument(boolean):46:46 -> checkArgument
+ 1:1:java.lang.Object checkNotNull(java.lang.Object):39:39 -> checkNotNull
+com.google.gson.internal.$Gson$Types -> com.google.gson.internal.$Gson$Types:
+ 1:1:void ():40:40 ->
+ 1:2:void ():42:43 ->
+ 1:1:java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type):64:64 -> arrayOf
+ 1:3:java.lang.reflect.Type canonicalize(java.lang.reflect.Type):104:106 -> canonicalize
+ 4:7:java.lang.reflect.Type canonicalize(java.lang.reflect.Type):108:111 -> canonicalize
+ 8:10:java.lang.reflect.Type canonicalize(java.lang.reflect.Type):113:115 -> canonicalize
+ 11:13:java.lang.reflect.Type canonicalize(java.lang.reflect.Type):117:119 -> canonicalize
+ 1:1:void checkNotPrimitive(java.lang.reflect.Type):457:457 -> checkNotPrimitive
+ 1:3:java.lang.Class declaringClassOf(java.lang.reflect.TypeVariable):450:452 -> declaringClassOf
+ 1:1:boolean equal(java.lang.Object,java.lang.Object):162:162 -> equal
+ 1:1:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):173:173 -> equals
+ 2:2:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):175:175 -> equals
+ 3:4:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):177:178 -> equals
+ 5:9:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):183:187 -> equals
+ 10:11:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):189:190 -> equals
+ 12:14:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):194:196 -> equals
+ 15:16:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):198:199 -> equals
+ 17:20:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):203:206 -> equals
+ 21:22:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):208:209 -> equals
+ 23:26:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):212:215 -> equals
+ 1:3:java.lang.reflect.Type getArrayComponentType(java.lang.reflect.Type):292:294 -> getArrayComponentType
+ 1:1:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):302:302 -> getCollectionElementType
+ 2:3:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):304:305 -> getCollectionElementType
+ 4:5:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):307:308 -> getCollectionElementType
+ 6:6:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):310:310 -> getCollectionElementType
+ 1:7:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):242:248 -> getGenericSupertype
+ 8:10:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):254:256 -> getGenericSupertype
+ 11:13:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):258:260 -> getGenericSupertype
+ 1:1:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):323:323 -> getMapKeyAndValueTypes
+ 2:2:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):327:327 -> getMapKeyAndValueTypes
+ 3:5:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):329:331 -> getMapKeyAndValueTypes
+ 1:1:java.lang.Class getRawType(java.lang.reflect.Type):128:128 -> getRawType
+ 2:2:java.lang.Class getRawType(java.lang.reflect.Type):130:130 -> getRawType
+ 3:4:java.lang.Class getRawType(java.lang.reflect.Type):132:133 -> getRawType
+ 5:7:java.lang.Class getRawType(java.lang.reflect.Type):138:140 -> getRawType
+ 8:10:java.lang.Class getRawType(java.lang.reflect.Type):142:144 -> getRawType
+ 11:11:java.lang.Class getRawType(java.lang.reflect.Type):146:146 -> getRawType
+ 12:12:java.lang.Class getRawType(java.lang.reflect.Type):149:149 -> getRawType
+ 13:14:java.lang.Class getRawType(java.lang.reflect.Type):151:152 -> getRawType
+ 15:16:java.lang.Class getRawType(java.lang.reflect.Type):155:156 -> getRawType
+ 1:1:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):278:278 -> getSupertype
+ 2:2:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):280:280 -> getSupertype
+ 3:3:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):282:282 -> getSupertype
+ 4:4:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):284:284 -> getSupertype
+ 5:5:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):283:283 -> getSupertype
+ 1:1:int hashCodeOrZero(java.lang.Object):224:224 -> hashCodeOrZero
+ 1:2:int indexOf(java.lang.Object[],java.lang.Object):437:438 -> indexOf
+ 3:3:int indexOf(java.lang.Object[],java.lang.Object):442:442 -> indexOf
+ 1:1:java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]):54:54 -> newParameterizedTypeWithOwner
+ 1:1:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):337:337 -> resolve
+ 2:4:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):344:346 -> resolve
+ 5:5:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):350:350 -> resolve
+ 6:6:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):352:352 -> resolve
+ 7:7:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):357:357 -> resolve
+ 8:9:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):359:360 -> resolve
+ 10:10:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):363:363 -> resolve
+ 11:14:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):365:368 -> resolve
+ 15:15:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):371:371 -> resolve
+ 16:19:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):373:376 -> resolve
+ 20:23:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):379:382 -> resolve
+ 24:24:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):384:384 -> resolve
+ 25:25:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):387:387 -> resolve
+ 26:26:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):392:392 -> resolve
+ 27:30:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):395:398 -> resolve
+ 31:34:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):400:403 -> resolve
+ 35:38:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):405:408 -> resolve
+ 39:39:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection):406:406 -> resolve
+ 1:1:java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):420:420 -> resolveTypeVariable
+ 2:5:java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):427:430 -> resolveTypeVariable
+ 1:2:java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type):75:76 -> subtypeOf
+ 3:3:java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type):80:80 -> subtypeOf
+ 1:2:java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type):90:91 -> supertypeOf
+ 3:3:java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type):95:95 -> supertypeOf
+ 1:1:java.lang.String typeToString(java.lang.reflect.Type):228:228 -> typeToString
+com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl -> com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl:
+ 1:2:void