diff --git a/docs/404.html b/docs/404.html index 973295b..3ff91da 100644 --- a/docs/404.html +++ b/docs/404.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - Yuki Reflection - + Yuki Reflection + -

404

How did we get here?
Take me home
- +

404

Looks like we've got some broken links.
Take me home
+ diff --git a/docs/assets/404.html.70a6b843.js b/docs/assets/404.html.10d8caae.js similarity index 63% rename from docs/assets/404.html.70a6b843.js rename to docs/assets/404.html.10d8caae.js index 3496a31..a24a165 100644 --- a/docs/assets/404.html.70a6b843.js +++ b/docs/assets/404.html.10d8caae.js @@ -1 +1 @@ -import{_ as e,o as c,c as t}from"./app.472fa5e4.js";const _={};function o(r,n){return c(),t("div")}const a=e(_,[["render",o],["__file","404.html.vue"]]);export{a as default}; +import{_ as e,o as c,c as t}from"./app.2add9aa5.js";const _={};function o(r,n){return c(),t("div")}const a=e(_,[["render",o],["__file","404.html.vue"]]);export{a as default}; diff --git a/docs/assets/BaseFinder.html.0d9a390a.js b/docs/assets/BaseFinder.html.8f83f91b.js similarity index 92% rename from docs/assets/BaseFinder.html.0d9a390a.js rename to docs/assets/BaseFinder.html.8f83f91b.js index 243d669..33166cb 100644 --- a/docs/assets/BaseFinder.html.0d9a390a.js +++ b/docs/assets/BaseFinder.html.8f83f91b.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as o,e}from"./app.472fa5e4.js";const a={},p=e(`

BaseFinder - class

abstract class BaseFinder
+import{_ as s,o as n,c as o,a as e}from"./app.2add9aa5.js";const a={},p=e(`

BaseFinder - class

abstract class BaseFinder
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F Class \u4E0E Member \u67E5\u627E\u7C7B\u529F\u80FD\u7684\u57FA\u672C\u7C7B\u5B9E\u73B0\u3002

BaseFinder.IndexTypeCondition - class

inner class IndexTypeCondition internal constructor(private val type: IndexConfigType)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5B57\u8282\u7801\u4E0B\u6807\u7B5B\u9009\u5B9E\u73B0\u7C7B\u3002

index - method

fun index(num: Int)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E\u4E0B\u6807\u3002

\u82E5 index \u5C0F\u4E8E\u96F6\u5219\u4E3A\u5012\u5E8F\uFF0C\u6B64\u65F6\u53EF\u4EE5\u4F7F\u7528 IndexTypeConditionSort.reverse \u65B9\u6CD5\u5B9E\u73B0\u3002

\u53EF\u4F7F\u7528 IndexTypeConditionSort.first \u548C IndexTypeConditionSort.last \u8BBE\u7F6E\u9996\u4F4D\u548C\u672B\u4F4D\u7B5B\u9009\u6761\u4EF6\u3002

index - method

fun index(): IndexTypeConditionSort
diff --git a/docs/assets/BaseFinder.html.4e2b195c.js b/docs/assets/BaseFinder.html.d7748acf.js
similarity index 99%
rename from docs/assets/BaseFinder.html.4e2b195c.js
rename to docs/assets/BaseFinder.html.d7748acf.js
index 8eb064b..44a21ec 100644
--- a/docs/assets/BaseFinder.html.4e2b195c.js
+++ b/docs/assets/BaseFinder.html.d7748acf.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as n,e as o}from"./app.472fa5e4.js";const a={},l=o(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

BaseFinder - class

abstract class BaseFinder
+import{_ as s,o as e,c as n,a as o}from"./app.2add9aa5.js";const a={},l=o(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

BaseFinder - class

abstract class BaseFinder
 

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F Class \u4E0E Member \u67E5\u627E\u7C7B\u529F\u80FD\u7684\u57FA\u672C\u7C7B\u5B9E\u73B0\u3002

BaseFinder.IndexTypeCondition - class

inner class IndexTypeCondition internal constructor(private val type: IndexConfigType)
 

Change Records

v1.0.0 first

Function Illustrate

\u5B57\u8282\u7801\u4E0B\u6807\u7B5B\u9009\u5B9E\u73B0\u7C7B\u3002

index - method

fun index(num: Int)
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E\u4E0B\u6807\u3002

\u82E5 index \u5C0F\u4E8E\u96F6\u5219\u4E3A\u5012\u5E8F\uFF0C\u6B64\u65F6\u53EF\u4EE5\u4F7F\u7528 IndexTypeConditionSort.reverse \u65B9\u6CD5\u5B9E\u73B0\u3002

\u53EF\u4F7F\u7528 IndexTypeConditionSort.first \u548C IndexTypeConditionSort.last \u8BBE\u7F6E\u9996\u4F4D\u548C\u672B\u4F4D\u7B5B\u9009\u6761\u4EF6\u3002

index - method

fun index(): IndexTypeConditionSort
diff --git a/docs/assets/ComponentTypeFactory.html.01fa4f98.js b/docs/assets/ComponentTypeFactory.html.01fa4f98.js
new file mode 100644
index 0000000..9b6d488
--- /dev/null
+++ b/docs/assets/ComponentTypeFactory.html.01fa4f98.js
@@ -0,0 +1 @@
+import{_ as n,r as c,o as a,c as r,b as o,d as s,a as p,e}from"./app.2add9aa5.js";const d={},i=p('

ComponentTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173\u7EC4\u4EF6\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),l=e("\u8BE6\u60C5\u53EF "),_={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ComponentTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},h=e("\u70B9\u51FB\u8FD9\u91CC"),m=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(y,k){const t=c("ExternalLinkIcon");return a(),r("div",null,[i,o("p",null,[l,o("a",_,[h,s(t)]),m])])}const b=n(d,[["render",f],["__file","ComponentTypeFactory.html.vue"]]);export{b as default}; diff --git a/docs/assets/ComponentTypeFactory.html.66cab34e.js b/docs/assets/ComponentTypeFactory.html.66cab34e.js deleted file mode 100644 index 470484c..0000000 --- a/docs/assets/ComponentTypeFactory.html.66cab34e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n,r as c,o as a,c as r,a as o,b as s,e as p,d as e}from"./app.472fa5e4.js";const d={},i=p('

ComponentTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173\u7EC4\u4EF6\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),l=e("\u8BE6\u60C5\u53EF "),_={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ComponentTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},h=e("\u70B9\u51FB\u8FD9\u91CC"),m=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(y,k){const t=c("ExternalLinkIcon");return a(),r("div",null,[i,o("p",null,[l,o("a",_,[h,s(t)]),m])])}const b=n(d,[["render",f],["__file","ComponentTypeFactory.html.vue"]]);export{b as default}; diff --git a/docs/assets/ComponentTypeFactory.html.9f6eb483.js b/docs/assets/ComponentTypeFactory.html.9f6eb483.js new file mode 100644 index 0000000..5c3b038 --- /dev/null +++ b/docs/assets/ComponentTypeFactory.html.9f6eb483.js @@ -0,0 +1 @@ +import{_ as n,r as a,o as c,c as r,b as o,d as s,a as i,e}from"./app.2add9aa5.js";const p={},l=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ComponentTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173\u7EC4\u4EF6\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),d=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ComponentTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),m=e(" \u8FDB\u884C\u67E5\u770B\u3002");function u(f,y){const t=a("ExternalLinkIcon");return c(),r("div",null,[l,o("p",null,[d,o("a",h,[_,s(t)]),m])])}const k=n(p,[["render",u],["__file","ComponentTypeFactory.html.vue"]]);export{k as default}; diff --git a/docs/assets/ComponentTypeFactory.html.d256c1af.js b/docs/assets/ComponentTypeFactory.html.d256c1af.js deleted file mode 100644 index ca14971..0000000 --- a/docs/assets/ComponentTypeFactory.html.d256c1af.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n,r as a,o as c,c as r,a as o,b as s,e as i,d as e}from"./app.472fa5e4.js";const p={},l=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ComponentTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173\u7EC4\u4EF6\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),d=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ComponentTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),m=e(" \u8FDB\u884C\u67E5\u770B\u3002");function u(f,y){const t=a("ExternalLinkIcon");return c(),r("div",null,[l,o("p",null,[d,o("a",h,[_,s(t)]),m])])}const k=n(p,[["render",u],["__file","ComponentTypeFactory.html.vue"]]);export{k as default}; diff --git a/docs/assets/ConstructorFinder.html.3ab5ab90.js b/docs/assets/ConstructorFinder.html.6608ff36.js similarity index 97% rename from docs/assets/ConstructorFinder.html.3ab5ab90.js rename to docs/assets/ConstructorFinder.html.6608ff36.js index 795bf89..beccfb3 100644 --- a/docs/assets/ConstructorFinder.html.3ab5ab90.js +++ b/docs/assets/ConstructorFinder.html.6608ff36.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as o,e as a}from"./app.472fa5e4.js";const e={},l=a(`

ConstructorFinder - class

class ConstructorFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
+import{_ as s,o as n,c as o,a}from"./app.2add9aa5.js";const e={},l=a(`

ConstructorFinder - class

class ConstructorFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Constructor \u67E5\u627E\u7C7B\u3002

\u53EF\u901A\u8FC7\u6307\u5B9A\u7C7B\u578B\u67E5\u627E\u6307\u5B9A Constructor \u6216\u4E00\u7EC4 Constructor\u3002

paramCount - field

var paramCount: Int
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Constructor \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions): IndexTypeCondition
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Constructor \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\uFF0C\u9ED8\u8BA4\u6A21\u7CCA\u67E5\u627E\u5E76\u53D6\u7B2C\u4E00\u4E2A\u5339\u914D\u7684 Constructor\u3002

\u7279\u522B\u6CE8\u610F

\u5B58\u5728\u591A\u4E2A IndexTypeCondition \u65F6\u9664\u4E86 order \u53EA\u4F1A\u751F\u6548\u6700\u540E\u4E00\u4E2A\u3002

emptyParam - method

fun emptyParam(): IndexTypeCondition
diff --git a/docs/assets/ConstructorFinder.html.6ad43856.js b/docs/assets/ConstructorFinder.html.a40584a1.js
similarity index 96%
rename from docs/assets/ConstructorFinder.html.6ad43856.js
rename to docs/assets/ConstructorFinder.html.a40584a1.js
index c2686c6..38319b1 100644
--- a/docs/assets/ConstructorFinder.html.6ad43856.js
+++ b/docs/assets/ConstructorFinder.html.a40584a1.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as o,e as a}from"./app.472fa5e4.js";const e={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ConstructorFinder - class

class ConstructorFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
+import{_ as s,o as n,c as o,a}from"./app.2add9aa5.js";const e={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ConstructorFinder - class

class ConstructorFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
 

Change Records

v1.0.0 first

Function Illustrate

Constructor \u67E5\u627E\u7C7B\u3002

\u53EF\u901A\u8FC7\u6307\u5B9A\u7C7B\u578B\u67E5\u627E\u6307\u5B9A Constructor \u6216\u4E00\u7EC4 Constructor\u3002

paramCount - field

var paramCount: Int
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Constructor \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions): IndexTypeCondition
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Constructor \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\uFF0C\u9ED8\u8BA4\u6A21\u7CCA\u67E5\u627E\u5E76\u53D6\u7B2C\u4E00\u4E2A\u5339\u914D\u7684 Constructor\u3002

Pay Attention

\u5B58\u5728\u591A\u4E2A IndexTypeCondition \u65F6\u9664\u4E86 order \u53EA\u4F1A\u751F\u6548\u6700\u540E\u4E00\u4E2A\u3002

emptyParam - method

fun emptyParam(): IndexTypeCondition
diff --git a/docs/assets/ConstructorRules.html.cabc9f1a.js b/docs/assets/ConstructorRules.html.73382011.js
similarity index 99%
rename from docs/assets/ConstructorRules.html.cabc9f1a.js
rename to docs/assets/ConstructorRules.html.73382011.js
index 891a4c5..b1b7ee9 100644
--- a/docs/assets/ConstructorRules.html.cabc9f1a.js
+++ b/docs/assets/ConstructorRules.html.73382011.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as a,e as n}from"./app.472fa5e4.js";const e={},p=n(`

ConstructorRules - class

class ConstructorRules internal constructor(internal val rulesData: ConstructorRulesData) : BaseRules
+import{_ as s,o,c as a,a as n}from"./app.2add9aa5.js";const e={},p=n(`

ConstructorRules - class

class ConstructorRules internal constructor(internal val rulesData: ConstructorRulesData) : BaseRules
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Constructor \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

paramCount - field

var paramCount: Int
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Constructor \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Constructor \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\u3002

emptyParam - method

fun emptyParam()
diff --git a/docs/assets/ConstructorRules.html.cffd5893.js b/docs/assets/ConstructorRules.html.e247eb10.js
similarity index 99%
rename from docs/assets/ConstructorRules.html.cffd5893.js
rename to docs/assets/ConstructorRules.html.e247eb10.js
index 6288ced..aa157b8 100644
--- a/docs/assets/ConstructorRules.html.cffd5893.js
+++ b/docs/assets/ConstructorRules.html.e247eb10.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as a,e as n}from"./app.472fa5e4.js";const e={},t=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ConstructorRules - class

class ConstructorRules internal constructor(internal val rulesData: ConstructorRulesData) : BaseRules
+import{_ as s,o,c as a,a as n}from"./app.2add9aa5.js";const e={},t=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ConstructorRules - class

class ConstructorRules internal constructor(internal val rulesData: ConstructorRulesData) : BaseRules
 

Change Records

v1.0.0 first

Function Illustrate

Constructor \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

paramCount - field

var paramCount: Int
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Constructor \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Constructor \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\u3002

emptyParam - method

fun emptyParam()
diff --git a/docs/assets/CountRules.html.a9859993.js b/docs/assets/CountRules.html.8fc46cf2.js
similarity index 81%
rename from docs/assets/CountRules.html.a9859993.js
rename to docs/assets/CountRules.html.8fc46cf2.js
index c300ec5..3fc80a3 100644
--- a/docs/assets/CountRules.html.a9859993.js
+++ b/docs/assets/CountRules.html.8fc46cf2.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as o,e}from"./app.472fa5e4.js";const a={},t=e(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

CountRules - class

class CountRules private constructor()
+import{_ as s,o as n,c as o,a as e}from"./app.2add9aa5.js";const a={},t=e(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

CountRules - class

class CountRules private constructor()
 

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u6A21\u7CCA Class\u3001Member \u6570\u7EC4 (\u4E0B\u6807) \u4E2A\u6570\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

Int.isZero - i-ext-method

fun Int.isZero(): Boolean
 

Change Records

v1.0.0 first

Function Illustrate

\u662F\u5426\u4E3A 0\u3002

Int.moreThan - i-ext-method

fun Int.moreThan(count: Int): Boolean
 

Change Records

v1.0.0 first

Function Illustrate

\u5927\u4E8E count\u3002

Int.lessThan - i-ext-method

fun Int.lessThan(count: Int): Boolean
diff --git a/docs/assets/CountRules.html.fffc6aa3.js b/docs/assets/CountRules.html.a8c6e084.js
similarity index 87%
rename from docs/assets/CountRules.html.fffc6aa3.js
rename to docs/assets/CountRules.html.a8c6e084.js
index e881901..12d9fb1 100644
--- a/docs/assets/CountRules.html.fffc6aa3.js
+++ b/docs/assets/CountRules.html.a8c6e084.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as n,e}from"./app.472fa5e4.js";const a={},l=e(`

CountRules - class

class CountRules private constructor()
+import{_ as s,o,c as n,a as e}from"./app.2add9aa5.js";const a={},l=e(`

CountRules - class

class CountRules private constructor()
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u6A21\u7CCA Class\u3001Member \u6570\u7EC4 (\u4E0B\u6807) \u4E2A\u6570\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

Int.isZero - i-ext-method

fun Int.isZero(): Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u662F\u5426\u4E3A 0\u3002

Int.moreThan - i-ext-method

fun Int.moreThan(count: Int): Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5927\u4E8E count\u3002

Int.lessThan - i-ext-method

fun Int.lessThan(count: Int): Boolean
diff --git a/docs/assets/CurrentClass.html.6e9dea02.js b/docs/assets/CurrentClass.html.0cbf1174.js
similarity index 90%
rename from docs/assets/CurrentClass.html.6e9dea02.js
rename to docs/assets/CurrentClass.html.0cbf1174.js
index 9fad5ee..234201b 100644
--- a/docs/assets/CurrentClass.html.6e9dea02.js
+++ b/docs/assets/CurrentClass.html.0cbf1174.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as a,e}from"./app.472fa5e4.js";const o={},l=e(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

CurrentClass - class

class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any)
+import{_ as s,o as n,c as a,a as e}from"./app.2add9aa5.js";const o={},l=e(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

CurrentClass - class

class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any)
 

Change Records

v1.0.0 first

Function Illustrate

\u5F53\u524D\u5B9E\u4F8B\u7684\u7C7B\u64CD\u4F5C\u5BF9\u8C61\u3002

name - field

val name: String
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u5F97\u5F53\u524D classSet \u7684 Class.getName\u3002

simpleName - field

val simpleName: String
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u5F97\u5F53\u524D classSet \u7684 Class.getSimpleName\u3002

generic - method

fun generic(): GenericClass?
diff --git a/docs/assets/CurrentClass.html.297341b7.js b/docs/assets/CurrentClass.html.205e8299.js
similarity index 99%
rename from docs/assets/CurrentClass.html.297341b7.js
rename to docs/assets/CurrentClass.html.205e8299.js
index c61d077..8536f0e 100644
--- a/docs/assets/CurrentClass.html.297341b7.js
+++ b/docs/assets/CurrentClass.html.205e8299.js
@@ -1,4 +1,4 @@
-import{_ as s,o as a,c as n,e as o}from"./app.472fa5e4.js";const e={},l=o(`

CurrentClass - class

class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any)
+import{_ as s,o as a,c as n,a as o}from"./app.2add9aa5.js";const e={},l=o(`

CurrentClass - class

class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5F53\u524D\u5B9E\u4F8B\u7684\u7C7B\u64CD\u4F5C\u5BF9\u8C61\u3002

name - field

val name: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u5F97\u5F53\u524D classSet \u7684 Class.getName\u3002

simpleName - field

val simpleName: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u5F97\u5F53\u524D classSet \u7684 Class.getSimpleName\u3002

generic - method

fun generic(): GenericClass?
diff --git a/docs/assets/DefinedTypeFactory.html.b7f090f2.js b/docs/assets/DefinedTypeFactory.html.db0bb621.js
similarity index 96%
rename from docs/assets/DefinedTypeFactory.html.b7f090f2.js
rename to docs/assets/DefinedTypeFactory.html.db0bb621.js
index 68ea9a1..55ed8ab 100644
--- a/docs/assets/DefinedTypeFactory.html.b7f090f2.js
+++ b/docs/assets/DefinedTypeFactory.html.db0bb621.js
@@ -1,2 +1,2 @@
-import{_ as e,o as s,c as o,e as t}from"./app.472fa5e4.js";const a={},n=t(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

DefinedTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u5185\u90E8\u7C7B\u578B\u7684\u5B9A\u4E49\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u7528\u4E8E\u53CD\u5C04 API \u76F8\u5173\u7528\u6CD5\u7684\u5EF6\u4F38\u3002

VagueType - field

val VagueType: Class<*>
+import{_ as e,o as s,c as o,a as t}from"./app.2add9aa5.js";const a={},n=t(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

DefinedTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u5185\u90E8\u7C7B\u578B\u7684\u5B9A\u4E49\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u7528\u4E8E\u53CD\u5C04 API \u76F8\u5173\u7528\u6CD5\u7684\u5EF6\u4F38\u3002

VagueType - field

val VagueType: Class<*>
 

Change Records

v1.0.0 first

Function Illustrate

\u5F97\u5230\u6A21\u7CCA\u7C7B\u578B\u3002

`,12),c=[n];function r(l,p){return s(),o("div",null,c)}const d=e(a,[["render",r],["__file","DefinedTypeFactory.html.vue"]]);export{d as default}; diff --git a/docs/assets/DefinedTypeFactory.html.da8da91c.js b/docs/assets/DefinedTypeFactory.html.e75cea89.js similarity index 95% rename from docs/assets/DefinedTypeFactory.html.da8da91c.js rename to docs/assets/DefinedTypeFactory.html.e75cea89.js index 322624d..b879834 100644 --- a/docs/assets/DefinedTypeFactory.html.da8da91c.js +++ b/docs/assets/DefinedTypeFactory.html.e75cea89.js @@ -1,2 +1,2 @@ -import{_ as e,o as s,c as a,e as o}from"./app.472fa5e4.js";const t={},n=o(`

DefinedTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u5185\u90E8\u7C7B\u578B\u7684\u5B9A\u4E49\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u7528\u4E8E\u53CD\u5C04 API \u76F8\u5173\u7528\u6CD5\u7684\u5EF6\u4F38\u3002

VagueType - field

val VagueType: Class<*>
+import{_ as e,o as s,c as a,a as o}from"./app.2add9aa5.js";const t={},n=o(`

DefinedTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u5185\u90E8\u7C7B\u578B\u7684\u5B9A\u4E49\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u7528\u4E8E\u53CD\u5C04 API \u76F8\u5173\u7528\u6CD5\u7684\u5EF6\u4F38\u3002

VagueType - field

val VagueType: Class<*>
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5F97\u5230\u6A21\u7CCA\u7C7B\u578B\u3002

`,11),c=[n];function p(l,r){return s(),a("div",null,c)}const i=e(t,[["render",p],["__file","DefinedTypeFactory.html.vue"]]);export{i as default}; diff --git a/docs/assets/DexClassFinder.html.8f8147cf.js b/docs/assets/DexClassFinder.html.00bc2e4b.js similarity index 98% rename from docs/assets/DexClassFinder.html.8f8147cf.js rename to docs/assets/DexClassFinder.html.00bc2e4b.js index 1656553..183d531 100644 --- a/docs/assets/DexClassFinder.html.8f8147cf.js +++ b/docs/assets/DexClassFinder.html.00bc2e4b.js @@ -1,4 +1,4 @@ -import{_ as s,o,c as e,e as a}from"./app.472fa5e4.js";const n={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

DexClassFinder - class

class DexClassFinder internal constructor(
+import{_ as s,o,c as e,a}from"./app.2add9aa5.js";const n={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

DexClassFinder - class

class DexClassFinder internal constructor(
     private val context: Context?,
     internal var name: String,
     internal var async: Boolean,
diff --git a/docs/assets/DexClassFinder.html.0a02d362.js b/docs/assets/DexClassFinder.html.50819339.js
similarity index 98%
rename from docs/assets/DexClassFinder.html.0a02d362.js
rename to docs/assets/DexClassFinder.html.50819339.js
index a97fa75..f459888 100644
--- a/docs/assets/DexClassFinder.html.0a02d362.js
+++ b/docs/assets/DexClassFinder.html.50819339.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as a,e}from"./app.472fa5e4.js";const n={},l=e(`

DexClassFinder - class

class DexClassFinder internal constructor(
+import{_ as s,o,c as a,a as e}from"./app.2add9aa5.js";const n={},l=e(`

DexClassFinder - class

class DexClassFinder internal constructor(
     private val context: Context?,
     internal var name: String,
     internal var async: Boolean,
diff --git a/docs/assets/FieldFinder.html.9c05fbb5.js b/docs/assets/FieldFinder.html.00221b25.js
similarity index 97%
rename from docs/assets/FieldFinder.html.9c05fbb5.js
rename to docs/assets/FieldFinder.html.00221b25.js
index b1ed1bc..59a9d2c 100644
--- a/docs/assets/FieldFinder.html.9c05fbb5.js
+++ b/docs/assets/FieldFinder.html.00221b25.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as o,e as a}from"./app.472fa5e4.js";const e={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

FieldFinder - class

class FieldFinder internal constructor(override val classSet: Class<*>?) : MemberBaseFinder
+import{_ as s,o as n,c as o,a}from"./app.2add9aa5.js";const e={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

FieldFinder - class

class FieldFinder internal constructor(override val classSet: Class<*>?) : MemberBaseFinder
 

Change Records

v1.0.0 first

Function Illustrate

Field \u67E5\u627E\u7C7B\u3002

\u53EF\u901A\u8FC7\u6307\u5B9A\u7C7B\u578B\u67E5\u627E\u6307\u5B9A Field \u6216\u4E00\u7EC4 Field\u3002

name - field

var name: String
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Field \u540D\u79F0\u3002

Pay Attention

\u82E5\u4E0D\u586B\u5199\u540D\u79F0\u5219\u5FC5\u987B\u5B58\u5728\u4E00\u4E2A\u5176\u5B83\u6761\u4EF6\u3002

type - field

var type: Any?
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Field \u7C7B\u578B\u3002

\u53EF\u4E0D\u586B\u5199\u7C7B\u578B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions): IndexTypeCondition
diff --git a/docs/assets/FieldFinder.html.c998316c.js b/docs/assets/FieldFinder.html.44edac16.js
similarity index 97%
rename from docs/assets/FieldFinder.html.c998316c.js
rename to docs/assets/FieldFinder.html.44edac16.js
index dba24db..72a5d5e 100644
--- a/docs/assets/FieldFinder.html.c998316c.js
+++ b/docs/assets/FieldFinder.html.44edac16.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as o,e as a}from"./app.472fa5e4.js";const e={},l=a(`

FieldFinder - class

class FieldFinder internal constructor(override val classSet: Class<*>?) : MemberBaseFinder
+import{_ as s,o as n,c as o,a}from"./app.2add9aa5.js";const e={},l=a(`

FieldFinder - class

class FieldFinder internal constructor(override val classSet: Class<*>?) : MemberBaseFinder
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Field \u67E5\u627E\u7C7B\u3002

\u53EF\u901A\u8FC7\u6307\u5B9A\u7C7B\u578B\u67E5\u627E\u6307\u5B9A Field \u6216\u4E00\u7EC4 Field\u3002

name - field

var name: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u540D\u79F0\u3002

\u7279\u522B\u6CE8\u610F

\u82E5\u4E0D\u586B\u5199\u540D\u79F0\u5219\u5FC5\u987B\u5B58\u5728\u4E00\u4E2A\u5176\u5B83\u6761\u4EF6\u3002

type - field

var type: Any?
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u7C7B\u578B\u3002

\u53EF\u4E0D\u586B\u5199\u7C7B\u578B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions): IndexTypeCondition
diff --git a/docs/assets/FieldRules.html.1239d25f.js b/docs/assets/FieldRules.html.14cfcb37.js
similarity index 79%
rename from docs/assets/FieldRules.html.1239d25f.js
rename to docs/assets/FieldRules.html.14cfcb37.js
index decd40e..39c0b34 100644
--- a/docs/assets/FieldRules.html.1239d25f.js
+++ b/docs/assets/FieldRules.html.14cfcb37.js
@@ -1,7 +1,7 @@
-import{_ as s,o as e,c as o,e as a}from"./app.472fa5e4.js";const n={},l=a(`

FieldRules - class

class FieldRules internal constructor(internal val rulesData: FieldRulesData) : BaseRules
+import{_ as s,o,c as e,a}from"./app.2add9aa5.js";const n={},l=a(`

FieldRules - class

class FieldRules internal constructor(internal val rulesData: FieldRulesData) : BaseRules
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Field \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

name - field

var name: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u540D\u79F0\u3002

type - field

var type: Any?
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u7C7B\u578B\u3002

\u53EF\u4E0D\u586B\u5199\u7C7B\u578B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\u3002

name - method

fun name(conditions: NameConditions)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u540D\u79F0\u6761\u4EF6\u3002

type - method

fun type(conditions: ObjectConditions)
-

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u7C7B\u578B\u6761\u4EF6\u3002

\u53EF\u4E0D\u586B\u5199\u7C7B\u578B\u3002

`,39),p=[l];function c(t,r){return e(),o("div",null,p)}const i=s(n,[["render",c],["__file","FieldRules.html.vue"]]);export{i as default}; +

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Field \u7C7B\u578B\u6761\u4EF6\u3002

\u53EF\u4E0D\u586B\u5199\u7C7B\u578B\u3002

`,39),p=[l];function c(t,r){return o(),e("div",null,p)}const i=s(n,[["render",c],["__file","FieldRules.html.vue"]]);export{i as default}; diff --git a/docs/assets/FieldRules.html.13208ccb.js b/docs/assets/FieldRules.html.29bf58de.js similarity index 98% rename from docs/assets/FieldRules.html.13208ccb.js rename to docs/assets/FieldRules.html.29bf58de.js index be88c4f..6cead1c 100644 --- a/docs/assets/FieldRules.html.13208ccb.js +++ b/docs/assets/FieldRules.html.29bf58de.js @@ -1,4 +1,4 @@ -import{_ as s,o as e,c as o,e as n}from"./app.472fa5e4.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

FieldRules - class

class FieldRules internal constructor(internal val rulesData: FieldRulesData) : BaseRules
+import{_ as s,o as e,c as o,a as n}from"./app.2add9aa5.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

FieldRules - class

class FieldRules internal constructor(internal val rulesData: FieldRulesData) : BaseRules
 

Change Records

v1.0.0 first

Function Illustrate

Field \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

name - field

var name: String
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Field \u540D\u79F0\u3002

type - field

var type: Any?
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Field \u7C7B\u578B\u3002

\u53EF\u4E0D\u586B\u5199\u7C7B\u578B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
diff --git a/docs/assets/GenericClass.html.0d25aad3.js b/docs/assets/GenericClass.html.29e779a0.js
similarity index 98%
rename from docs/assets/GenericClass.html.0d25aad3.js
rename to docs/assets/GenericClass.html.29e779a0.js
index 331e9d3..1bcfdf7 100644
--- a/docs/assets/GenericClass.html.0d25aad3.js
+++ b/docs/assets/GenericClass.html.29e779a0.js
@@ -1,4 +1,4 @@
-import{_ as s,o as a,c as n,e as o}from"./app.472fa5e4.js";const e={},l=o(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

GenericClass - class

class GenericClass internal constructor(private val type: ParameterizedType)
+import{_ as s,o as a,c as n,a as o}from"./app.2add9aa5.js";const e={},l=o(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

GenericClass - class

class GenericClass internal constructor(private val type: ParameterizedType)
 

Change Records

v1.0.0 first

Function Illustrate

\u5F53\u524D Class \u7684\u6CDB\u578B\u7236\u7C7B\u64CD\u4F5C\u5BF9\u8C61\u3002

argument - method

fun argument(index: Int): Class<*>
 
inline fun <reified T> argument(index: Int): Class<T>
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u5F97\u6CDB\u578B\u53C2\u6570\u6570\u7EC4\u4E0B\u6807\u7684 Class \u5B9E\u4F8B\u3002

`,14),p=[l];function t(c,r){return a(),n("div",null,p)}const y=s(e,[["render",t],["__file","GenericClass.html.vue"]]);export{y as default}; diff --git a/docs/assets/GenericClass.html.d70fe748.js b/docs/assets/GenericClass.html.937c5c5e.js similarity index 98% rename from docs/assets/GenericClass.html.d70fe748.js rename to docs/assets/GenericClass.html.937c5c5e.js index 444943c..1af279c 100644 --- a/docs/assets/GenericClass.html.d70fe748.js +++ b/docs/assets/GenericClass.html.937c5c5e.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as n,e as o}from"./app.472fa5e4.js";const l={},e=o(`

GenericClass - class

class GenericClass internal constructor(private val type: ParameterizedType)
+import{_ as s,o as a,c as n,a as o}from"./app.2add9aa5.js";const l={},e=o(`

GenericClass - class

class GenericClass internal constructor(private val type: ParameterizedType)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5F53\u524D Class \u7684\u6CDB\u578B\u7236\u7C7B\u64CD\u4F5C\u5BF9\u8C61\u3002

argument - method

fun argument(index: Int): Class<*>
 
inline fun <reified T> argument(index: Int): Class<T>
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u5F97\u6CDB\u578B\u53C2\u6570\u6570\u7EC4\u4E0B\u6807\u7684 Class \u5B9E\u4F8B\u3002

`,13),p=[e];function c(t,r){return a(),n("div",null,p)}const i=s(l,[["render",c],["__file","GenericClass.html.vue"]]);export{i as default}; diff --git a/docs/assets/GraphicsTypeFactory.html.5db530c2.js b/docs/assets/GraphicsTypeFactory.html.5db530c2.js deleted file mode 100644 index 17acdff..0000000 --- a/docs/assets/GraphicsTypeFactory.html.5db530c2.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c,r as a,o as r,c as s,a as o,b as n,e as i,d as e}from"./app.472fa5e4.js";const p={},d=i('

GraphicsTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Graphics \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),l=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),f=e(" \u8FDB\u884C\u67E5\u770B\u3002");function y(k,m){const t=a("ExternalLinkIcon");return r(),s("div",null,[d,o("p",null,[l,o("a",h,[_,n(t)]),f])])}const b=c(p,[["render",y],["__file","GraphicsTypeFactory.html.vue"]]);export{b as default}; diff --git a/docs/assets/GraphicsTypeFactory.html.80469b7b.js b/docs/assets/GraphicsTypeFactory.html.80469b7b.js deleted file mode 100644 index 82a42b5..0000000 --- a/docs/assets/GraphicsTypeFactory.html.80469b7b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,r as c,o as n,c as r,a as t,b as s,e as i,d as e}from"./app.472fa5e4.js";const p={},l=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

GraphicsTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Graphics \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),d=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),u=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(m,g){const o=c("ExternalLinkIcon");return n(),r("div",null,[l,t("p",null,[d,t("a",h,[_,s(o)]),u])])}const k=a(p,[["render",f],["__file","GraphicsTypeFactory.html.vue"]]);export{k as default}; diff --git a/docs/assets/GraphicsTypeFactory.html.c2987428.js b/docs/assets/GraphicsTypeFactory.html.c2987428.js new file mode 100644 index 0000000..66b5de3 --- /dev/null +++ b/docs/assets/GraphicsTypeFactory.html.c2987428.js @@ -0,0 +1 @@ +import{_ as a,r as c,o as n,c as r,b as t,d as s,a as i,e}from"./app.2add9aa5.js";const p={},l=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

GraphicsTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Graphics \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),d=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),u=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(m,g){const o=c("ExternalLinkIcon");return n(),r("div",null,[l,t("p",null,[d,t("a",h,[_,s(o)]),u])])}const k=a(p,[["render",f],["__file","GraphicsTypeFactory.html.vue"]]);export{k as default}; diff --git a/docs/assets/GraphicsTypeFactory.html.d8c3b342.js b/docs/assets/GraphicsTypeFactory.html.d8c3b342.js new file mode 100644 index 0000000..c366094 --- /dev/null +++ b/docs/assets/GraphicsTypeFactory.html.d8c3b342.js @@ -0,0 +1 @@ +import{_ as c,r as a,o as r,c as s,b as o,d as n,a as i,e}from"./app.2add9aa5.js";const p={},d=i('

GraphicsTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Graphics \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),l=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),f=e(" \u8FDB\u884C\u67E5\u770B\u3002");function y(k,m){const t=a("ExternalLinkIcon");return r(),s("div",null,[d,o("p",null,[l,o("a",h,[_,n(t)]),f])])}const b=c(p,[["render",y],["__file","GraphicsTypeFactory.html.vue"]]);export{b as default}; diff --git a/docs/assets/MemberRules.html.6518c444.js b/docs/assets/MemberRules.html.6518c444.js deleted file mode 100644 index 4e1da56..0000000 --- a/docs/assets/MemberRules.html.6518c444.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as s,o as e,c as o,e as n}from"./app.472fa5e4.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MemberRules - class

class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
-

Change Records

v1.0.0 first

Function Illustrate

Member \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
-

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Member \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\u3002

`,14),t=[l];function r(c,p){return e(),o("div",null,t)}const d=s(a,[["render",r],["__file","MemberRules.html.vue"]]);export{d as default}; diff --git a/docs/assets/MemberRules.html.e6dd0524.js b/docs/assets/MemberRules.html.e6dd0524.js new file mode 100644 index 0000000..278f5c8 --- /dev/null +++ b/docs/assets/MemberRules.html.e6dd0524.js @@ -0,0 +1,3 @@ +import{_ as s,o as e,c as o,a}from"./app.2add9aa5.js";const n={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MemberRules - class

class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
+

Change Records

v1.0.0 first

Function Illustrate

Member \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
+

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Member \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\u3002

`,14),t=[l];function r(c,p){return e(),o("div",null,t)}const d=s(n,[["render",r],["__file","MemberRules.html.vue"]]);export{d as default}; diff --git a/docs/assets/MemberRules.html.cdec39d1.js b/docs/assets/MemberRules.html.fb90baae.js similarity index 55% rename from docs/assets/MemberRules.html.cdec39d1.js rename to docs/assets/MemberRules.html.fb90baae.js index fc16958..82323ca 100644 --- a/docs/assets/MemberRules.html.cdec39d1.js +++ b/docs/assets/MemberRules.html.fb90baae.js @@ -1,3 +1,3 @@ -import{_ as s,o as e,c as o,e as a}from"./app.472fa5e4.js";const n={},l=a(`

MemberRules - class

class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
+import{_ as s,o as e,c as o,a}from"./app.2add9aa5.js";const n={},l=a(`

MemberRules - class

class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Member \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

modifiers - method

fun modifiers(conditions: ModifierConditions)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Member \u6807\u8BC6\u7B26\u7B5B\u9009\u6761\u4EF6\u3002

\u53EF\u4E0D\u8BBE\u7F6E\u7B5B\u9009\u6761\u4EF6\u3002

`,13),p=[l];function c(r,t){return e(),o("div",null,p)}const i=s(n,[["render",c],["__file","MemberRules.html.vue"]]);export{i as default}; diff --git a/docs/assets/MemberRulesResult.html.b64c651c.js b/docs/assets/MemberRulesResult.html.0030e851.js similarity index 98% rename from docs/assets/MemberRulesResult.html.b64c651c.js rename to docs/assets/MemberRulesResult.html.0030e851.js index 28ffbd2..9cfef58 100644 --- a/docs/assets/MemberRulesResult.html.b64c651c.js +++ b/docs/assets/MemberRulesResult.html.0030e851.js @@ -1,4 +1,4 @@ -import{_ as s,o as e,c as o,e as n}from"./app.472fa5e4.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MemberRulesResult - class

class MemberRulesResult internal constructor(private val rulesData: MemberRulesData)
+import{_ as s,o as e,c as o,a as n}from"./app.2add9aa5.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MemberRulesResult - class

class MemberRulesResult internal constructor(private val rulesData: MemberRulesData)
 

Change Records

v1.0.0 first

Function Illustrate

\u5F53\u524D Member \u67E5\u627E\u6761\u4EF6\u7ED3\u679C\u5B9E\u73B0\u7C7B\u3002

none - method

fun none(): MemberRulesResult
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E\u5F53\u524D Member \u5728\u67E5\u627E\u6761\u4EF6\u4E2D\u4E2A\u6570\u4E3A 0\u3002

count - method

fun count(num: Int): MemberRulesResult
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E\u5F53\u524D Member \u5728\u67E5\u627E\u6761\u4EF6\u4E2D\u9700\u8981\u5168\u90E8\u5339\u914D\u7684\u4E2A\u6570\u3002

count - method

fun count(numRange: IntRange): MemberRulesResult
diff --git a/docs/assets/MemberRulesResult.html.64bbc025.js b/docs/assets/MemberRulesResult.html.230c0739.js
similarity index 98%
rename from docs/assets/MemberRulesResult.html.64bbc025.js
rename to docs/assets/MemberRulesResult.html.230c0739.js
index c77ad21..3f53db2 100644
--- a/docs/assets/MemberRulesResult.html.64bbc025.js
+++ b/docs/assets/MemberRulesResult.html.230c0739.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as e,e as n}from"./app.472fa5e4.js";const a={},l=n(`

MemberRulesResult - class

class MemberRulesResult internal constructor(private val rulesData: MemberRulesData)
+import{_ as s,o,c as e,a as n}from"./app.2add9aa5.js";const a={},l=n(`

MemberRulesResult - class

class MemberRulesResult internal constructor(private val rulesData: MemberRulesData)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5F53\u524D Member \u67E5\u627E\u6761\u4EF6\u7ED3\u679C\u5B9E\u73B0\u7C7B\u3002

none - method

fun none(): MemberRulesResult
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E\u5F53\u524D Member \u5728\u67E5\u627E\u6761\u4EF6\u4E2D\u4E2A\u6570\u4E3A 0\u3002

count - method

fun count(num: Int): MemberRulesResult
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E\u5F53\u524D Member \u5728\u67E5\u627E\u6761\u4EF6\u4E2D\u9700\u8981\u5168\u90E8\u5339\u914D\u7684\u4E2A\u6570\u3002

count - method

fun count(numRange: IntRange): MemberRulesResult
diff --git a/docs/assets/MethodFinder.html.a001c26d.js b/docs/assets/MethodFinder.html.30643f39.js
similarity index 98%
rename from docs/assets/MethodFinder.html.a001c26d.js
rename to docs/assets/MethodFinder.html.30643f39.js
index 6dfc942..c8a2738 100644
--- a/docs/assets/MethodFinder.html.a001c26d.js
+++ b/docs/assets/MethodFinder.html.30643f39.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as n,e as a}from"./app.472fa5e4.js";const e={},l=a(`

MethodFinder - class

class MethodFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
+import{_ as s,o,c as n,a}from"./app.2add9aa5.js";const e={},l=a(`

MethodFinder - class

class MethodFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Method \u67E5\u627E\u7C7B\u3002

\u53EF\u901A\u8FC7\u6307\u5B9A\u7C7B\u578B\u67E5\u627E\u6307\u5B9A Method \u6216\u4E00\u7EC4 Method\u3002

name - field

var name: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Method \u540D\u79F0\u3002

\u7279\u522B\u6CE8\u610F

\u82E5\u4E0D\u586B\u5199\u540D\u79F0\u5219\u5FC5\u987B\u5B58\u5728\u4E00\u4E2A\u5176\u5B83\u6761\u4EF6\u3002

paramCount - field

var paramCount: Int
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Method \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

returnType - field

var returnType: Any?
diff --git a/docs/assets/MethodFinder.html.34c11b50.js b/docs/assets/MethodFinder.html.bae1e13a.js
similarity index 97%
rename from docs/assets/MethodFinder.html.34c11b50.js
rename to docs/assets/MethodFinder.html.bae1e13a.js
index a8efc08..314f923 100644
--- a/docs/assets/MethodFinder.html.34c11b50.js
+++ b/docs/assets/MethodFinder.html.bae1e13a.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as o,e as a}from"./app.472fa5e4.js";const e={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MethodFinder - class

class MethodFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
+import{_ as s,o as n,c as o,a}from"./app.2add9aa5.js";const e={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MethodFinder - class

class MethodFinder internal constructor(override val classSet: Class<*>) : MemberBaseFinder
 

Change Records

v1.0.0 first

Function Illustrate

Method \u67E5\u627E\u7C7B\u3002

\u53EF\u901A\u8FC7\u6307\u5B9A\u7C7B\u578B\u67E5\u627E\u6307\u5B9A Method \u6216\u4E00\u7EC4 Method\u3002

name - field

var name: String
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Method \u540D\u79F0\u3002

Pay Attention

\u82E5\u4E0D\u586B\u5199\u540D\u79F0\u5219\u5FC5\u987B\u5B58\u5728\u4E00\u4E2A\u5176\u5B83\u6761\u4EF6\u3002

paramCount - field

var paramCount: Int
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Method \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

returnType - field

var returnType: Any?
diff --git a/docs/assets/MethodRules.html.b4cbf775.js b/docs/assets/MethodRules.html.a2613ed0.js
similarity index 89%
rename from docs/assets/MethodRules.html.b4cbf775.js
rename to docs/assets/MethodRules.html.a2613ed0.js
index 48b85c3..daada14 100644
--- a/docs/assets/MethodRules.html.b4cbf775.js
+++ b/docs/assets/MethodRules.html.a2613ed0.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as a,e}from"./app.472fa5e4.js";const n={},p=e(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MethodRules - class

class MethodRules internal constructor(internal val rulesData: MethodRulesData) : BaseRules
+import{_ as s,o,c as a,a as e}from"./app.2add9aa5.js";const n={},p=e(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

MethodRules - class

class MethodRules internal constructor(internal val rulesData: MethodRulesData) : BaseRules
 

Change Records

v1.0.0 first

Function Illustrate

Method \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

name - field

var name: String
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Method \u540D\u79F0\u3002

paramCount - field

var paramCount: Int
 

Change Records

v1.0.0 first

Function Illustrate

\u8BBE\u7F6E Method \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

returnType - field

var returnType: Any?
diff --git a/docs/assets/MethodRules.html.f3f4b9cf.js b/docs/assets/MethodRules.html.e854c479.js
similarity index 91%
rename from docs/assets/MethodRules.html.f3f4b9cf.js
rename to docs/assets/MethodRules.html.e854c479.js
index 719ea5e..465ebcb 100644
--- a/docs/assets/MethodRules.html.f3f4b9cf.js
+++ b/docs/assets/MethodRules.html.e854c479.js
@@ -1,4 +1,4 @@
-import{_ as s,o,c as a,e}from"./app.472fa5e4.js";const n={},p=e(`

MethodRules - class

class MethodRules internal constructor(internal val rulesData: MethodRulesData) : BaseRules
+import{_ as s,o,c as a,a as e}from"./app.2add9aa5.js";const n={},p=e(`

MethodRules - class

class MethodRules internal constructor(internal val rulesData: MethodRulesData) : BaseRules
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Method \u67E5\u627E\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

name - field

var name: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Method \u540D\u79F0\u3002

paramCount - field

var paramCount: Int
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8BBE\u7F6E Method \u53C2\u6570\u4E2A\u6570\u3002

\u4F60\u53EF\u4EE5\u4E0D\u4F7F\u7528 param \u6307\u5B9A\u53C2\u6570\u7C7B\u578B\u800C\u662F\u4EC5\u4F7F\u7528\u6B64\u53D8\u91CF\u6307\u5B9A\u53C2\u6570\u4E2A\u6570\u3002

\u82E5\u53C2\u6570\u4E2A\u6570\u5C0F\u4E8E\u96F6\u5219\u5FFD\u7565\u5E76\u4F7F\u7528 param\u3002

returnType - field

var returnType: Any?
diff --git a/docs/assets/ModifierRules.html.1078f830.js b/docs/assets/ModifierRules.html.23e3a69f.js
similarity index 91%
rename from docs/assets/ModifierRules.html.1078f830.js
rename to docs/assets/ModifierRules.html.23e3a69f.js
index b3e3bb9..9d8f620 100644
--- a/docs/assets/ModifierRules.html.1078f830.js
+++ b/docs/assets/ModifierRules.html.23e3a69f.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as o,e as a}from"./app.472fa5e4.js";const n={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ModifierRules - class

class ModifierRules private constructor()
+import{_ as s,o as e,c as o,a}from"./app.2add9aa5.js";const n={},l=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ModifierRules - class

class ModifierRules private constructor()
 

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A Class\u3001Member \u63CF\u8FF0\u7B26\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

isPublic - i-ext-field

val isPublic: Boolean
 

Change Records

v1.0.0 first

Function Illustrate

Class\u3001Member \u7C7B\u578B\u662F\u5426\u5305\u542B public\u3002

isPrivate - i-ext-field

val isPrivate: Boolean
 

Change Records

v1.0.0 first

Function Illustrate

Class\u3001Member \u7C7B\u578B\u662F\u5426\u5305\u542B private\u3002

isProtected - i-ext-field

val isProtected: Boolean
diff --git a/docs/assets/ModifierRules.html.7cb5c257.js b/docs/assets/ModifierRules.html.b6f683e3.js
similarity index 94%
rename from docs/assets/ModifierRules.html.7cb5c257.js
rename to docs/assets/ModifierRules.html.b6f683e3.js
index b8fdae7..cd7e73a 100644
--- a/docs/assets/ModifierRules.html.7cb5c257.js
+++ b/docs/assets/ModifierRules.html.b6f683e3.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as o,e as a}from"./app.472fa5e4.js";const n={},l=a(`

ModifierRules - class

class ModifierRules private constructor()
+import{_ as s,o as e,c as o,a}from"./app.2add9aa5.js";const n={},l=a(`

ModifierRules - class

class ModifierRules private constructor()
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A Class\u3001Member \u63CF\u8FF0\u7B26\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

isPublic - i-ext-field

val isPublic: Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Class\u3001Member \u7C7B\u578B\u662F\u5426\u5305\u542B public\u3002

isPrivate - i-ext-field

val isPrivate: Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

Class\u3001Member \u7C7B\u578B\u662F\u5426\u5305\u542B private\u3002

isProtected - i-ext-field

val isProtected: Boolean
diff --git a/docs/assets/NameRules.html.e17397ad.js b/docs/assets/NameRules.html.5824cbcd.js
similarity index 99%
rename from docs/assets/NameRules.html.e17397ad.js
rename to docs/assets/NameRules.html.5824cbcd.js
index 13498a1..c1505af 100644
--- a/docs/assets/NameRules.html.e17397ad.js
+++ b/docs/assets/NameRules.html.5824cbcd.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as n,e as o}from"./app.472fa5e4.js";const a={},t=o(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

NameRules - class

class NameRules private constructor()
+import{_ as s,o as e,c as n,a as o}from"./app.2add9aa5.js";const a={},t=o(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

NameRules - class

class NameRules private constructor()
 

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u6A21\u7CCA Class\u3001Member \u540D\u79F0\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

String.isSynthetic - i-ext-method

fun String.isSynthetic(index: Int): Boolean
 

Change Records

v1.0.0 first

Function Illustrate

\u662F\u5426\u4E3A\u533F\u540D\u7C7B\u7684\u4E3B\u7C7B\u8C03\u7528\u5BF9\u8C61\u3002

String.isOnlySymbols - i-ext-method

fun String.isOnlySymbols(): Boolean
 

Change Records

v1.0.0 first

Function Illustrate

\u662F\u5426\u53EA\u6709\u7B26\u53F7\u3002

String.isOnlyLetters - i-ext-method

fun String.isOnlyLetters(): Boolean
diff --git a/docs/assets/NameRules.html.2d1132e2.js b/docs/assets/NameRules.html.6db86216.js
similarity index 99%
rename from docs/assets/NameRules.html.2d1132e2.js
rename to docs/assets/NameRules.html.6db86216.js
index 3c3a136..985e6c7 100644
--- a/docs/assets/NameRules.html.2d1132e2.js
+++ b/docs/assets/NameRules.html.6db86216.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as n,e as o}from"./app.472fa5e4.js";const a={},l=o(`

NameRules - class

class NameRules private constructor()
+import{_ as s,o as e,c as n,a as o}from"./app.2add9aa5.js";const a={},l=o(`

NameRules - class

class NameRules private constructor()
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u6A21\u7CCA Class\u3001Member \u540D\u79F0\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

String.isSynthetic - i-ext-method

fun String.isSynthetic(index: Int): Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u662F\u5426\u4E3A\u533F\u540D\u7C7B\u7684\u4E3B\u7C7B\u8C03\u7528\u5BF9\u8C61\u3002

String.isOnlySymbols - i-ext-method

fun String.isOnlySymbols(): Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u662F\u5426\u53EA\u6709\u7B26\u53F7\u3002

String.isOnlyLetters - i-ext-method

fun String.isOnlyLetters(): Boolean
diff --git a/docs/assets/ObjectRules.html.2373dc72.js b/docs/assets/ObjectRules.html.2373dc72.js
new file mode 100644
index 0000000..4960953
--- /dev/null
+++ b/docs/assets/ObjectRules.html.2373dc72.js
@@ -0,0 +1,2 @@
+import{_ as s,o as e,c as o,a}from"./app.2add9aa5.js";const l={},n=a(`

ObjectRules - class

class ObjectRules private constructor(private val instance: Any)
+

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u4EFB\u610F\u5BF9\u8C61\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

`,7),c=[n];function t(p,r){return e(),o("div",null,c)}const i=s(l,[["render",t],["__file","ObjectRules.html.vue"]]);export{i as default}; diff --git a/docs/assets/ObjectRules.html.e6691926.js b/docs/assets/ObjectRules.html.e6691926.js new file mode 100644 index 0000000..73097e6 --- /dev/null +++ b/docs/assets/ObjectRules.html.e6691926.js @@ -0,0 +1,2 @@ +import{_ as s,o as e,c as o,a}from"./app.2add9aa5.js";const n={},t=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ObjectRules - class

class ObjectRules private constructor(private val instance: Any)
+

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u4EFB\u610F\u5BF9\u8C61\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

`,8),c=[t];function l(r,p){return e(),o("div",null,c)}const d=s(n,[["render",l],["__file","ObjectRules.html.vue"]]);export{d as default}; diff --git a/docs/assets/ObjectRules.html.f794b8f1.js b/docs/assets/ObjectRules.html.f794b8f1.js deleted file mode 100644 index 0079f1d..0000000 --- a/docs/assets/ObjectRules.html.f794b8f1.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as s,o as e,c as o,e as a}from"./app.472fa5e4.js";const n={},t=a(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ObjectRules - class

class ObjectRules private constructor(private val instance: Any)
-

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u4EFB\u610F\u5BF9\u8C61\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

`,8),c=[t];function l(r,p){return e(),o("div",null,c)}const d=s(n,[["render",l],["__file","ObjectRules.html.vue"]]);export{d as default}; diff --git a/docs/assets/ObjectRules.html.fb9dbd7b.js b/docs/assets/ObjectRules.html.fb9dbd7b.js deleted file mode 100644 index 8d921f0..0000000 --- a/docs/assets/ObjectRules.html.fb9dbd7b.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as s,o as e,c as o,e as a}from"./app.472fa5e4.js";const l={},n=a(`

ObjectRules - class

class ObjectRules private constructor(private val instance: Any)
-

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u4EFB\u610F\u5BF9\u8C61\u6761\u4EF6\u5B9E\u73B0\u7C7B\u3002

\u53EF\u5BF9 R8 \u6DF7\u6DC6\u540E\u7684 Class\u3001Member \u8FDB\u884C\u66F4\u52A0\u8BE6\u7EC6\u7684\u5B9A\u4F4D\u3002

`,7),c=[n];function t(p,r){return e(),o("div",null,c)}const i=s(l,[["render",t],["__file","ObjectRules.html.vue"]]);export{i as default}; diff --git a/docs/assets/ReflectionFactory.html.c776f112.js b/docs/assets/ReflectionFactory.html.3a708e8c.js similarity index 99% rename from docs/assets/ReflectionFactory.html.c776f112.js rename to docs/assets/ReflectionFactory.html.3a708e8c.js index c7bb24d..19a3120 100644 --- a/docs/assets/ReflectionFactory.html.c776f112.js +++ b/docs/assets/ReflectionFactory.html.3a708e8c.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as n,e as l}from"./app.472fa5e4.js";const o={},e=l(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ReflectionFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u81EA\u5B9A\u4E49 Member \u548C Class \u76F8\u5173\u529F\u80FD\u7684\u67E5\u627E\u5339\u914D\u4EE5\u53CA invoke \u7684\u5C01\u88C5\u7C7B\u3002

ClassLoader.listOfClasses - ext-method

fun ClassLoader.listOfClasses(): List<String>
+import{_ as s,o as a,c as n,a as l}from"./app.2add9aa5.js";const o={},e=l(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ReflectionFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u81EA\u5B9A\u4E49 Member \u548C Class \u76F8\u5173\u529F\u80FD\u7684\u67E5\u627E\u5339\u914D\u4EE5\u53CA invoke \u7684\u5C01\u88C5\u7C7B\u3002

ClassLoader.listOfClasses - ext-method

fun ClassLoader.listOfClasses(): List<String>
 

Change Records

v1.0.0 first

Function Illustrate

\u5199\u51FA\u5F53\u524D ClassLoader \u4E0B\u6240\u6709 Class \u540D\u79F0\u6570\u7EC4\u3002

Notice

\u6B64\u65B9\u6CD5\u5728 Class \u6570\u91CF\u8FC7\u591A\u65F6\u4F1A\u975E\u5E38\u8017\u65F6\u3002

\u82E5\u8981\u6309\u6307\u5B9A\u89C4\u5219\u67E5\u627E\u4E00\u4E2A Class\uFF0C\u8BF7\u4F7F\u7528 ClassLoader.searchClass \u65B9\u6CD5\u3002

ClassLoader.searchClass - ext-method

inline fun ClassLoader.searchClass(context: Context?, name: String, async: Boolean, initiate: ClassConditions): DexClassFinder.Result
 

Change Records

v1.0.0 first

Function Illustrate

\u901A\u8FC7\u5F53\u524D ClassLoader \u6309\u6307\u5B9A\u6761\u4EF6\u67E5\u627E\u5E76\u5F97\u5230 Dex \u4E2D\u7684 Class\u3002

Pay Attention

\u6B64\u65B9\u6CD5\u5728 Class \u6570\u91CF\u8FC7\u591A\u53CA\u67E5\u627E\u6761\u4EF6\u590D\u6742\u65F6\u4F1A\u975E\u5E38\u8017\u65F6\u3002

\u5EFA\u8BAE\u542F\u7528 async \u6216\u8BBE\u7F6E name \u53C2\u6570\uFF0Cname \u53C2\u6570\u5C06\u5728\u5F53\u524D APP \u4E0D\u540C\u7248\u672C\u4E2D\u81EA\u52A8\u8FDB\u884C\u672C\u5730\u7F13\u5B58\u4EE5\u63D0\u5347\u6548\u7387\u3002

\u5982\u679C\u4F7F\u7528\u4E86 async \u6216 name \u53C2\u6570\uFF0C\u5219\u5FC5\u987B\u586B\u5199 context \u53C2\u6570\u3002

\u6B64\u529F\u80FD\u5C1A\u5728\u8BD5\u9A8C\u9636\u6BB5\uFF0C\u6027\u80FD\u4E0E\u7A33\u5B9A\u6027\u53EF\u80FD\u4ECD\u7136\u5B58\u5728\u95EE\u9898\uFF0C\u4F7F\u7528\u8FC7\u7A0B\u9047\u5230\u95EE\u9898\u8BF7\u5411\u6211\u4EEC\u62A5\u544A\u5E76\u5E2E\u52A9\u6211\u4EEC\u6539\u8FDB\u3002

Class.hasExtends - ext-field

val Class<*>.hasExtends: Boolean
 

Change Records

v1.0.0 first

Function Illustrate

\u5F53\u524D Class \u662F\u5426\u6709\u7EE7\u627F\u5173\u7CFB\uFF0C\u7236\u7C7B\u662F Any \u5C06\u88AB\u8BA4\u4E3A\u6CA1\u6709\u7EE7\u627F\u5173\u7CFB\u3002

Class?.extends - ext-method

infix fun Class<*>?.extends(other: Class<*>?): Boolean
diff --git a/docs/assets/ReflectionFactory.html.58a06d73.js b/docs/assets/ReflectionFactory.html.faaec016.js
similarity index 99%
rename from docs/assets/ReflectionFactory.html.58a06d73.js
rename to docs/assets/ReflectionFactory.html.faaec016.js
index f3ac393..c926475 100644
--- a/docs/assets/ReflectionFactory.html.58a06d73.js
+++ b/docs/assets/ReflectionFactory.html.faaec016.js
@@ -1,4 +1,4 @@
-import{_ as s,o as a,c as n,e as l}from"./app.472fa5e4.js";const o={},e=l(`

ReflectionFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u81EA\u5B9A\u4E49 Member \u548C Class \u76F8\u5173\u529F\u80FD\u7684\u67E5\u627E\u5339\u914D\u4EE5\u53CA invoke \u7684\u5C01\u88C5\u7C7B\u3002

ClassLoader.listOfClasses - ext-method

fun ClassLoader.listOfClasses(): List<String>
+import{_ as s,o as a,c as n,a as l}from"./app.2add9aa5.js";const o={},e=l(`

ReflectionFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u81EA\u5B9A\u4E49 Member \u548C Class \u76F8\u5173\u529F\u80FD\u7684\u67E5\u627E\u5339\u914D\u4EE5\u53CA invoke \u7684\u5C01\u88C5\u7C7B\u3002

ClassLoader.listOfClasses - ext-method

fun ClassLoader.listOfClasses(): List<String>
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5199\u51FA\u5F53\u524D ClassLoader \u4E0B\u6240\u6709 Class \u540D\u79F0\u6570\u7EC4\u3002

\u6CE8\u610F

\u6B64\u65B9\u6CD5\u5728 Class \u6570\u91CF\u8FC7\u591A\u65F6\u4F1A\u975E\u5E38\u8017\u65F6\u3002

\u82E5\u8981\u6309\u6307\u5B9A\u89C4\u5219\u67E5\u627E\u4E00\u4E2A Class\uFF0C\u8BF7\u4F7F\u7528 ClassLoader.searchClass \u65B9\u6CD5\u3002

ClassLoader.searchClass - ext-method

inline fun ClassLoader.searchClass(context: Context?, name: String, async: Boolean, initiate: ClassConditions): DexClassFinder.Result
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u901A\u8FC7\u5F53\u524D ClassLoader \u6309\u6307\u5B9A\u6761\u4EF6\u67E5\u627E\u5E76\u5F97\u5230 Dex \u4E2D\u7684 Class\u3002

\u7279\u522B\u6CE8\u610F

\u6B64\u65B9\u6CD5\u5728 Class \u6570\u91CF\u8FC7\u591A\u53CA\u67E5\u627E\u6761\u4EF6\u590D\u6742\u65F6\u4F1A\u975E\u5E38\u8017\u65F6\u3002

\u5EFA\u8BAE\u542F\u7528 async \u6216\u8BBE\u7F6E name \u53C2\u6570\uFF0Cname \u53C2\u6570\u5C06\u5728\u5F53\u524D APP \u4E0D\u540C\u7248\u672C\u4E2D\u81EA\u52A8\u8FDB\u884C\u672C\u5730\u7F13\u5B58\u4EE5\u63D0\u5347\u6548\u7387\u3002

\u5982\u679C\u4F7F\u7528\u4E86 async \u6216 name \u53C2\u6570\uFF0C\u5219\u5FC5\u987B\u586B\u5199 context \u53C2\u6570\u3002

\u6B64\u529F\u80FD\u5C1A\u5728\u8BD5\u9A8C\u9636\u6BB5\uFF0C\u6027\u80FD\u4E0E\u7A33\u5B9A\u6027\u53EF\u80FD\u4ECD\u7136\u5B58\u5728\u95EE\u9898\uFF0C\u4F7F\u7528\u8FC7\u7A0B\u9047\u5230\u95EE\u9898\u8BF7\u5411\u6211\u4EEC\u62A5\u544A\u5E76\u5E2E\u52A9\u6211\u4EEC\u6539\u8FDB\u3002

Class.hasExtends - ext-field

val Class<*>.hasExtends: Boolean
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u5F53\u524D Class \u662F\u5426\u6709\u7EE7\u627F\u5173\u7CFB\uFF0C\u7236\u7C7B\u662F Any \u5C06\u88AB\u8BA4\u4E3A\u6CA1\u6709\u7EE7\u627F\u5173\u7CFB\u3002

Class?.extends - ext-method

infix fun Class<*>?.extends(other: Class<*>?): Boolean
diff --git a/docs/assets/VariableTypeFactory.html.c4f9e250.js b/docs/assets/VariableTypeFactory.html.2f75d9b7.js
similarity index 89%
rename from docs/assets/VariableTypeFactory.html.c4f9e250.js
rename to docs/assets/VariableTypeFactory.html.2f75d9b7.js
index d6e43d0..9e6bcb0 100644
--- a/docs/assets/VariableTypeFactory.html.c4f9e250.js
+++ b/docs/assets/VariableTypeFactory.html.2f75d9b7.js
@@ -1 +1 @@
-import{_ as t,r as c,o as r,c as n,a,b as s,e as l,d as e}from"./app.472fa5e4.js";const i={},d=l('

VariableTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Java \u76F8\u5173\u57FA\u672C\u53D8\u91CF\u7C7B\u578B\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),p=e("\u8BE6\u60C5\u53EF "),_={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/java/VariableTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},h=e("\u70B9\u51FB\u8FD9\u91CC"),b=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(y,k){const o=c("ExternalLinkIcon");return r(),n("div",null,[d,a("p",null,[p,a("a",_,[h,s(o)]),b])])}const u=t(i,[["render",f],["__file","VariableTypeFactory.html.vue"]]);export{u as default}; +import{_ as t,r as c,o as r,c as n,b as a,d as s,a as l,e}from"./app.2add9aa5.js";const i={},d=l('

VariableTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Java \u76F8\u5173\u57FA\u672C\u53D8\u91CF\u7C7B\u578B\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),p=e("\u8BE6\u60C5\u53EF "),_={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/java/VariableTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},h=e("\u70B9\u51FB\u8FD9\u91CC"),b=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(y,k){const o=c("ExternalLinkIcon");return r(),n("div",null,[d,a("p",null,[p,a("a",_,[h,s(o)]),b])])}const u=t(i,[["render",f],["__file","VariableTypeFactory.html.vue"]]);export{u as default}; diff --git a/docs/assets/VariableTypeFactory.html.a02b32e0.js b/docs/assets/VariableTypeFactory.html.a02b32e0.js new file mode 100644 index 0000000..106eaff --- /dev/null +++ b/docs/assets/VariableTypeFactory.html.a02b32e0.js @@ -0,0 +1 @@ +import{_ as a,r as n,o as r,c,b as t,d as s,a as i,e}from"./app.2add9aa5.js";const l={},p=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

VariableTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Java \u76F8\u5173\u57FA\u672C\u53D8\u91CF\u7C7B\u578B\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),d=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/java/VariableTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),u=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(b,m){const o=n("ExternalLinkIcon");return r(),c("div",null,[p,t("p",null,[d,t("a",h,[_,s(o)]),u])])}const g=a(l,[["render",f],["__file","VariableTypeFactory.html.vue"]]);export{g as default}; diff --git a/docs/assets/VariableTypeFactory.html.fa6b508c.js b/docs/assets/VariableTypeFactory.html.fa6b508c.js deleted file mode 100644 index f6a050e..0000000 --- a/docs/assets/VariableTypeFactory.html.fa6b508c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,r as n,o as r,c,a as t,b as s,e as i,d as e}from"./app.472fa5e4.js";const l={},p=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

VariableTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Java \u76F8\u5173\u57FA\u672C\u53D8\u91CF\u7C7B\u578B\u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),d=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/java/VariableTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),u=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(b,m){const o=n("ExternalLinkIcon");return r(),c("div",null,[p,t("p",null,[d,t("a",h,[_,s(o)]),u])])}const g=a(l,[["render",f],["__file","VariableTypeFactory.html.vue"]]);export{g as default}; diff --git a/docs/assets/VariousClass.html.a35b416f.js b/docs/assets/VariousClass.html.416446a8.js similarity index 98% rename from docs/assets/VariousClass.html.a35b416f.js rename to docs/assets/VariousClass.html.416446a8.js index b2774ac..7e697d3 100644 --- a/docs/assets/VariousClass.html.a35b416f.js +++ b/docs/assets/VariousClass.html.416446a8.js @@ -1,4 +1,4 @@ -import{_ as s,o,c as a,e as n}from"./app.472fa5e4.js";const l={},e=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

VariousClass - class

class VariousClass(private vararg val name: String)
+import{_ as s,o,c as a,a as n}from"./app.2add9aa5.js";const l={},e=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

VariousClass - class

class VariousClass(private vararg val name: String)
 

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u4E0D\u786E\u5B9A\u6027 Class \u7C7B\u540D\u88C5\u8F7D\u5668\uFF0C\u901A\u8FC7 name \u88C5\u8F7D Class \u540D\u79F0\u6570\u7EC4\u3002

get - method

fun get(loader: ClassLoader? = null, initialize: Boolean): Class<*>
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u53D6\u5339\u914D\u7684\u5B9E\u4F53\u7C7B\u3002

\u4F7F\u7528\u5F53\u524D loader \u88C5\u8F7D\u76EE\u6807 Class\u3002

getOrNull - method

fun getOrNull(loader: ClassLoader? = null, initialize: Boolean): Class<*>?
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u53D6\u5339\u914D\u7684\u5B9E\u4F53\u7C7B\u3002

\u4F7F\u7528\u5F53\u524D loader \u88C5\u8F7D\u76EE\u6807 Class\u3002

\u5339\u914D\u4E0D\u5230 Class \u4F1A\u8FD4\u56DE null\uFF0C\u4E0D\u4F1A\u629B\u51FA\u5F02\u5E38\u3002

`,22),p=[e];function t(c,r){return o(),a("div",null,p)}const i=s(l,[["render",t],["__file","VariousClass.html.vue"]]);export{i as default}; diff --git a/docs/assets/VariousClass.html.8b2dbb63.js b/docs/assets/VariousClass.html.66b228e1.js similarity index 98% rename from docs/assets/VariousClass.html.8b2dbb63.js rename to docs/assets/VariousClass.html.66b228e1.js index af629ee..5bc3911 100644 --- a/docs/assets/VariousClass.html.8b2dbb63.js +++ b/docs/assets/VariousClass.html.66b228e1.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as o,e as l}from"./app.472fa5e4.js";const n={},e=l(`

VariousClass - class

class VariousClass(private vararg val name: String)
+import{_ as s,o as a,c as o,a as l}from"./app.2add9aa5.js";const n={},e=l(`

VariousClass - class

class VariousClass(private vararg val name: String)
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u4E0D\u786E\u5B9A\u6027 Class \u7C7B\u540D\u88C5\u8F7D\u5668\uFF0C\u901A\u8FC7 name \u88C5\u8F7D Class \u540D\u79F0\u6570\u7EC4\u3002

get - method

fun get(loader: ClassLoader? = null, initialize: Boolean): Class<*>
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u53D6\u5339\u914D\u7684\u5B9E\u4F53\u7C7B\u3002

\u4F7F\u7528\u5F53\u524D loader \u88C5\u8F7D\u76EE\u6807 Class\u3002

getOrNull - method

fun getOrNull(loader: ClassLoader? = null, initialize: Boolean): Class<*>?
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u53D6\u5339\u914D\u7684\u5B9E\u4F53\u7C7B\u3002

\u4F7F\u7528\u5F53\u524D loader \u88C5\u8F7D\u76EE\u6807 Class\u3002

\u5339\u914D\u4E0D\u5230 Class \u4F1A\u8FD4\u56DE null\uFF0C\u4E0D\u4F1A\u629B\u51FA\u5F02\u5E38\u3002

`,21),p=[e];function c(t,r){return a(),o("div",null,p)}const y=s(n,[["render",c],["__file","VariousClass.html.vue"]]);export{y as default}; diff --git a/docs/assets/ViewTypeFactory.html.1609776e.js b/docs/assets/ViewTypeFactory.html.1609776e.js new file mode 100644 index 0000000..fa06299 --- /dev/null +++ b/docs/assets/ViewTypeFactory.html.1609776e.js @@ -0,0 +1 @@ +import{_ as c,r as a,o as n,c as r,b as o,d as s,a as i,e}from"./app.2add9aa5.js";const d={},l=i('

ViewTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Widget \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),p=e("\u8BE6\u60C5\u53EF "),_={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ViewTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},h=e("\u70B9\u51FB\u8FD9\u91CC"),f=e(" \u8FDB\u884C\u67E5\u770B\u3002");function y(k,m){const t=a("ExternalLinkIcon");return n(),r("div",null,[l,o("p",null,[p,o("a",_,[h,s(t)]),f])])}const b=c(d,[["render",y],["__file","ViewTypeFactory.html.vue"]]);export{b as default}; diff --git a/docs/assets/ViewTypeFactory.html.4f37f6c4.js b/docs/assets/ViewTypeFactory.html.4f37f6c4.js new file mode 100644 index 0000000..3f96ad4 --- /dev/null +++ b/docs/assets/ViewTypeFactory.html.4f37f6c4.js @@ -0,0 +1 @@ +import{_ as n,r as a,o as c,c as r,b as t,d as s,a as i,e}from"./app.2add9aa5.js";const l={},d=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ViewTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Widget \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),p=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ViewTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),u=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(m,y){const o=a("ExternalLinkIcon");return c(),r("div",null,[d,t("p",null,[p,t("a",h,[_,s(o)]),u])])}const k=n(l,[["render",f],["__file","ViewTypeFactory.html.vue"]]);export{k as default}; diff --git a/docs/assets/ViewTypeFactory.html.c29dc800.js b/docs/assets/ViewTypeFactory.html.c29dc800.js deleted file mode 100644 index dd0721e..0000000 --- a/docs/assets/ViewTypeFactory.html.c29dc800.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n,r as a,o as c,c as r,a as t,b as s,e as i,d as e}from"./app.472fa5e4.js";const l={},d=i('

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

ViewTypeFactory - kt

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Widget \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',6),p=e("\u8BE6\u60C5\u53EF "),h={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ViewTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},_=e("\u70B9\u51FB\u8FD9\u91CC"),u=e(" \u8FDB\u884C\u67E5\u770B\u3002");function f(m,y){const o=a("ExternalLinkIcon");return c(),r("div",null,[d,t("p",null,[p,t("a",h,[_,s(o)]),u])])}const k=n(l,[["render",f],["__file","ViewTypeFactory.html.vue"]]);export{k as default}; diff --git a/docs/assets/ViewTypeFactory.html.e7f92eb4.js b/docs/assets/ViewTypeFactory.html.e7f92eb4.js deleted file mode 100644 index 6643159..0000000 --- a/docs/assets/ViewTypeFactory.html.e7f92eb4.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c,r as a,o as n,c as r,a as o,b as s,e as i,d as e}from"./app.472fa5e4.js";const d={},l=i('

ViewTypeFactory - kt

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F\u4E00\u4E2A\u9884\u7F6E\u53CD\u5C04\u7C7B\u578B\u7684\u5E38\u91CF\u7C7B\uFF0C\u4E3B\u8981\u4E3A Android \u76F8\u5173 Widget \u7684 Class \u5185\u5BB9\uFF0C\u8DDF\u968F\u7248\u672C\u66F4\u65B0\u4F1A\u9010\u4E00\u8FDB\u884C\u589E\u52A0\u3002

',5),p=e("\u8BE6\u60C5\u53EF "),_={href:"https://github.com/fankes/YukiReflection/blob/master/yukireflection/src/main/java/com/highcapable/yukireflection/type/android/ViewTypeFactory.kt",target:"_blank",rel:"noopener noreferrer"},h=e("\u70B9\u51FB\u8FD9\u91CC"),f=e(" \u8FDB\u884C\u67E5\u770B\u3002");function y(k,m){const t=a("ExternalLinkIcon");return n(),r("div",null,[l,o("p",null,[p,o("a",_,[h,s(t)]),f])])}const b=c(d,[["render",y],["__file","ViewTypeFactory.html.vue"]]);export{b as default}; diff --git a/docs/assets/YukiReflection.html.bf1edc3f.js b/docs/assets/YukiReflection.html.6e790ebd.js similarity index 99% rename from docs/assets/YukiReflection.html.bf1edc3f.js rename to docs/assets/YukiReflection.html.6e790ebd.js index 49299ce..bea897b 100644 --- a/docs/assets/YukiReflection.html.bf1edc3f.js +++ b/docs/assets/YukiReflection.html.6e790ebd.js @@ -1,4 +1,4 @@ -import{_ as s,o,c as e,e as n}from"./app.472fa5e4.js";const a={},l=n(`

YukiReflection - object

object YukiReflection
+import{_ as s,o,c as e,a as n}from"./app.2add9aa5.js";const a={},l=n(`

YukiReflection - object

object YukiReflection
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u8FD9\u662F YukiReflection \u7684\u88C5\u8F7D\u8C03\u7528\u7C7B\u3002

API_VERSION_NAME - field

const val API_VERSION_NAME: String
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u53D6\u5F53\u524D YukiReflection \u7684\u7248\u672C\u3002

API_VERSION_CODE - field

const val API_VERSION_CODE: Int
 

\u53D8\u66F4\u8BB0\u5F55

v1.0.0 \u6DFB\u52A0

\u529F\u80FD\u63CF\u8FF0

\u83B7\u53D6\u5F53\u524D YukiReflection \u7684\u7248\u672C\u53F7\u3002

Configs - object

object Configs
diff --git a/docs/assets/YukiReflection.html.45006f7f.js b/docs/assets/YukiReflection.html.9b18a061.js
similarity index 99%
rename from docs/assets/YukiReflection.html.45006f7f.js
rename to docs/assets/YukiReflection.html.9b18a061.js
index 666b533..cf749b2 100644
--- a/docs/assets/YukiReflection.html.45006f7f.js
+++ b/docs/assets/YukiReflection.html.9b18a061.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as o,e as n}from"./app.472fa5e4.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

YukiReflection - object

object YukiReflection
+import{_ as s,o as e,c as o,a as n}from"./app.2add9aa5.js";const a={},l=n(`

Notice

The English translation of this page has not been completed, you are welcome to contribute translations to us.

You can use the Chrome Translation Plugin to translate entire pages for reference.

YukiReflection - object

object YukiReflection
 

Change Records

v1.0.0 first

Function Illustrate

\u8FD9\u662F YukiReflection \u7684\u88C5\u8F7D\u8C03\u7528\u7C7B\u3002

API_VERSION_NAME - field

const val API_VERSION_NAME: String
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u53D6\u5F53\u524D YukiReflection \u7684\u7248\u672C\u3002

API_VERSION_CODE - field

const val API_VERSION_CODE: Int
 

Change Records

v1.0.0 first

Function Illustrate

\u83B7\u53D6\u5F53\u524D YukiReflection \u7684\u7248\u672C\u53F7\u3002

Configs - object

object Configs
diff --git a/docs/assets/about.html.d297ec6f.js b/docs/assets/about.html.94009ddf.js
similarity index 96%
rename from docs/assets/about.html.d297ec6f.js
rename to docs/assets/about.html.94009ddf.js
index b9c9091..36c5491 100644
--- a/docs/assets/about.html.d297ec6f.js
+++ b/docs/assets/about.html.94009ddf.js
@@ -1,4 +1,4 @@
-import{_ as o,r as t,o as l,c,a as s,b as e,d as a,e as p}from"./app.472fa5e4.js";const i={},r=s("h1",{id:"about-this-document",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#about-this-document","aria-hidden":"true"},"#"),a(" About this Document")],-1),d=a("This document is powered by "),h={href:"https://v2.vuepress.vuejs.org/en",target:"_blank",rel:"noopener noreferrer"},b=a("VuePress"),T=a("."),u=s("h2",{id:"license",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#license","aria-hidden":"true"},"#"),a(" License")],-1),I={href:"https://github.com/fankes/YukiReflection/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"},E=a("The MIT License (MIT)"),O=p(`
MIT License
+import{_ as o,r as t,o as l,c,b as s,d as e,e as a,a as p}from"./app.2add9aa5.js";const i={},r=s("h1",{id:"about-this-document",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#about-this-document","aria-hidden":"true"},"#"),a(" About this Document")],-1),d=a("This document is powered by "),h={href:"https://v2.vuepress.vuejs.org/en",target:"_blank",rel:"noopener noreferrer"},b=a("VuePress"),T=a("."),u=s("h2",{id:"license",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#license","aria-hidden":"true"},"#"),a(" License")],-1),I={href:"https://github.com/fankes/YukiReflection/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"},E=a("The MIT License (MIT)"),O=p(`
MIT License
 
 Copyright (C) 2019-2023 HighCapable
 
diff --git a/docs/assets/about.html.745f79bf.js b/docs/assets/about.html.c8884850.js
similarity index 96%
rename from docs/assets/about.html.745f79bf.js
rename to docs/assets/about.html.c8884850.js
index bf441db..3f1c317 100644
--- a/docs/assets/about.html.745f79bf.js
+++ b/docs/assets/about.html.c8884850.js
@@ -1,4 +1,4 @@
-import{_ as o,r as t,o as l,c,a as s,b as e,d as a,e as p}from"./app.472fa5e4.js";const i={},r=s("h1",{id:"\u5173\u4E8E\u6B64\u6587\u6863",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u5173\u4E8E\u6B64\u6587\u6863","aria-hidden":"true"},"#"),a(" \u5173\u4E8E\u6B64\u6587\u6863")],-1),d=a("\u6B64\u6587\u6863\u7531 "),h={href:"https://v2.vuepress.vuejs.org/zh",target:"_blank",rel:"noopener noreferrer"},b=a("VuePress"),T=a(" \u5F3A\u529B\u9A71\u52A8\u3002"),I=s("h2",{id:"license",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#license","aria-hidden":"true"},"#"),a(" License")],-1),E={href:"https://github.com/fankes/YukiReflection/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"},u=a("The MIT License (MIT)"),O=p(`
MIT License
+import{_ as o,r as t,o as l,c,b as s,d as e,e as a,a as p}from"./app.2add9aa5.js";const i={},r=s("h1",{id:"\u5173\u4E8E\u6B64\u6587\u6863",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u5173\u4E8E\u6B64\u6587\u6863","aria-hidden":"true"},"#"),a(" \u5173\u4E8E\u6B64\u6587\u6863")],-1),d=a("\u6B64\u6587\u6863\u7531 "),h={href:"https://v2.vuepress.vuejs.org/zh",target:"_blank",rel:"noopener noreferrer"},b=a("VuePress"),T=a(" \u5F3A\u529B\u9A71\u52A8\u3002"),I=s("h2",{id:"license",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#license","aria-hidden":"true"},"#"),a(" License")],-1),E={href:"https://github.com/fankes/YukiReflection/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"},u=a("The MIT License (MIT)"),O=p(`
MIT License
 
 Copyright (C) 2019-2023 HighCapable
 
diff --git a/docs/assets/api-example.html.b45bb791.js b/docs/assets/api-example.html.4692aae4.js
similarity index 87%
rename from docs/assets/api-example.html.b45bb791.js
rename to docs/assets/api-example.html.4692aae4.js
index 43544cc..9bda7cf 100644
--- a/docs/assets/api-example.html.b45bb791.js
+++ b/docs/assets/api-example.html.4692aae4.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as a,e}from"./app.472fa5e4.js";const l={},o=e(`

API \u57FA\u672C\u914D\u7F6E

\u8FD9\u91CC\u4ECB\u7ECD\u4E86 YukiReflection \u7684\u57FA\u672C\u914D\u7F6E\u65B9\u6CD5\u3002

YukiReflection \u65E0\u9700\u4E00\u4E9B\u590D\u6742\u7684\u914D\u7F6E\u5373\u53EF\u76F4\u63A5\u5F00\u59CB\u4F7F\u7528\uFF0C\u4E14\u4E0D\u4F1A\u4E0E Java \u539F\u751F\u7684\u53CD\u5C04 API \u51B2\u7A81\u3002

\u4F60\u53EF\u4EE5\u5728\u4F7F\u7528\u4E4B\u524D\u5BF9 YukiReflection \u8FDB\u884C\u4E00\u4E9B\u529F\u80FD\u914D\u7F6E\u3002

\u83B7\u53D6 API \u7248\u672C

\u4F60\u53EF\u4EE5\u901A\u8FC7\u5982\u4E0B\u65B9\u5F0F\u83B7\u53D6\u5F53\u524D YukiReflection \u7684 API \u7248\u672C\u3002

\u793A\u4F8B\u5982\u4E0B

// \u83B7\u53D6\u7248\u672C\u540D\u79F0
+import{_ as s,o as n,c as a,a as e}from"./app.2add9aa5.js";const l={},o=e(`

API \u57FA\u672C\u914D\u7F6E

\u8FD9\u91CC\u4ECB\u7ECD\u4E86 YukiReflection \u7684\u57FA\u672C\u914D\u7F6E\u65B9\u6CD5\u3002

YukiReflection \u65E0\u9700\u4E00\u4E9B\u590D\u6742\u7684\u914D\u7F6E\u5373\u53EF\u76F4\u63A5\u5F00\u59CB\u4F7F\u7528\uFF0C\u4E14\u4E0D\u4F1A\u4E0E Java \u539F\u751F\u7684\u53CD\u5C04 API \u51B2\u7A81\u3002

\u4F60\u53EF\u4EE5\u5728\u4F7F\u7528\u4E4B\u524D\u5BF9 YukiReflection \u8FDB\u884C\u4E00\u4E9B\u529F\u80FD\u914D\u7F6E\u3002

\u83B7\u53D6 API \u7248\u672C

\u4F60\u53EF\u4EE5\u901A\u8FC7\u5982\u4E0B\u65B9\u5F0F\u83B7\u53D6\u5F53\u524D YukiReflection \u7684 API \u7248\u672C\u3002

\u793A\u4F8B\u5982\u4E0B

// \u83B7\u53D6\u7248\u672C\u540D\u79F0
 val versionName = YukiReflection.API_VERSION_NAME
 // \u83B7\u53D6\u7248\u672C\u53F7
 val versionCode = YukiReflection.API_VERSION_CODE
diff --git a/docs/assets/api-example.html.71c4f4c8.js b/docs/assets/api-example.html.cc98f2cb.js
similarity index 89%
rename from docs/assets/api-example.html.71c4f4c8.js
rename to docs/assets/api-example.html.cc98f2cb.js
index 037622e..87f31cc 100644
--- a/docs/assets/api-example.html.71c4f4c8.js
+++ b/docs/assets/api-example.html.cc98f2cb.js
@@ -1,4 +1,4 @@
-import{_ as e,o as s,c as n,e as a}from"./app.472fa5e4.js";const o={},l=a(`

API Basic Configs

The basic configuration method of YukiReflection is introduced here.

YukiReflection can be used directly without some complex configuration, and does not conflict with Java's native Reflection API.

You can configure some functions of YukiReflection before using it.

Get the API Version

You can get the current API version of YukiReflection as follows.

The following example

// Get the version name
+import{_ as e,o as s,c as n,a}from"./app.2add9aa5.js";const o={},l=a(`

API Basic Configs

The basic configuration method of YukiReflection is introduced here.

YukiReflection can be used directly without some complex configuration, and does not conflict with Java's native Reflection API.

You can configure some functions of YukiReflection before using it.

Get the API Version

You can get the current API version of YukiReflection as follows.

The following example

// Get the version name
 val versionName = YukiReflection. API_VERSION_NAME
 // Get the version code
 val versionCode = YukiReflection. API_VERSION_CODE
diff --git a/docs/assets/api-exception.html.5b61e805.js b/docs/assets/api-exception.html.67f8bf5e.js
similarity index 93%
rename from docs/assets/api-exception.html.5b61e805.js
rename to docs/assets/api-exception.html.67f8bf5e.js
index 1db9eb0..d353b91 100644
--- a/docs/assets/api-exception.html.5b61e805.js
+++ b/docs/assets/api-exception.html.67f8bf5e.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as e,e as a}from"./app.472fa5e4.js";const l={},o=a(`

API \u5F02\u5E38\u5904\u7406

\u5F02\u5E38\u662F\u5728\u5F00\u53D1\u8FC7\u7A0B\u7ECF\u5E38\u9047\u5230\u7684\u4E3B\u8981\u95EE\u9898\uFF0C\u8FD9\u91CC\u4ECB\u7ECD\u4E86 YukiReflection \u5728\u4F7F\u7528\u8FC7\u7A0B\u4E2D\u53EF\u80FD\u9047\u5230\u7684\u5E38\u89C1\u5F02\u5E38\u4EE5\u53CA\u5904\u7406\u65B9\u5F0F\u3002

\u8FD9\u91CC\u7684\u5F02\u5E38\u8BF4\u660E\u53EA\u4F1A\u540C\u6B65\u6700\u65B0\u7684 API \u7248\u672C\uFF0C\u8F83\u65E7\u7684 API \u7248\u672C\u7684\u5F02\u5E38\u5C06\u4E0D\u4F1A\u518D\u8FDB\u884C\u8BF4\u660E\uFF0C\u8BF7\u59CB\u7EC8\u4FDD\u6301 API \u7248\u672C\u4E3A\u6700\u65B0\u3002

\u975E\u963B\u65AD\u5F02\u5E38

\u8FD9\u4E9B\u5F02\u5E38\u4E0D\u4F1A\u5BFC\u81F4 APP \u505C\u6B62\u8FD0\u884C (FC)\uFF0C\u4F46\u662F\u4F1A\u5728\u63A7\u5236\u53F0\u6253\u5370 E \u7EA7\u522B\u7684\u65E5\u5FD7\uFF0C\u4E5F\u53EF\u80FD\u4F1A\u505C\u6B62\u7EE7\u7EED\u6267\u884C\u76F8\u5173\u529F\u80FD\u3002

exception

loggerE

Method/Constructor/Field match type "TYPE" not allowed

\u5F02\u5E38\u539F\u56E0

\u5728\u67E5\u627E\u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u4EE5\u53CA\u53D8\u91CF\u65F6\u8BBE\u7F6E\u4E86\u4E0D\u5141\u8BB8\u7684\u53C2\u6570\u7C7B\u578B\u3002

\u793A\u4F8B\u5982\u4E0B

// \u67E5\u627E\u4E00\u4E2A\u65B9\u6CD5
+import{_ as s,o as n,c as e,a}from"./app.2add9aa5.js";const l={},o=a(`

API \u5F02\u5E38\u5904\u7406

\u5F02\u5E38\u662F\u5728\u5F00\u53D1\u8FC7\u7A0B\u7ECF\u5E38\u9047\u5230\u7684\u4E3B\u8981\u95EE\u9898\uFF0C\u8FD9\u91CC\u4ECB\u7ECD\u4E86 YukiReflection \u5728\u4F7F\u7528\u8FC7\u7A0B\u4E2D\u53EF\u80FD\u9047\u5230\u7684\u5E38\u89C1\u5F02\u5E38\u4EE5\u53CA\u5904\u7406\u65B9\u5F0F\u3002

\u8FD9\u91CC\u7684\u5F02\u5E38\u8BF4\u660E\u53EA\u4F1A\u540C\u6B65\u6700\u65B0\u7684 API \u7248\u672C\uFF0C\u8F83\u65E7\u7684 API \u7248\u672C\u7684\u5F02\u5E38\u5C06\u4E0D\u4F1A\u518D\u8FDB\u884C\u8BF4\u660E\uFF0C\u8BF7\u59CB\u7EC8\u4FDD\u6301 API \u7248\u672C\u4E3A\u6700\u65B0\u3002

\u975E\u963B\u65AD\u5F02\u5E38

\u8FD9\u4E9B\u5F02\u5E38\u4E0D\u4F1A\u5BFC\u81F4 APP \u505C\u6B62\u8FD0\u884C (FC)\uFF0C\u4F46\u662F\u4F1A\u5728\u63A7\u5236\u53F0\u6253\u5370 E \u7EA7\u522B\u7684\u65E5\u5FD7\uFF0C\u4E5F\u53EF\u80FD\u4F1A\u505C\u6B62\u7EE7\u7EED\u6267\u884C\u76F8\u5173\u529F\u80FD\u3002

exception

loggerE

Method/Constructor/Field match type "TYPE" not allowed

\u5F02\u5E38\u539F\u56E0

\u5728\u67E5\u627E\u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u4EE5\u53CA\u53D8\u91CF\u65F6\u8BBE\u7F6E\u4E86\u4E0D\u5141\u8BB8\u7684\u53C2\u6570\u7C7B\u578B\u3002

\u793A\u4F8B\u5982\u4E0B

// \u67E5\u627E\u4E00\u4E2A\u65B9\u6CD5
 method {
     // \u2757\u8BBE\u7F6E\u4E86\u65E0\u6548\u7684\u7C7B\u578B\u4E3E\u4F8B
     param(false, 1, 0)
diff --git a/docs/assets/api-exception.html.6d0d8500.js b/docs/assets/api-exception.html.f26818cd.js
similarity index 94%
rename from docs/assets/api-exception.html.6d0d8500.js
rename to docs/assets/api-exception.html.f26818cd.js
index ae3abe9..b6e5dc3 100644
--- a/docs/assets/api-exception.html.6d0d8500.js
+++ b/docs/assets/api-exception.html.f26818cd.js
@@ -1,4 +1,4 @@
-import{_ as s,o as e,c as n,e as a}from"./app.472fa5e4.js";const o={},l=a(`

API Exception Handling

Exceptions are the main problems often encountered in the development process. Here are some common exceptions that may be encountered during the use of YukiReflection and how to deal with them.

The exception description here will only synchronize the latest API version, and the exception of the older API version will not be described again, please always keep the API version up-to-date.

Non-Blocking Exceptions

These exceptions will not cause the app to stop running (FC), but will print E level logs on the console, and may also stop continuing to execute related functions.

exception

loggerE

Method/Constructor/Field match type "TYPE" not allowed

Abnormal

A disallowed parameter type was set when looking up methods, constructors, and variables.

The following example

// Find a method
+import{_ as s,o as e,c as n,a}from"./app.2add9aa5.js";const o={},l=a(`

API Exception Handling

Exceptions are the main problems often encountered in the development process. Here are some common exceptions that may be encountered during the use of YukiReflection and how to deal with them.

The exception description here will only synchronize the latest API version, and the exception of the older API version will not be described again, please always keep the API version up-to-date.

Non-Blocking Exceptions

These exceptions will not cause the app to stop running (FC), but will print E level logs on the console, and may also stop continuing to execute related functions.

exception

loggerE

Method/Constructor/Field match type "TYPE" not allowed

Abnormal

A disallowed parameter type was set when looking up methods, constructors, and variables.

The following example

// Find a method
 method {
     // \u2757 Invalid type example is set
     param(false, 1, 0)
diff --git a/docs/assets/app.472fa5e4.js b/docs/assets/app.2add9aa5.js
similarity index 60%
rename from docs/assets/app.472fa5e4.js
rename to docs/assets/app.2add9aa5.js
index 61b658f..ad5f4bf 100644
--- a/docs/assets/app.472fa5e4.js
+++ b/docs/assets/app.2add9aa5.js
@@ -1,4 +1,4 @@
-const Zs="modulepreload",Xs=function(e){return"/YukiReflection/"+e},Wi={},_=function(t,l,n){return!l||l.length===0?t():Promise.all(l.map(i=>{if(i=Xs(i),i in Wi)return;Wi[i]=!0;const o=i.endsWith(".css"),r=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${r}`))return;const s=document.createElement("link");if(s.rel=o?"stylesheet":Zs,o||(s.as="script",s.crossOrigin=""),s.href=i,document.head.appendChild(s),o)return new Promise((a,c)=>{s.addEventListener("load",a),s.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},ea={"v-8daa1a0e":()=>_(()=>import("./index.html.7c46b7b0.js"),[]).then(({data:e})=>e),"v-2d0a870d":()=>_(()=>import("./index.html.52fbcda7.js"),[]).then(({data:e})=>e),"v-c0c85b84":()=>_(()=>import("./index.html.1356aa63.js"),[]).then(({data:e})=>e),"v-7a15fe3b":()=>_(()=>import("./about.html.2effd4b1.js"),[]).then(({data:e})=>e),"v-3f851d14":()=>_(()=>import("./changelog.html.01288623.js"),[]).then(({data:e})=>e),"v-193cf592":()=>_(()=>import("./contacts.html.96dbd22d.js"),[]).then(({data:e})=>e),"v-ae7b83f2":()=>_(()=>import("./future.html.aa0c285e.js"),[]).then(({data:e})=>e),"v-c557cfcc":()=>_(()=>import("./features.html.33ec7f9a.js"),[]).then(({data:e})=>e),"v-64fc7bb8":()=>_(()=>import("./home.html.817a2e55.js"),[]).then(({data:e})=>e),"v-9cfea7fc":()=>_(()=>import("./api-example.html.6daf2d5c.js"),[]).then(({data:e})=>e),"v-72c12b7d":()=>_(()=>import("./api-exception.html.58702900.js"),[]).then(({data:e})=>e),"v-efb45d4c":()=>_(()=>import("./home.html.89a39f8e.js"),[]).then(({data:e})=>e),"v-72889797":()=>_(()=>import("./quick-start.html.fb6e2746.js"),[]).then(({data:e})=>e),"v-41967128":()=>_(()=>import("./about.html.b758f732.js"),[]).then(({data:e})=>e),"v-0e6c3476":()=>_(()=>import("./changelog.html.eb0b25c0.js"),[]).then(({data:e})=>e),"v-6cf86266":()=>_(()=>import("./contacts.html.f15acc18.js"),[]).then(({data:e})=>e),"v-3106ca14":()=>_(()=>import("./future.html.a5999f89.js"),[]).then(({data:e})=>e),"v-47e315ee":()=>_(()=>import("./features.html.57dae594.js"),[]).then(({data:e})=>e),"v-c8deafb2":()=>_(()=>import("./home.html.a2b832f6.js"),[]).then(({data:e})=>e),"v-c6114c9e":()=>_(()=>import("./api-example.html.90859470.js"),[]).then(({data:e})=>e),"v-5b43296c":()=>_(()=>import("./api-exception.html.6f5a5377.js"),[]).then(({data:e})=>e),"v-6a609e09":()=>_(()=>import("./home.html.77f6fdb1.js"),[]).then(({data:e})=>e),"v-24840ff0":()=>_(()=>import("./quick-start.html.49d48274.js"),[]).then(({data:e})=>e),"v-23f4d2be":()=>_(()=>import("./YukiReflection.html.071d5ea0.js"),[]).then(({data:e})=>e),"v-c088ede0":()=>_(()=>import("./YukiReflection.html.787cb57f.js"),[]).then(({data:e})=>e),"v-47f17664":()=>_(()=>import("./CurrentClass.html.4fb3c7c5.js"),[]).then(({data:e})=>e),"v-38df33ac":()=>_(()=>import("./GenericClass.html.18ef844b.js"),[]).then(({data:e})=>e),"v-3a8666c0":()=>_(()=>import("./VariousClass.html.be531e78.js"),[]).then(({data:e})=>e),"v-728f231c":()=>_(()=>import("./ReflectionFactory.html.660311db.js"),[]).then(({data:e})=>e),"v-406687ff":()=>_(()=>import("./CurrentClass.html.1f324cf5.js"),[]).then(({data:e})=>e),"v-c5831246":()=>_(()=>import("./GenericClass.html.80c441b8.js"),[]).then(({data:e})=>e),"v-c234ac1e":()=>_(()=>import("./VariousClass.html.7a95c6f9.js"),[]).then(({data:e})=>e),"v-b3841eba":()=>_(()=>import("./ReflectionFactory.html.79e3b099.js"),[]).then(({data:e})=>e),"v-740d06da":()=>_(()=>import("./BaseFinder.html.fb47fda7.js"),[]).then(({data:e})=>e),"v-6d6cd473":()=>_(()=>import("./DexClassFinder.html.7f9c18ee.js"),[]).then(({data:e})=>e),"v-b3220076":()=>_(()=>import("./ConstructorFinder.html.91c23734.js"),[]).then(({data:e})=>e),"v-4b907076":()=>_(()=>import("./FieldFinder.html.d5dcfef4.js"),[]).then(({data:e})=>e),"v-012ee5a6":()=>_(()=>import("./MethodFinder.html.704be21f.js"),[]).then(({data:e})=>e),"v-30e525ac":()=>_(()=>import("./DefinedTypeFactory.html.b02e4f3c.js"),[]).then(({data:e})=>e),"v-7f47f9f8":()=>_(()=>import("./ComponentTypeFactory.html.f94d8b50.js"),[]).then(({data:e})=>e),"v-5a1019d6":()=>_(()=>import("./GraphicsTypeFactory.html.0a5a863c.js"),[]).then(({data:e})=>e),"v-be0e3220":()=>_(()=>import("./ViewTypeFactory.html.fd43bb20.js"),[]).then(({data:e})=>e),"v-12f074b0":()=>_(()=>import("./VariableTypeFactory.html.85b2fcf2.js"),[]).then(({data:e})=>e),"v-c945cb6e":()=>_(()=>import("./BaseFinder.html.69bb751c.js"),[]).then(({data:e})=>e),"v-2d13d624":()=>_(()=>import("./DexClassFinder.html.e0965adb.js"),[]).then(({data:e})=>e),"v-722cd474":()=>_(()=>import("./ConstructorFinder.html.372473c1.js"),[]).then(({data:e})=>e),"v-293ae898":()=>_(()=>import("./FieldFinder.html.71816419.js"),[]).then(({data:e})=>e),"v-155c9f97":()=>_(()=>import("./MethodFinder.html.3e0643fa.js"),[]).then(({data:e})=>e),"v-6c58c435":()=>_(()=>import("./ComponentTypeFactory.html.86fc30e1.js"),[]).then(({data:e})=>e),"v-25cdee85":()=>_(()=>import("./GraphicsTypeFactory.html.3ab9700c.js"),[]).then(({data:e})=>e),"v-12826b1f":()=>_(()=>import("./ViewTypeFactory.html.419f7049.js"),[]).then(({data:e})=>e),"v-597ac69b":()=>_(()=>import("./DefinedTypeFactory.html.5311d687.js"),[]).then(({data:e})=>e),"v-5ad1133e":()=>_(()=>import("./VariableTypeFactory.html.216c2fbf.js"),[]).then(({data:e})=>e),"v-6f96d791":()=>_(()=>import("./CountRules.html.aa55eac0.js"),[]).then(({data:e})=>e),"v-56071599":()=>_(()=>import("./ModifierRules.html.bf55a30e.js"),[]).then(({data:e})=>e),"v-4ea9e766":()=>_(()=>import("./NameRules.html.2124d233.js"),[]).then(({data:e})=>e),"v-3045c7fe":()=>_(()=>import("./ObjectRules.html.0a6223eb.js"),[]).then(({data:e})=>e),"v-cce2b7b6":()=>_(()=>import("./ConstructorRules.html.7769fbd0.js"),[]).then(({data:e})=>e),"v-82a85036":()=>_(()=>import("./FieldRules.html.cc84b291.js"),[]).then(({data:e})=>e),"v-71ecb893":()=>_(()=>import("./MemberRules.html.2d5c89a4.js"),[]).then(({data:e})=>e),"v-5e7e121a":()=>_(()=>import("./MethodRules.html.46e12f82.js"),[]).then(({data:e})=>e),"v-3dbf4880":()=>_(()=>import("./CountRules.html.69b807a7.js"),[]).then(({data:e})=>e),"v-701721ec":()=>_(()=>import("./ModifierRules.html.063cc2f9.js"),[]).then(({data:e})=>e),"v-264e7384":()=>_(()=>import("./NameRules.html.538d5551.js"),[]).then(({data:e})=>e),"v-b0f7c49c":()=>_(()=>import("./ObjectRules.html.ec943416.js"),[]).then(({data:e})=>e),"v-ec153654":()=>_(()=>import("./ConstructorRules.html.ed54d54f.js"),[]).then(({data:e})=>e),"v-30993156":()=>_(()=>import("./FieldRules.html.0a9d082d.js"),[]).then(({data:e})=>e),"v-3daa8d42":()=>_(()=>import("./MemberRules.html.94fb57e3.js"),[]).then(({data:e})=>e),"v-2a3be6c9":()=>_(()=>import("./MethodRules.html.c94c00ea.js"),[]).then(({data:e})=>e),"v-4f47dfda":()=>_(()=>import("./MemberRulesResult.html.0df424dd.js"),[]).then(({data:e})=>e),"v-503f5f8b":()=>_(()=>import("./MemberRulesResult.html.aa74ca3c.js"),[]).then(({data:e})=>e),"v-3706649a":()=>_(()=>import("./404.html.c038a05a.js"),[]).then(({data:e})=>e)};function mi(e,t){const l=Object.create(null),n=e.split(",");for(let i=0;i!!l[i.toLowerCase()]:i=>!!l[i]}const ta="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",la=mi(ta);function ur(e){return!!e||e===""}function Nl(e){if(te(e)){const t={};for(let l=0;l{if(l){const n=l.split(ia);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(_e(e))t=e;else if(te(e))for(let l=0;l_e(e)?e:e==null?"":te(e)||Ie(e)&&(e.toString===mr||!re(e.toString))?JSON.stringify(e,dr,2):String(e),dr=(e,t)=>t&&t.__v_isRef?dr(e,t.value):sl(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((l,[n,i])=>(l[`${n} =>`]=i,l),{})}:hr(t)?{[`Set(${t.size})`]:[...t.values()]}:Ie(t)&&!te(t)&&!pr(t)?String(t):t,Ce={},rl=[],st=()=>{},ra=()=>!1,sa=/^on[^a-z]/,$l=e=>sa.test(e),pi=e=>e.startsWith("onUpdate:"),Ne=Object.assign,gi=(e,t)=>{const l=e.indexOf(t);l>-1&&e.splice(l,1)},aa=Object.prototype.hasOwnProperty,de=(e,t)=>aa.call(e,t),te=Array.isArray,sl=e=>yn(e)==="[object Map]",hr=e=>yn(e)==="[object Set]",re=e=>typeof e=="function",_e=e=>typeof e=="string",vi=e=>typeof e=="symbol",Ie=e=>e!==null&&typeof e=="object",fr=e=>Ie(e)&&re(e.then)&&re(e.catch),mr=Object.prototype.toString,yn=e=>mr.call(e),ca=e=>yn(e).slice(8,-1),pr=e=>yn(e)==="[object Object]",bi=e=>_e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cl=mi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),kn=e=>{const t=Object.create(null);return l=>t[l]||(t[l]=e(l))},ua=/-(\w)/g,ht=kn(e=>e.replace(ua,(t,l)=>l?l.toUpperCase():"")),da=/\B([A-Z])/g,Zt=kn(e=>e.replace(da,"-$1").toLowerCase()),xn=kn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fn=kn(e=>e?`on${xn(e)}`:""),Al=(e,t)=>!Object.is(e,t),Sn=(e,t)=>{for(let l=0;l{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:l})},gr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Gi;const ha=()=>Gi||(Gi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let We;class fa{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&We&&(this.parent=We,this.index=(We.scopes||(We.scopes=[])).push(this)-1)}run(t){if(this.active){const l=We;try{return We=this,t()}finally{We=l}}}on(){We=this}off(){We=this.parent}stop(t){if(this.active){let l,n;for(l=0,n=this.effects.length;l{const t=new Set(e);return t.w=0,t.n=0,t},vr=e=>(e.w&Ft)>0,br=e=>(e.n&Ft)>0,va=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let l=0;for(let n=0;n{(c==="length"||c>=n)&&s.push(a)});else switch(l!==void 0&&s.push(r.get(l)),t){case"add":te(e)?bi(l)&&s.push(r.get("length")):(s.push(r.get(Yt)),sl(e)&&s.push(r.get(Yn)));break;case"delete":te(e)||(s.push(r.get(Yt)),sl(e)&&s.push(r.get(Yn)));break;case"set":sl(e)&&s.push(r.get(Yt));break}if(s.length===1)s[0]&&Qn(s[0]);else{const a=[];for(const c of s)c&&a.push(...c);Qn(_i(a))}}function Qn(e,t){const l=te(e)?e:[...e];for(const n of l)n.computed&&Qi(n);for(const n of l)n.computed||Qi(n)}function Qi(e,t){(e!==ot||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const _a=mi("__proto__,__v_isRef,__isVue"),kr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(vi)),ya=ki(),ka=ki(!1,!0),xa=ki(!0),Ji=Ea();function Ea(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...l){const n=ve(this);for(let o=0,r=this.length;o{e[t]=function(...l){ml();const n=ve(this)[t].apply(this,l);return pl(),n}}),e}function ki(e=!1,t=!1){return function(n,i,o){if(i==="__v_isReactive")return!e;if(i==="__v_isReadonly")return e;if(i==="__v_isShallow")return t;if(i==="__v_raw"&&o===(e?t?$a:wr:t?Rr:Cr).get(n))return n;const r=te(n);if(!e&&r&&de(Ji,i))return Reflect.get(Ji,i,o);const s=Reflect.get(n,i,o);return(vi(i)?kr.has(i):_a(i))||(e||Je(n,"get",i),t)?s:ze(s)?r&&bi(i)?s:s.value:Ie(s)?e?Ci(s):gl(s):s}}const Ca=xr(),Ra=xr(!0);function xr(e=!1){return function(l,n,i,o){let r=l[n];if(Il(r)&&ze(r)&&!ze(i))return!1;if(!e&&!Il(i)&&(Jn(i)||(i=ve(i),r=ve(r)),!te(l)&&ze(r)&&!ze(i)))return r.value=i,!0;const s=te(l)&&bi(n)?Number(n)e,En=e=>Reflect.getPrototypeOf(e);function Wl(e,t,l=!1,n=!1){e=e.__v_raw;const i=ve(e),o=ve(t);l||(t!==o&&Je(i,"get",t),Je(i,"get",o));const{has:r}=En(i),s=n?xi:l?wi:Fl;if(r.call(i,t))return s(e.get(t));if(r.call(i,o))return s(e.get(o));e!==i&&e.get(t)}function Gl(e,t=!1){const l=this.__v_raw,n=ve(l),i=ve(e);return t||(e!==i&&Je(n,"has",e),Je(n,"has",i)),e===i?l.has(e):l.has(e)||l.has(i)}function Yl(e,t=!1){return e=e.__v_raw,!t&&Je(ve(e),"iterate",Yt),Reflect.get(e,"size",e)}function Zi(e){e=ve(e);const t=ve(this);return En(t).has.call(t,e)||(t.add(e),_t(t,"add",e,e)),this}function Xi(e,t){t=ve(t);const l=ve(this),{has:n,get:i}=En(l);let o=n.call(l,e);o||(e=ve(e),o=n.call(l,e));const r=i.call(l,e);return l.set(e,t),o?Al(t,r)&&_t(l,"set",e,t):_t(l,"add",e,t),this}function eo(e){const t=ve(this),{has:l,get:n}=En(t);let i=l.call(t,e);i||(e=ve(e),i=l.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return i&&_t(t,"delete",e,void 0),o}function to(){const e=ve(this),t=e.size!==0,l=e.clear();return t&&_t(e,"clear",void 0,void 0),l}function Ql(e,t){return function(n,i){const o=this,r=o.__v_raw,s=ve(r),a=t?xi:e?wi:Fl;return!e&&Je(s,"iterate",Yt),r.forEach((c,u)=>n.call(i,a(c),a(u),o))}}function Jl(e,t,l){return function(...n){const i=this.__v_raw,o=ve(i),r=sl(o),s=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,c=i[e](...n),u=l?xi:t?wi:Fl;return!t&&Je(o,"iterate",a?Yn:Yt),{next(){const{value:h,done:f}=c.next();return f?{value:h,done:f}:{value:s?[u(h[0]),u(h[1])]:u(h),done:f}},[Symbol.iterator](){return this}}}}function xt(e){return function(...t){return e==="delete"?!1:this}}function Aa(){const e={get(o){return Wl(this,o)},get size(){return Yl(this)},has:Gl,add:Zi,set:Xi,delete:eo,clear:to,forEach:Ql(!1,!1)},t={get(o){return Wl(this,o,!1,!0)},get size(){return Yl(this)},has:Gl,add:Zi,set:Xi,delete:eo,clear:to,forEach:Ql(!1,!0)},l={get(o){return Wl(this,o,!0)},get size(){return Yl(this,!0)},has(o){return Gl.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:Ql(!0,!1)},n={get(o){return Wl(this,o,!0,!0)},get size(){return Yl(this,!0)},has(o){return Gl.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:Ql(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Jl(o,!1,!1),l[o]=Jl(o,!0,!1),t[o]=Jl(o,!1,!0),n[o]=Jl(o,!0,!0)}),[e,l,t,n]}const[Ia,Fa,Sa,za]=Aa();function Ei(e,t){const l=t?e?za:Sa:e?Fa:Ia;return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(de(l,i)&&i in n?l:n,i,o)}const Da={get:Ei(!1,!1)},Ma={get:Ei(!1,!0)},Na={get:Ei(!0,!1)},Cr=new WeakMap,Rr=new WeakMap,wr=new WeakMap,$a=new WeakMap;function Va(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ha(e){return e.__v_skip||!Object.isExtensible(e)?0:Va(ca(e))}function gl(e){return Il(e)?e:Ri(e,!1,Er,Da,Cr)}function ja(e){return Ri(e,!1,Oa,Ma,Rr)}function Ci(e){return Ri(e,!0,Pa,Na,wr)}function Ri(e,t,l,n,i){if(!Ie(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Ha(e);if(r===0)return e;const s=new Proxy(e,r===2?n:l);return i.set(e,s),s}function al(e){return Il(e)?al(e.__v_raw):!!(e&&e.__v_isReactive)}function Il(e){return!!(e&&e.__v_isReadonly)}function Jn(e){return!!(e&&e.__v_isShallow)}function Tr(e){return al(e)||Il(e)}function ve(e){const t=e&&e.__v_raw;return t?ve(t):e}function Lr(e){return rn(e,"__v_skip",!0),e}const Fl=e=>Ie(e)?gl(e):e,wi=e=>Ie(e)?Ci(e):e;function Pr(e){Ot&&ot&&(e=ve(e),yr(e.dep||(e.dep=_i())))}function Or(e,t){e=ve(e),e.dep&&Qn(e.dep)}function ze(e){return!!(e&&e.__v_isRef===!0)}function ke(e){return Ir(e,!1)}function Ar(e){return Ir(e,!0)}function Ir(e,t){return ze(e)?e:new Ba(e,t)}class Ba{constructor(t,l){this.__v_isShallow=l,this.dep=void 0,this.__v_isRef=!0,this._rawValue=l?t:ve(t),this._value=l?t:Fl(t)}get value(){return Pr(this),this._value}set value(t){t=this.__v_isShallow?t:ve(t),Al(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Fl(t),Or(this))}}function A(e){return ze(e)?e.value:e}const Ua={get:(e,t,l)=>A(Reflect.get(e,t,l)),set:(e,t,l,n)=>{const i=e[t];return ze(i)&&!ze(l)?(i.value=l,!0):Reflect.set(e,t,l,n)}};function Fr(e){return al(e)?e:new Proxy(e,Ua)}function Cn(e){const t=te(e)?new Array(e.length):{};for(const l in e)t[l]=Ka(e,l);return t}class qa{constructor(t,l,n){this._object=t,this._key=l,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Ka(e,t,l){const n=e[t];return ze(n)?n:new qa(e,t,l)}class Wa{constructor(t,l,n,i){this._setter=l,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new yi(t,()=>{this._dirty||(this._dirty=!0,Or(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const t=ve(this);return Pr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ga(e,t,l=!1){let n,i;const o=re(e);return o?(n=e,i=st):(n=e.get,i=e.set),new Wa(n,i,o||!i,l)}function At(e,t,l,n){let i;try{i=n?e(...n):e()}catch(o){Vl(o,t,l)}return i}function lt(e,t,l,n){if(re(e)){const o=At(e,t,l,n);return o&&fr(o)&&o.catch(r=>{Vl(r,t,l)}),o}const i=[];for(let o=0;o>>1;Sl(Ge[n])pt&&Ge.splice(t,1)}function Dr(e,t,l,n){te(e)?l.push(...e):(!t||!t.includes(e,e.allowRecurse?n+1:n))&&l.push(e),zr()}function Za(e){Dr(e,El,Rl,nl)}function Xa(e){Dr(e,wt,wl,il)}function Rn(e,t=null){if(Rl.length){for(Xn=t,El=[...new Set(Rl)],Rl.length=0,nl=0;nlSl(l)-Sl(n)),il=0;ile.id==null?1/0:e.id;function Mr(e){Zn=!1,sn=!0,Rn(e),Ge.sort((l,n)=>Sl(l)-Sl(n));const t=st;try{for(pt=0;ptp.trim())),h&&(i=l.map(gr))}let s,a=n[s=Fn(t)]||n[s=Fn(ht(t))];!a&&o&&(a=n[s=Fn(Zt(t))]),a&<(a,e,6,i);const c=n[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,lt(c,e,6,i)}}function Nr(e,t,l=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},s=!1;if(!re(e)){const a=c=>{const u=Nr(c,t,!0);u&&(s=!0,Ne(r,u))};!l&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!s?(n.set(e,null),null):(te(o)?o.forEach(a=>r[a]=null):Ne(r,o),n.set(e,r),r)}function wn(e,t){return!e||!$l(t)?!1:(t=t.slice(2).replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Zt(t))||de(e,t))}let $e=null,$r=null;function cn(e){const t=$e;return $e=e,$r=e&&e.type.__scopeId||null,t}function Me(e,t=$e,l){if(!t||e._n)return e;const n=(...i)=>{n._d&&fo(-1);const o=cn(t),r=e(...i);return cn(o),n._d&&fo(1),r};return n._n=!0,n._c=!0,n._d=!0,n}function zn(e){const{type:t,vnode:l,proxy:n,withProxy:i,props:o,propsOptions:[r],slots:s,attrs:a,emit:c,render:u,renderCache:h,data:f,setupState:p,ctx:k,inheritAttrs:R}=e;let x,g;const b=cn(e);try{if(l.shapeFlag&4){const D=i||n;x=it(u.call(D,D,h,o,p,f,k)),g=a}else{const D=t;x=it(D.length>1?D(o,{attrs:a,slots:s,emit:c}):D(o,null)),g=t.props?a:tc(a)}}catch(D){Ll.length=0,Vl(D,e,1),x=ie(Qe)}let w=x;if(g&&R!==!1){const D=Object.keys(g),{shapeFlag:q}=w;D.length&&q&7&&(r&&D.some(pi)&&(g=lc(g,r)),w=zt(w,g))}return l.dirs&&(w=zt(w),w.dirs=w.dirs?w.dirs.concat(l.dirs):l.dirs),l.transition&&(w.transition=l.transition),x=w,cn(b),x}const tc=e=>{let t;for(const l in e)(l==="class"||l==="style"||$l(l))&&((t||(t={}))[l]=e[l]);return t},lc=(e,t)=>{const l={};for(const n in e)(!pi(n)||!(n.slice(9)in t))&&(l[n]=e[n]);return l};function nc(e,t,l){const{props:n,children:i,component:o}=e,{props:r,children:s,patchFlag:a}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(l&&a>=0){if(a&1024)return!0;if(a&16)return n?lo(n,r,c):!!r;if(a&8){const u=t.dynamicProps;for(let h=0;he.__isSuspense;function Vr(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):Xa(e)}function Qt(e,t){if(Fe){let l=Fe.provides;const n=Fe.parent&&Fe.parent.provides;n===l&&(l=Fe.provides=Object.create(n)),l[e]=t}}function De(e,t,l=!1){const n=Fe||$e;if(n){const i=n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return l&&re(t)?t.call(n.proxy):t}}const no={};function dt(e,t,l){return Hr(e,t,l)}function Hr(e,t,{immediate:l,deep:n,flush:i,onTrack:o,onTrigger:r}=Ce){const s=Fe;let a,c=!1,u=!1;if(ze(e)?(a=()=>e.value,c=Jn(e)):al(e)?(a=()=>e,n=!0):te(e)?(u=!0,c=e.some(g=>al(g)||Jn(g)),a=()=>e.map(g=>{if(ze(g))return g.value;if(al(g))return Gt(g);if(re(g))return At(g,s,2)})):re(e)?t?a=()=>At(e,s,2):a=()=>{if(!(s&&s.isUnmounted))return h&&h(),lt(e,s,3,[f])}:a=st,t&&n){const g=a;a=()=>Gt(g())}let h,f=g=>{h=x.onStop=()=>{At(g,s,4)}};if(dl)return f=st,t?l&<(t,s,3,[a(),u?[]:void 0,f]):a(),st;let p=u?[]:no;const k=()=>{if(!!x.active)if(t){const g=x.run();(n||c||(u?g.some((b,w)=>Al(b,p[w])):Al(g,p)))&&(h&&h(),lt(t,s,3,[g,p===no?void 0:p,f]),p=g)}else x.run()};k.allowRecurse=!!t;let R;i==="sync"?R=k:i==="post"?R=()=>Ue(k,s&&s.suspense):R=()=>Za(k);const x=new yi(a,R);return t?l?k():p=x.run():i==="post"?Ue(x.run.bind(x),s&&s.suspense):x.run(),()=>{x.stop(),s&&s.scope&&gi(s.scope.effects,x)}}function rc(e,t,l){const n=this.proxy,i=_e(e)?e.includes(".")?jr(n,e):()=>n[e]:e.bind(n,n);let o;re(t)?o=t:(o=t.handler,l=t);const r=Fe;ul(this);const s=Hr(i,o.bind(n),l);return r?ul(r):Jt(),s}function jr(e,t){const l=t.split(".");return()=>{let n=e;for(let i=0;i{Gt(l,t)});else if(pr(e))for(const l in e)Gt(e[l],t);return e}function sc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ze(()=>{e.isMounted=!0}),Bl(()=>{e.isUnmounting=!0}),e}const et=[Function,Array],ac={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},setup(e,{slots:t}){const l=Ai(),n=sc();let i;return()=>{const o=t.default&&qr(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const R of o)if(R.type!==Qe){r=R;break}}const s=ve(e),{mode:a}=s;if(n.isLeaving)return Dn(r);const c=io(r);if(!c)return Dn(r);const u=ei(c,s,n,l);ti(c,u);const h=l.subTree,f=h&&io(h);let p=!1;const{getTransitionKey:k}=c.type;if(k){const R=k();i===void 0?i=R:R!==i&&(i=R,p=!0)}if(f&&f.type!==Qe&&(!Kt(c,f)||p)){const R=ei(f,s,n,l);if(ti(f,R),a==="out-in")return n.isLeaving=!0,R.afterLeave=()=>{n.isLeaving=!1,l.update()},Dn(r);a==="in-out"&&c.type!==Qe&&(R.delayLeave=(x,g,b)=>{const w=Ur(n,f);w[String(f.key)]=f,x._leaveCb=()=>{g(),x._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=b})}return r}}},Br=ac;function Ur(e,t){const{leavingVNodes:l}=e;let n=l.get(t.type);return n||(n=Object.create(null),l.set(t.type,n)),n}function ei(e,t,l,n){const{appear:i,mode:o,persisted:r=!1,onBeforeEnter:s,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:h,onLeave:f,onAfterLeave:p,onLeaveCancelled:k,onBeforeAppear:R,onAppear:x,onAfterAppear:g,onAppearCancelled:b}=t,w=String(e.key),D=Ur(l,e),q=(v,G)=>{v&<(v,n,9,G)},ee=(v,G)=>{const U=G[1];q(v,G),te(v)?v.every(Q=>Q.length<=1)&&U():v.length<=1&&U()},O={mode:o,persisted:r,beforeEnter(v){let G=s;if(!l.isMounted)if(i)G=R||s;else return;v._leaveCb&&v._leaveCb(!0);const U=D[w];U&&Kt(e,U)&&U.el._leaveCb&&U.el._leaveCb(),q(G,[v])},enter(v){let G=a,U=c,Q=u;if(!l.isMounted)if(i)G=x||a,U=g||c,Q=b||u;else return;let E=!1;const M=v._enterCb=I=>{E||(E=!0,I?q(Q,[v]):q(U,[v]),O.delayedLeave&&O.delayedLeave(),v._enterCb=void 0)};G?ee(G,[v,M]):M()},leave(v,G){const U=String(e.key);if(v._enterCb&&v._enterCb(!0),l.isUnmounting)return G();q(h,[v]);let Q=!1;const E=v._leaveCb=M=>{Q||(Q=!0,G(),M?q(k,[v]):q(p,[v]),v._leaveCb=void 0,D[U]===e&&delete D[U])};D[U]=e,f?ee(f,[v,E]):E()},clone(v){return ei(v,t,l,n)}};return O}function Dn(e){if(jl(e))return e=zt(e),e.children=null,e}function io(e){return jl(e)?e.children?e.children[0]:void 0:e}function ti(e,t){e.shapeFlag&6&&e.component?ti(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function qr(e,t=!1,l){let n=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;function $(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:l,errorComponent:n,delay:i=200,timeout:o,suspensible:r=!0,onError:s}=e;let a=null,c,u=0;const h=()=>(u++,a=null,f()),f=()=>{let p;return a||(p=a=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),s)return new Promise((R,x)=>{s(k,()=>R(h()),()=>x(k),u+1)});throw k}).then(k=>p!==a&&a?a:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),c=k,k)))};return he({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return c},setup(){const p=Fe;if(c)return()=>Mn(c,p);const k=b=>{a=null,Vl(b,p,13,!n)};if(r&&p.suspense||dl)return f().then(b=>()=>Mn(b,p)).catch(b=>(k(b),()=>n?ie(n,{error:b}):null));const R=ke(!1),x=ke(),g=ke(!!i);return i&&setTimeout(()=>{g.value=!1},i),o!=null&&setTimeout(()=>{if(!R.value&&!x.value){const b=new Error(`Async component timed out after ${o}ms.`);k(b),x.value=b}},o),f().then(()=>{R.value=!0,p.parent&&jl(p.parent.vnode)&&Li(p.parent.update)}).catch(b=>{k(b),x.value=b}),()=>{if(R.value&&c)return Mn(c,p);if(x.value&&n)return ie(n,{error:x.value});if(l&&!g.value)return ie(l)}}})}function Mn(e,{vnode:{ref:t,props:l,children:n,shapeFlag:i},parent:o}){const r=ie(e,l,n);return r.ref=t,r}const jl=e=>e.type.__isKeepAlive;function cc(e,t){Kr(e,"a",t)}function uc(e,t){Kr(e,"da",t)}function Kr(e,t,l=Fe){const n=e.__wdc||(e.__wdc=()=>{let i=l;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Tn(t,n,l),l){let i=l.parent;for(;i&&i.parent;)jl(i.parent.vnode)&&dc(n,t,l,i),i=i.parent}}function dc(e,t,l,n){const i=Tn(t,e,n,!0);Ln(()=>{gi(n[t],i)},l)}function Tn(e,t,l=Fe,n=!1){if(l){const i=l[e]||(l[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(l.isUnmounted)return;ml(),ul(l);const s=lt(t,l,e,r);return Jt(),pl(),s});return n?i.unshift(o):i.push(o),o}}const kt=e=>(t,l=Fe)=>(!dl||e==="sp")&&Tn(e,t,l),Wr=kt("bm"),Ze=kt("m"),hc=kt("bu"),fc=kt("u"),Bl=kt("bum"),Ln=kt("um"),mc=kt("sp"),pc=kt("rtg"),gc=kt("rtc");function vc(e,t=Fe){Tn("ec",e,t)}function un(e,t){const l=$e;if(l===null)return e;const n=On(l)||l.proxy,i=e.dirs||(e.dirs=[]);for(let o=0;ot(r,s,void 0,o&&o[s]));else{const r=Object.keys(e);i=new Array(r.length);for(let s=0,a=r.length;smn(t)?!(t.type===Qe||t.type===we&&!Yr(t.children)):!0)?e:null}const li=e=>e?ss(e)?On(e)||e.proxy:li(e.parent):null,dn=Ne(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>li(e.parent),$root:e=>li(e.root),$emit:e=>e.emit,$options:e=>Jr(e),$forceUpdate:e=>e.f||(e.f=()=>Li(e.update)),$nextTick:e=>e.n||(e.n=Hl.bind(e.proxy)),$watch:e=>rc.bind(e)}),yc={get({_:e},t){const{ctx:l,setupState:n,data:i,props:o,accessCache:r,type:s,appContext:a}=e;let c;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return n[t];case 2:return i[t];case 4:return l[t];case 3:return o[t]}else{if(n!==Ce&&de(n,t))return r[t]=1,n[t];if(i!==Ce&&de(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&de(c,t))return r[t]=3,o[t];if(l!==Ce&&de(l,t))return r[t]=4,l[t];ni&&(r[t]=0)}}const u=dn[t];let h,f;if(u)return t==="$attrs"&&Je(e,"get",t),u(e);if((h=s.__cssModules)&&(h=h[t]))return h;if(l!==Ce&&de(l,t))return r[t]=4,l[t];if(f=a.config.globalProperties,de(f,t))return f[t]},set({_:e},t,l){const{data:n,setupState:i,ctx:o}=e;return i!==Ce&&de(i,t)?(i[t]=l,!0):n!==Ce&&de(n,t)?(n[t]=l,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=l,!0)},has({_:{data:e,setupState:t,accessCache:l,ctx:n,appContext:i,propsOptions:o}},r){let s;return!!l[r]||e!==Ce&&de(e,r)||t!==Ce&&de(t,r)||(s=o[0])&&de(s,r)||de(n,r)||de(dn,r)||de(i.config.globalProperties,r)},defineProperty(e,t,l){return l.get!=null?e._.accessCache[t]=0:de(l,"value")&&this.set(e,t,l.value,null),Reflect.defineProperty(e,t,l)}};let ni=!0;function kc(e){const t=Jr(e),l=e.proxy,n=e.ctx;ni=!1,t.beforeCreate&&ro(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:s,provide:a,inject:c,created:u,beforeMount:h,mounted:f,beforeUpdate:p,updated:k,activated:R,deactivated:x,beforeDestroy:g,beforeUnmount:b,destroyed:w,unmounted:D,render:q,renderTracked:ee,renderTriggered:O,errorCaptured:v,serverPrefetch:G,expose:U,inheritAttrs:Q,components:E,directives:M,filters:I}=t;if(c&&xc(c,n,null,e.appContext.config.unwrapInjectedRef),r)for(const le in r){const ae=r[le];re(ae)&&(n[le]=ae.bind(l))}if(i){const le=i.call(l,l);Ie(le)&&(e.data=gl(le))}if(ni=!0,o)for(const le in o){const ae=o[le],Oe=re(ae)?ae.bind(l,l):re(ae.get)?ae.get.bind(l,l):st,Ve=!re(ae)&&re(ae.set)?ae.set.bind(l):st,qe=B({get:Oe,set:Ve});Object.defineProperty(n,le,{enumerable:!0,configurable:!0,get:()=>qe.value,set:Xe=>qe.value=Xe})}if(s)for(const le in s)Qr(s[le],n,l,le);if(a){const le=re(a)?a.call(l):a;Reflect.ownKeys(le).forEach(ae=>{Qt(ae,le[ae])})}u&&ro(u,e,"c");function H(le,ae){te(ae)?ae.forEach(Oe=>le(Oe.bind(l))):ae&&le(ae.bind(l))}if(H(Wr,h),H(Ze,f),H(hc,p),H(fc,k),H(cc,R),H(uc,x),H(vc,v),H(gc,ee),H(pc,O),H(Bl,b),H(Ln,D),H(mc,G),te(U))if(U.length){const le=e.exposed||(e.exposed={});U.forEach(ae=>{Object.defineProperty(le,ae,{get:()=>l[ae],set:Oe=>l[ae]=Oe})})}else e.exposed||(e.exposed={});q&&e.render===st&&(e.render=q),Q!=null&&(e.inheritAttrs=Q),E&&(e.components=E),M&&(e.directives=M)}function xc(e,t,l=st,n=!1){te(e)&&(e=ii(e));for(const i in e){const o=e[i];let r;Ie(o)?"default"in o?r=De(o.from||i,o.default,!0):r=De(o.from||i):r=De(o),ze(r)&&n?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[i]=r}}function ro(e,t,l){lt(te(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,l)}function Qr(e,t,l,n){const i=n.includes(".")?jr(l,n):()=>l[n];if(_e(e)){const o=t[e];re(o)&&dt(i,o)}else if(re(e))dt(i,e.bind(l));else if(Ie(e))if(te(e))e.forEach(o=>Qr(o,t,l,n));else{const o=re(e.handler)?e.handler.bind(l):t[e.handler];re(o)&&dt(i,o,e)}}function Jr(e){const t=e.type,{mixins:l,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,s=o.get(t);let a;return s?a=s:!i.length&&!l&&!n?a=t:(a={},i.length&&i.forEach(c=>hn(a,c,r,!0)),hn(a,t,r)),o.set(t,a),a}function hn(e,t,l,n=!1){const{mixins:i,extends:o}=t;o&&hn(e,o,l,!0),i&&i.forEach(r=>hn(e,r,l,!0));for(const r in t)if(!(n&&r==="expose")){const s=Ec[r]||l&&l[r];e[r]=s?s(e[r],t[r]):t[r]}return e}const Ec={data:so,props:Bt,emits:Bt,methods:Bt,computed:Bt,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:Bt,directives:Bt,watch:Rc,provide:so,inject:Cc};function so(e,t){return t?e?function(){return Ne(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function Cc(e,t){return Bt(ii(e),ii(t))}function ii(e){if(te(e)){const t={};for(let l=0;l0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let h=0;h{a=!0;const[f,p]=Xr(h,t,!0);Ne(r,f),p&&s.push(...p)};!l&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!a)return n.set(e,rl),rl;if(te(o))for(let u=0;u-1,p[1]=R<0||k-1||de(p,"default"))&&s.push(h)}}}const c=[r,s];return n.set(e,c),c}function ao(e){return e[0]!=="$"}function co(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function uo(e,t){return co(e)===co(t)}function ho(e,t){return te(t)?t.findIndex(l=>uo(l,e)):re(t)&&uo(t,e)?0:-1}const es=e=>e[0]==="_"||e==="$stable",Pi=e=>te(e)?e.map(it):[it(e)],Lc=(e,t,l)=>{if(t._n)return t;const n=Me((...i)=>Pi(t(...i)),l);return n._c=!1,n},ts=(e,t,l)=>{const n=e._ctx;for(const i in e){if(es(i))continue;const o=e[i];if(re(o))t[i]=Lc(i,o,n);else if(o!=null){const r=Pi(o);t[i]=()=>r}}},ls=(e,t)=>{const l=Pi(t);e.slots.default=()=>l},Pc=(e,t)=>{if(e.vnode.shapeFlag&32){const l=t._;l?(e.slots=ve(t),rn(t,"_",l)):ts(t,e.slots={})}else e.slots={},t&&ls(e,t);rn(e.slots,Pn,1)},Oc=(e,t,l)=>{const{vnode:n,slots:i}=e;let o=!0,r=Ce;if(n.shapeFlag&32){const s=t._;s?l&&s===1?o=!1:(Ne(i,t),!l&&s===1&&delete i._):(o=!t.$stable,ts(t,i)),r=t}else t&&(ls(e,t),r={default:1});if(o)for(const s in i)!es(s)&&!(s in r)&&delete i[s]};function ns(){return{app:null,config:{isNativeTag:ra,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ac=0;function Ic(e,t){return function(n,i=null){re(n)||(n=Object.assign({},n)),i!=null&&!Ie(i)&&(i=null);const o=ns(),r=new Set;let s=!1;const a=o.app={_uid:Ac++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:Jc,get config(){return o.config},set config(c){},use(c,...u){return r.has(c)||(c&&re(c.install)?(r.add(c),c.install(a,...u)):re(c)&&(r.add(c),c(a,...u))),a},mixin(c){return o.mixins.includes(c)||o.mixins.push(c),a},component(c,u){return u?(o.components[c]=u,a):o.components[c]},directive(c,u){return u?(o.directives[c]=u,a):o.directives[c]},mount(c,u,h){if(!s){const f=ie(n,i);return f.appContext=o,u&&t?t(f,c):e(f,c,h),s=!0,a._container=c,c.__vue_app__=a,On(f.component)||f.component.proxy}},unmount(){s&&(e(null,a._container),delete a._container.__vue_app__)},provide(c,u){return o.provides[c]=u,a}};return a}}function fn(e,t,l,n,i=!1){if(te(e)){e.forEach((f,p)=>fn(f,t&&(te(t)?t[p]:t),l,n,i));return}if(cl(n)&&!i)return;const o=n.shapeFlag&4?On(n.component)||n.component.proxy:n.el,r=i?null:o,{i:s,r:a}=e,c=t&&t.r,u=s.refs===Ce?s.refs={}:s.refs,h=s.setupState;if(c!=null&&c!==a&&(_e(c)?(u[c]=null,de(h,c)&&(h[c]=null)):ze(c)&&(c.value=null)),re(a))At(a,s,12,[r,u]);else{const f=_e(a),p=ze(a);if(f||p){const k=()=>{if(e.f){const R=f?u[a]:a.value;i?te(R)&&gi(R,o):te(R)?R.includes(o)||R.push(o):f?(u[a]=[o],de(h,a)&&(h[a]=u[a])):(a.value=[o],e.k&&(u[e.k]=a.value))}else f?(u[a]=r,de(h,a)&&(h[a]=r)):p&&(a.value=r,e.k&&(u[e.k]=r))};r?(k.id=-1,Ue(k,l)):k()}}}let Et=!1;const Zl=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Xl=e=>e.nodeType===8;function Fc(e){const{mt:t,p:l,o:{patchProp:n,createText:i,nextSibling:o,parentNode:r,remove:s,insert:a,createComment:c}}=e,u=(g,b)=>{if(!b.hasChildNodes()){l(null,g,b),an(),b._vnode=g;return}Et=!1,h(b.firstChild,g,null,null,null),an(),b._vnode=g,Et&&console.error("Hydration completed but contains mismatches.")},h=(g,b,w,D,q,ee=!1)=>{const O=Xl(g)&&g.data==="[",v=()=>R(g,b,w,D,q,O),{type:G,ref:U,shapeFlag:Q,patchFlag:E}=b,M=g.nodeType;b.el=g,E===-2&&(ee=!1,b.dynamicChildren=null);let I=null;switch(G){case zl:M!==3?b.children===""?(a(b.el=i(""),r(g),g),I=g):I=v():(g.data!==b.children&&(Et=!0,g.data=b.children),I=o(g));break;case Qe:M!==8||O?I=v():I=o(g);break;case Tl:if(M!==1&&M!==3)I=v();else{I=g;const se=!b.children.length;for(let H=0;H{ee=ee||!!b.dynamicChildren;const{type:O,props:v,patchFlag:G,shapeFlag:U,dirs:Q}=b,E=O==="input"&&Q||O==="option";if(E||G!==-1){if(Q&&ut(b,null,w,"created"),v)if(E||!ee||G&48)for(const I in v)(E&&I.endsWith("value")||$l(I)&&!Cl(I))&&n(g,I,null,v[I],!1,void 0,w);else v.onClick&&n(g,"onClick",null,v.onClick,!1,void 0,w);let M;if((M=v&&v.onVnodeBeforeMount)&&tt(M,w,b),Q&&ut(b,null,w,"beforeMount"),((M=v&&v.onVnodeMounted)||Q)&&Vr(()=>{M&&tt(M,w,b),Q&&ut(b,null,w,"mounted")},D),U&16&&!(v&&(v.innerHTML||v.textContent))){let I=p(g.firstChild,b,g,w,D,q,ee);for(;I;){Et=!0;const se=I;I=I.nextSibling,s(se)}}else U&8&&g.textContent!==b.children&&(Et=!0,g.textContent=b.children)}return g.nextSibling},p=(g,b,w,D,q,ee,O)=>{O=O||!!b.dynamicChildren;const v=b.children,G=v.length;for(let U=0;U{const{slotScopeIds:O}=b;O&&(q=q?q.concat(O):O);const v=r(g),G=p(o(g),b,v,w,D,q,ee);return G&&Xl(G)&&G.data==="]"?o(b.anchor=G):(Et=!0,a(b.anchor=c("]"),v,G),G)},R=(g,b,w,D,q,ee)=>{if(Et=!0,b.el=null,ee){const G=x(g);for(;;){const U=o(g);if(U&&U!==G)s(U);else break}}const O=o(g),v=r(g);return s(g),l(null,b,v,O,w,D,Zl(v),q),O},x=g=>{let b=0;for(;g;)if(g=o(g),g&&Xl(g)&&(g.data==="["&&b++,g.data==="]")){if(b===0)return o(g);b--}return g};return[u,h]}const Ue=Vr;function Sc(e){return zc(e,Fc)}function zc(e,t){const l=ha();l.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:s,createComment:a,setText:c,setElementText:u,parentNode:h,nextSibling:f,setScopeId:p=st,cloneNode:k,insertStaticContent:R}=e,x=(d,m,y,L=null,T=null,F=null,j=!1,S=null,N=!!m.dynamicChildren)=>{if(d===m)return;d&&!Kt(d,m)&&(L=W(d),Be(d,T,F,!0),d=null),m.patchFlag===-2&&(N=!1,m.dynamicChildren=null);const{type:P,ref:J,shapeFlag:Y}=m;switch(P){case zl:g(d,m,y,L);break;case Qe:b(d,m,y,L);break;case Tl:d==null&&w(m,y,L,j);break;case we:M(d,m,y,L,T,F,j,S,N);break;default:Y&1?ee(d,m,y,L,T,F,j,S,N):Y&6?I(d,m,y,L,T,F,j,S,N):(Y&64||Y&128)&&P.process(d,m,y,L,T,F,j,S,N,ye)}J!=null&&T&&fn(J,d&&d.ref,F,m||d,!m)},g=(d,m,y,L)=>{if(d==null)n(m.el=s(m.children),y,L);else{const T=m.el=d.el;m.children!==d.children&&c(T,m.children)}},b=(d,m,y,L)=>{d==null?n(m.el=a(m.children||""),y,L):m.el=d.el},w=(d,m,y,L)=>{[d.el,d.anchor]=R(d.children,m,y,L,d.el,d.anchor)},D=({el:d,anchor:m},y,L)=>{let T;for(;d&&d!==m;)T=f(d),n(d,y,L),d=T;n(m,y,L)},q=({el:d,anchor:m})=>{let y;for(;d&&d!==m;)y=f(d),i(d),d=y;i(m)},ee=(d,m,y,L,T,F,j,S,N)=>{j=j||m.type==="svg",d==null?O(m,y,L,T,F,j,S,N):U(d,m,T,F,j,S,N)},O=(d,m,y,L,T,F,j,S)=>{let N,P;const{type:J,props:Y,shapeFlag:Z,transition:oe,patchFlag:fe,dirs:xe}=d;if(d.el&&k!==void 0&&fe===-1)N=d.el=k(d.el);else{if(N=d.el=r(d.type,F,Y&&Y.is,Y),Z&8?u(N,d.children):Z&16&&G(d.children,N,null,L,T,F&&J!=="foreignObject",j,S),xe&&ut(d,null,L,"created"),Y){for(const Te in Y)Te!=="value"&&!Cl(Te)&&o(N,Te,null,Y[Te],F,d.children,L,T,z);"value"in Y&&o(N,"value",null,Y.value),(P=Y.onVnodeBeforeMount)&&tt(P,L,d)}v(N,d,d.scopeId,j,L)}xe&&ut(d,null,L,"beforeMount");const Ee=(!T||T&&!T.pendingBranch)&&oe&&!oe.persisted;Ee&&oe.beforeEnter(N),n(N,m,y),((P=Y&&Y.onVnodeMounted)||Ee||xe)&&Ue(()=>{P&&tt(P,L,d),Ee&&oe.enter(N),xe&&ut(d,null,L,"mounted")},T)},v=(d,m,y,L,T)=>{if(y&&p(d,y),L)for(let F=0;F{for(let P=N;P{const S=m.el=d.el;let{patchFlag:N,dynamicChildren:P,dirs:J}=m;N|=d.patchFlag&16;const Y=d.props||Ce,Z=m.props||Ce;let oe;y&&Vt(y,!1),(oe=Z.onVnodeBeforeUpdate)&&tt(oe,y,m,d),J&&ut(m,d,y,"beforeUpdate"),y&&Vt(y,!0);const fe=T&&m.type!=="foreignObject";if(P?Q(d.dynamicChildren,P,S,y,L,fe,F):j||Oe(d,m,S,null,y,L,fe,F,!1),N>0){if(N&16)E(S,m,Y,Z,y,L,T);else if(N&2&&Y.class!==Z.class&&o(S,"class",null,Z.class,T),N&4&&o(S,"style",Y.style,Z.style,T),N&8){const xe=m.dynamicProps;for(let Ee=0;Ee{oe&&tt(oe,y,m,d),J&&ut(m,d,y,"updated")},L)},Q=(d,m,y,L,T,F,j)=>{for(let S=0;S{if(y!==L){for(const S in L){if(Cl(S))continue;const N=L[S],P=y[S];N!==P&&S!=="value"&&o(d,S,P,N,j,m.children,T,F,z)}if(y!==Ce)for(const S in y)!Cl(S)&&!(S in L)&&o(d,S,y[S],null,j,m.children,T,F,z);"value"in L&&o(d,"value",y.value,L.value)}},M=(d,m,y,L,T,F,j,S,N)=>{const P=m.el=d?d.el:s(""),J=m.anchor=d?d.anchor:s("");let{patchFlag:Y,dynamicChildren:Z,slotScopeIds:oe}=m;oe&&(S=S?S.concat(oe):oe),d==null?(n(P,y,L),n(J,y,L),G(m.children,y,J,T,F,j,S,N)):Y>0&&Y&64&&Z&&d.dynamicChildren?(Q(d.dynamicChildren,Z,y,T,F,j,S),(m.key!=null||T&&m===T.subTree)&&is(d,m,!0)):Oe(d,m,y,J,T,F,j,S,N)},I=(d,m,y,L,T,F,j,S,N)=>{m.slotScopeIds=S,d==null?m.shapeFlag&512?T.ctx.activate(m,y,L,j,N):se(m,y,L,T,F,j,N):H(d,m,N)},se=(d,m,y,L,T,F,j)=>{const S=d.component=Uc(d,L,T);if(jl(d)&&(S.ctx.renderer=ye),qc(S),S.asyncDep){if(T&&T.registerDep(S,le),!d.el){const N=S.subTree=ie(Qe);b(null,N,m,y)}return}le(S,d,m,y,T,F,j)},H=(d,m,y)=>{const L=m.component=d.component;if(nc(d,m,y))if(L.asyncDep&&!L.asyncResolved){ae(L,m,y);return}else L.next=m,Ja(L.update),L.update();else m.el=d.el,L.vnode=m},le=(d,m,y,L,T,F,j)=>{const S=()=>{if(d.isMounted){let{next:J,bu:Y,u:Z,parent:oe,vnode:fe}=d,xe=J,Ee;Vt(d,!1),J?(J.el=fe.el,ae(d,J,j)):J=fe,Y&&Sn(Y),(Ee=J.props&&J.props.onVnodeBeforeUpdate)&&tt(Ee,oe,J,fe),Vt(d,!0);const Te=zn(d),nt=d.subTree;d.subTree=Te,x(nt,Te,h(nt.el),W(nt),d,T,F),J.el=Te.el,xe===null&&ic(d,Te.el),Z&&Ue(Z,T),(Ee=J.props&&J.props.onVnodeUpdated)&&Ue(()=>tt(Ee,oe,J,fe),T)}else{let J;const{el:Y,props:Z}=m,{bm:oe,m:fe,parent:xe}=d,Ee=cl(m);if(Vt(d,!1),oe&&Sn(oe),!Ee&&(J=Z&&Z.onVnodeBeforeMount)&&tt(J,xe,m),Vt(d,!0),Y&&ne){const Te=()=>{d.subTree=zn(d),ne(Y,d.subTree,d,T,null)};Ee?m.type.__asyncLoader().then(()=>!d.isUnmounted&&Te()):Te()}else{const Te=d.subTree=zn(d);x(null,Te,y,L,d,T,F),m.el=Te.el}if(fe&&Ue(fe,T),!Ee&&(J=Z&&Z.onVnodeMounted)){const Te=m;Ue(()=>tt(J,xe,Te),T)}(m.shapeFlag&256||xe&&cl(xe.vnode)&&xe.vnode.shapeFlag&256)&&d.a&&Ue(d.a,T),d.isMounted=!0,m=y=L=null}},N=d.effect=new yi(S,()=>Li(P),d.scope),P=d.update=()=>N.run();P.id=d.uid,Vt(d,!0),P()},ae=(d,m,y)=>{m.component=d;const L=d.vnode.props;d.vnode=m,d.next=null,Tc(d,m.props,L,y),Oc(d,m.children,y),ml(),Rn(void 0,d.update),pl()},Oe=(d,m,y,L,T,F,j,S,N=!1)=>{const P=d&&d.children,J=d?d.shapeFlag:0,Y=m.children,{patchFlag:Z,shapeFlag:oe}=m;if(Z>0){if(Z&128){qe(P,Y,y,L,T,F,j,S,N);return}else if(Z&256){Ve(P,Y,y,L,T,F,j,S,N);return}}oe&8?(J&16&&z(P,T,F),Y!==P&&u(y,Y)):J&16?oe&16?qe(P,Y,y,L,T,F,j,S,N):z(P,T,F,!0):(J&8&&u(y,""),oe&16&&G(Y,y,L,T,F,j,S,N))},Ve=(d,m,y,L,T,F,j,S,N)=>{d=d||rl,m=m||rl;const P=d.length,J=m.length,Y=Math.min(P,J);let Z;for(Z=0;ZJ?z(d,T,F,!0,!1,Y):G(m,y,L,T,F,j,S,N,Y)},qe=(d,m,y,L,T,F,j,S,N)=>{let P=0;const J=m.length;let Y=d.length-1,Z=J-1;for(;P<=Y&&P<=Z;){const oe=d[P],fe=m[P]=N?Tt(m[P]):it(m[P]);if(Kt(oe,fe))x(oe,fe,y,null,T,F,j,S,N);else break;P++}for(;P<=Y&&P<=Z;){const oe=d[Y],fe=m[Z]=N?Tt(m[Z]):it(m[Z]);if(Kt(oe,fe))x(oe,fe,y,null,T,F,j,S,N);else break;Y--,Z--}if(P>Y){if(P<=Z){const oe=Z+1,fe=oeZ)for(;P<=Y;)Be(d[P],T,F,!0),P++;else{const oe=P,fe=P,xe=new Map;for(P=fe;P<=Z;P++){const Ke=m[P]=N?Tt(m[P]):it(m[P]);Ke.key!=null&&xe.set(Ke.key,P)}let Ee,Te=0;const nt=Z-fe+1;let el=!1,Ui=0;const vl=new Array(nt);for(P=0;P=nt){Be(Ke,T,F,!0);continue}let ct;if(Ke.key!=null)ct=xe.get(Ke.key);else for(Ee=fe;Ee<=Z;Ee++)if(vl[Ee-fe]===0&&Kt(Ke,m[Ee])){ct=Ee;break}ct===void 0?Be(Ke,T,F,!0):(vl[ct-fe]=P+1,ct>=Ui?Ui=ct:el=!0,x(Ke,m[ct],y,null,T,F,j,S,N),Te++)}const qi=el?Dc(vl):rl;for(Ee=qi.length-1,P=nt-1;P>=0;P--){const Ke=fe+P,ct=m[Ke],Ki=Ke+1{const{el:F,type:j,transition:S,children:N,shapeFlag:P}=d;if(P&6){Xe(d.component.subTree,m,y,L);return}if(P&128){d.suspense.move(m,y,L);return}if(P&64){j.move(d,m,y,ye);return}if(j===we){n(F,m,y);for(let Y=0;YS.enter(F),T);else{const{leave:Y,delayLeave:Z,afterLeave:oe}=S,fe=()=>n(F,m,y),xe=()=>{Y(F,()=>{fe(),oe&&oe()})};Z?Z(F,fe,xe):xe()}else n(F,m,y)},Be=(d,m,y,L=!1,T=!1)=>{const{type:F,props:j,ref:S,children:N,dynamicChildren:P,shapeFlag:J,patchFlag:Y,dirs:Z}=d;if(S!=null&&fn(S,null,y,d,!0),J&256){m.ctx.deactivate(d);return}const oe=J&1&&Z,fe=!cl(d);let xe;if(fe&&(xe=j&&j.onVnodeBeforeUnmount)&&tt(xe,m,d),J&6)K(d.component,y,L);else{if(J&128){d.suspense.unmount(y,L);return}oe&&ut(d,null,m,"beforeUnmount"),J&64?d.type.remove(d,m,y,T,ye,L):P&&(F!==we||Y>0&&Y&64)?z(P,m,y,!1,!0):(F===we&&Y&384||!T&&J&16)&&z(N,m,y),L&&$t(d)}(fe&&(xe=j&&j.onVnodeUnmounted)||oe)&&Ue(()=>{xe&&tt(xe,m,d),oe&&ut(d,null,m,"unmounted")},y)},$t=d=>{const{type:m,el:y,anchor:L,transition:T}=d;if(m===we){C(y,L);return}if(m===Tl){q(d);return}const F=()=>{i(y),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(d.shapeFlag&1&&T&&!T.persisted){const{leave:j,delayLeave:S}=T,N=()=>j(y,F);S?S(d.el,F,N):N()}else F()},C=(d,m)=>{let y;for(;d!==m;)y=f(d),i(d),d=y;i(m)},K=(d,m,y)=>{const{bum:L,scope:T,update:F,subTree:j,um:S}=d;L&&Sn(L),T.stop(),F&&(F.active=!1,Be(j,d,m,y)),S&&Ue(S,m),Ue(()=>{d.isUnmounted=!0},m),m&&m.pendingBranch&&!m.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===m.pendingId&&(m.deps--,m.deps===0&&m.resolve())},z=(d,m,y,L=!1,T=!1,F=0)=>{for(let j=F;jd.shapeFlag&6?W(d.component.subTree):d.shapeFlag&128?d.suspense.next():f(d.anchor||d.el),ge=(d,m,y)=>{d==null?m._vnode&&Be(m._vnode,null,null,!0):x(m._vnode||null,d,m,null,null,null,y),an(),m._vnode=d},ye={p:x,um:Be,m:Xe,r:$t,mt:se,mc:G,pc:Oe,pbc:Q,n:W,o:e};let ce,ne;return t&&([ce,ne]=t(ye)),{render:ge,hydrate:ce,createApp:Ic(ge,ce)}}function Vt({effect:e,update:t},l){e.allowRecurse=t.allowRecurse=l}function is(e,t,l=!1){const n=e.children,i=t.children;if(te(n)&&te(i))for(let o=0;o>1,e[l[s]]0&&(t[n]=l[o-1]),l[o]=n)}}for(o=l.length,r=l[o-1];o-- >0;)l[o]=r,r=t[r];return l}const Mc=e=>e.__isTeleport,we=Symbol(void 0),zl=Symbol(void 0),Qe=Symbol(void 0),Tl=Symbol(void 0),Ll=[];let rt=null;function V(e=!1){Ll.push(rt=e?null:[])}function Nc(){Ll.pop(),rt=Ll[Ll.length-1]||null}let Dl=1;function fo(e){Dl+=e}function os(e){return e.dynamicChildren=Dl>0?rt||rl:null,Nc(),Dl>0&&rt&&rt.push(e),e}function X(e,t,l,n,i,o){return os(pe(e,t,l,n,i,o,!0))}function Ae(e,t,l,n,i){return os(ie(e,t,l,n,i,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function Kt(e,t){return e.type===t.type&&e.key===t.key}const Pn="__vInternal",rs=({key:e})=>e!=null?e:null,ln=({ref:e,ref_key:t,ref_for:l})=>e!=null?_e(e)||ze(e)||re(e)?{i:$e,r:e,k:t,f:!!l}:e:null;function pe(e,t=null,l=null,n=0,i=null,o=e===we?0:1,r=!1,s=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&rs(t),ref:t&&ln(t),scopeId:$r,slotScopeIds:null,children:l,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null};return s?(Oi(a,l),o&128&&e.normalize(a)):l&&(a.shapeFlag|=_e(l)?8:16),Dl>0&&!r&&rt&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&rt.push(a),a}const ie=$c;function $c(e,t=null,l=null,n=0,i=null,o=!1){if((!e||e===bc)&&(e=Qe),mn(e)){const s=zt(e,t,!0);return l&&Oi(s,l),Dl>0&&!o&&rt&&(s.shapeFlag&6?rt[rt.indexOf(e)]=s:rt.push(s)),s.patchFlag|=-2,s}if(Qc(e)&&(e=e.__vccOpts),t){t=Vc(t);let{class:s,style:a}=t;s&&!_e(s)&&(t.class=Ye(s)),Ie(a)&&(Tr(a)&&!te(a)&&(a=Ne({},a)),t.style=Nl(a))}const r=_e(e)?1:oc(e)?128:Mc(e)?64:Ie(e)?4:re(e)?2:0;return pe(e,t,l,n,i,r,o,!0)}function Vc(e){return e?Tr(e)||Pn in e?Ne({},e):e:null}function zt(e,t,l=!1){const{props:n,ref:i,patchFlag:o,children:r}=e,s=t?ri(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:s,key:s&&rs(s),ref:t&&t.ref?l&&i?te(i)?i.concat(ln(t)):[i,ln(t)]:ln(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==we?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&zt(e.ssContent),ssFallback:e.ssFallback&&zt(e.ssFallback),el:e.el,anchor:e.anchor}}function Dt(e=" ",t=0){return ie(zl,null,e,t)}function Hc(e,t){const l=ie(Tl,null,e);return l.staticCount=t,l}function Pe(e="",t=!1){return t?(V(),Ae(Qe,null,e)):ie(Qe,null,e)}function it(e){return e==null||typeof e=="boolean"?ie(Qe):te(e)?ie(we,null,e.slice()):typeof e=="object"?Tt(e):ie(zl,null,String(e))}function Tt(e){return e.el===null||e.memo?e:zt(e)}function Oi(e,t){let l=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(te(t))l=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Oi(e,i()),i._c&&(i._d=!0));return}else{l=32;const i=t._;!i&&!(Pn in t)?t._ctx=$e:i===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:$e},l=32):(t=String(t),n&64?(l=16,t=[Dt(t)]):l=8);e.children=t,e.shapeFlag|=l}function ri(...e){const t={};for(let l=0;lFe||$e,ul=e=>{Fe=e,e.scope.on()},Jt=()=>{Fe&&Fe.scope.off(),Fe=null};function ss(e){return e.vnode.shapeFlag&4}let dl=!1;function qc(e,t=!1){dl=t;const{props:l,children:n}=e.vnode,i=ss(e);wc(e,l,i,t),Pc(e,n);const o=i?Kc(e,t):void 0;return dl=!1,o}function Kc(e,t){const l=e.type;e.accessCache=Object.create(null),e.proxy=Lr(new Proxy(e.ctx,yc));const{setup:n}=l;if(n){const i=e.setupContext=n.length>1?Gc(e):null;ul(e),ml();const o=At(n,e,0,[e.props,i]);if(pl(),Jt(),fr(o)){if(o.then(Jt,Jt),t)return o.then(r=>{mo(e,r,t)}).catch(r=>{Vl(r,e,0)});e.asyncDep=o}else mo(e,o,t)}else as(e,t)}function mo(e,t,l){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ie(t)&&(e.setupState=Fr(t)),as(e,l)}let po;function as(e,t,l){const n=e.type;if(!e.render){if(!t&&po&&!n.render){const i=n.template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:a}=n,c=Ne(Ne({isCustomElement:o,delimiters:s},r),a);n.render=po(i,c)}}e.render=n.render||st}ul(e),ml(),kc(e),pl(),Jt()}function Wc(e){return new Proxy(e.attrs,{get(t,l){return Je(e,"get","$attrs"),t[l]}})}function Gc(e){const t=n=>{e.exposed=n||{}};let l;return{get attrs(){return l||(l=Wc(e))},slots:e.slots,emit:e.emit,expose:t}}function On(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fr(Lr(e.exposed)),{get(t,l){if(l in t)return t[l];if(l in dn)return dn[l](e)}}))}function Yc(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function Qc(e){return re(e)&&"__vccOpts"in e}const B=(e,t)=>Ga(e,t,dl);function ue(e,t,l){const n=arguments.length;return n===2?Ie(t)&&!te(t)?mn(t)?ie(e,null,[t]):ie(e,t):ie(e,null,t):(n>3?l=Array.prototype.slice.call(arguments,2):n===3&&mn(l)&&(l=[l]),ie(e,t,l))}const Jc="3.2.37",Zc="http://www.w3.org/2000/svg",Wt=typeof document<"u"?document:null,go=Wt&&Wt.createElement("template"),Xc={insert:(e,t,l)=>{t.insertBefore(e,l||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,l,n)=>{const i=t?Wt.createElementNS(Zc,e):Wt.createElement(e,l?{is:l}:void 0);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Wt.createTextNode(e),createComment:e=>Wt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,l,n,i,o){const r=l?l.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),l),!(i===o||!(i=i.nextSibling)););else{go.innerHTML=n?`${e}`:e;const s=go.content;if(n){const a=s.firstChild;for(;a.firstChild;)s.appendChild(a.firstChild);s.removeChild(a)}t.insertBefore(s,l)}return[r?r.nextSibling:t.firstChild,l?l.previousSibling:t.lastChild]}};function eu(e,t,l){const n=e._vtc;n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):l?e.setAttribute("class",t):e.className=t}function tu(e,t,l){const n=e.style,i=_e(l);if(l&&!i){for(const o in l)si(n,o,l[o]);if(t&&!_e(t))for(const o in t)l[o]==null&&si(n,o,"")}else{const o=n.display;i?t!==l&&(n.cssText=l):t&&e.removeAttribute("style"),"_vod"in e&&(n.display=o)}}const vo=/\s*!important$/;function si(e,t,l){if(te(l))l.forEach(n=>si(e,t,n));else if(l==null&&(l=""),t.startsWith("--"))e.setProperty(t,l);else{const n=lu(e,t);vo.test(l)?e.setProperty(Zt(n),l.replace(vo,""),"important"):e[n]=l}}const bo=["Webkit","Moz","ms"],Nn={};function lu(e,t){const l=Nn[t];if(l)return l;let n=ht(t);if(n!=="filter"&&n in e)return Nn[t]=n;n=xn(n);for(let i=0;i{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const l=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(l&&Number(l[1])<=53)}return[e,t]})();let ai=0;const ru=Promise.resolve(),su=()=>{ai=0},au=()=>ai||(ru.then(su),ai=cs());function cu(e,t,l,n){e.addEventListener(t,l,n)}function uu(e,t,l,n){e.removeEventListener(t,l,n)}function du(e,t,l,n,i=null){const o=e._vei||(e._vei={}),r=o[t];if(n&&r)r.value=n;else{const[s,a]=hu(t);if(n){const c=o[t]=fu(n,i);cu(e,s,c,a)}else r&&(uu(e,s,r,a),o[t]=void 0)}}const yo=/(?:Once|Passive|Capture)$/;function hu(e){let t;if(yo.test(e)){t={};let l;for(;l=e.match(yo);)e=e.slice(0,e.length-l[0].length),t[l[0].toLowerCase()]=!0}return[Zt(e.slice(2)),t]}function fu(e,t){const l=n=>{const i=n.timeStamp||cs();(ou||i>=l.attached-1)&<(mu(n,l.value),t,5,[n])};return l.value=e,l.attached=au(),l}function mu(e,t){if(te(t)){const l=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{l.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const ko=/^on[a-z]/,pu=(e,t,l,n,i=!1,o,r,s,a)=>{t==="class"?eu(e,n,i):t==="style"?tu(e,l,n):$l(t)?pi(t)||du(e,t,l,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):gu(e,t,n,i))?iu(e,t,n,o,r,s,a):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),nu(e,t,n,i))};function gu(e,t,l,n){return n?!!(t==="innerHTML"||t==="textContent"||t in e&&ko.test(t)&&re(l)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ko.test(t)&&_e(l)?!1:t in e}const Ct="transition",bl="animation",Ul=(e,{slots:t})=>ue(Br,vu(e),t);Ul.displayName="Transition";const us={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Ul.props=Ne({},Br.props,us);const Ht=(e,t=[])=>{te(e)?e.forEach(l=>l(...t)):e&&e(...t)},xo=e=>e?te(e)?e.some(t=>t.length>1):e.length>1:!1;function vu(e){const t={};for(const E in e)E in us||(t[E]=e[E]);if(e.css===!1)return t;const{name:l="v",type:n,duration:i,enterFromClass:o=`${l}-enter-from`,enterActiveClass:r=`${l}-enter-active`,enterToClass:s=`${l}-enter-to`,appearFromClass:a=o,appearActiveClass:c=r,appearToClass:u=s,leaveFromClass:h=`${l}-leave-from`,leaveActiveClass:f=`${l}-leave-active`,leaveToClass:p=`${l}-leave-to`}=e,k=bu(i),R=k&&k[0],x=k&&k[1],{onBeforeEnter:g,onEnter:b,onEnterCancelled:w,onLeave:D,onLeaveCancelled:q,onBeforeAppear:ee=g,onAppear:O=b,onAppearCancelled:v=w}=t,G=(E,M,I)=>{jt(E,M?u:s),jt(E,M?c:r),I&&I()},U=(E,M)=>{E._isLeaving=!1,jt(E,h),jt(E,p),jt(E,f),M&&M()},Q=E=>(M,I)=>{const se=E?O:b,H=()=>G(M,E,I);Ht(se,[M,H]),Eo(()=>{jt(M,E?a:o),Rt(M,E?u:s),xo(se)||Co(M,n,R,H)})};return Ne(t,{onBeforeEnter(E){Ht(g,[E]),Rt(E,o),Rt(E,r)},onBeforeAppear(E){Ht(ee,[E]),Rt(E,a),Rt(E,c)},onEnter:Q(!1),onAppear:Q(!0),onLeave(E,M){E._isLeaving=!0;const I=()=>U(E,M);Rt(E,h),ku(),Rt(E,f),Eo(()=>{!E._isLeaving||(jt(E,h),Rt(E,p),xo(D)||Co(E,n,x,I))}),Ht(D,[E,I])},onEnterCancelled(E){G(E,!1),Ht(w,[E])},onAppearCancelled(E){G(E,!0),Ht(v,[E])},onLeaveCancelled(E){U(E),Ht(q,[E])}})}function bu(e){if(e==null)return null;if(Ie(e))return[$n(e.enter),$n(e.leave)];{const t=$n(e);return[t,t]}}function $n(e){return gr(e)}function Rt(e,t){t.split(/\s+/).forEach(l=>l&&e.classList.add(l)),(e._vtc||(e._vtc=new Set)).add(t)}function jt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const{_vtc:l}=e;l&&(l.delete(t),l.size||(e._vtc=void 0))}function Eo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let _u=0;function Co(e,t,l,n){const i=e._endId=++_u,o=()=>{i===e._endId&&n()};if(l)return setTimeout(o,l);const{type:r,timeout:s,propCount:a}=yu(e,t);if(!r)return n();const c=r+"end";let u=0;const h=()=>{e.removeEventListener(c,f),o()},f=p=>{p.target===e&&++u>=a&&h()};setTimeout(()=>{u(l[k]||"").split(", "),i=n(Ct+"Delay"),o=n(Ct+"Duration"),r=Ro(i,o),s=n(bl+"Delay"),a=n(bl+"Duration"),c=Ro(s,a);let u=null,h=0,f=0;t===Ct?r>0&&(u=Ct,h=r,f=o.length):t===bl?c>0&&(u=bl,h=c,f=a.length):(h=Math.max(r,c),u=h>0?r>c?Ct:bl:null,f=u?u===Ct?o.length:a.length:0);const p=u===Ct&&/\b(transform|all)(,|$)/.test(l[Ct+"Property"]);return{type:u,timeout:h,propCount:f,hasTransform:p}}function Ro(e,t){for(;e.lengthwo(l)+wo(e[n])))}function wo(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ku(){return document.body.offsetHeight}const xu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Eu=(e,t)=>l=>{if(!("key"in l))return;const n=Zt(l.key);if(t.some(i=>i===n||xu[i]===n))return e(l)},pn={beforeMount(e,{value:t},{transition:l}){e._vod=e.style.display==="none"?"":e.style.display,l&&t?l.beforeEnter(e):_l(e,t)},mounted(e,{value:t},{transition:l}){l&&t&&l.enter(e)},updated(e,{value:t,oldValue:l},{transition:n}){!t!=!l&&(n?t?(n.beforeEnter(e),_l(e,!0),n.enter(e)):n.leave(e,()=>{_l(e,!1)}):_l(e,t))},beforeUnmount(e,{value:t}){_l(e,t)}};function _l(e,t){e.style.display=t?e._vod:"none"}const Cu=Ne({patchProp:pu},Xc);let Vn,To=!1;function Ru(){return Vn=To?Vn:Sc(Cu),To=!0,Vn}const wu=(...e)=>{const t=Ru().createApp(...e),{mount:l}=t;return t.mount=n=>{const i=Tu(n);if(i)return l(i,!0,i instanceof SVGElement)},t};function Tu(e){return _e(e)?document.querySelector(e):e}const Lu=JSON.parse('{"base":"/YukiReflection/","lang":"en-US","title":"Yuki Reflection","description":"An efficient Reflection API for the Android platform built in Kotlin","head":[["link",{"rel":"icon","href":"/YukiReflection/images/logo.png"}]],"locales":{"/en/":{"lang":"en-US","description":"An efficient Reflection API for the Android platform built in Kotlin"},"/zh-cn/":{"lang":"zh-CN","description":"\u4E00\u4E2A\u4F7F\u7528 Kotlin \u6784\u5EFA\u7684 Android \u5E73\u53F0\u9AD8\u6548\u53CD\u5C04 API"}}}');var Pu=([e,t,l])=>e==="meta"&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,l]),Ou=e=>{const t=new Set,l=[];return e.forEach(n=>{const i=Pu(n);t.has(i)||(t.add(i),l.push(n))}),l},ql=e=>/^(https?:)?\/\//.test(e),Au=e=>/^mailto:/.test(e),Iu=e=>/^tel:/.test(e),Ii=e=>Object.prototype.toString.call(e)==="[object Object]",ds=e=>e.replace(/\/$/,""),hs=e=>e.replace(/^\//,""),fs=(e,t)=>{const l=Object.keys(e).sort((n,i)=>{const o=i.split("/").length-n.split("/").length;return o!==0?o:i.length-n.length});for(const n of l)if(t.startsWith(n))return n;return"/"};const ms={"v-8daa1a0e":$(()=>_(()=>import("./index.html.d29ef018.js"),[])),"v-2d0a870d":$(()=>_(()=>import("./index.html.5f733852.js"),[])),"v-c0c85b84":$(()=>_(()=>import("./index.html.47752e9d.js"),[])),"v-7a15fe3b":$(()=>_(()=>import("./about.html.d297ec6f.js"),[])),"v-3f851d14":$(()=>_(()=>import("./changelog.html.d61e0e73.js"),[])),"v-193cf592":$(()=>_(()=>import("./contacts.html.0e49996d.js"),[])),"v-ae7b83f2":$(()=>_(()=>import("./future.html.1e8feb6c.js"),[])),"v-c557cfcc":$(()=>_(()=>import("./features.html.392b7366.js"),[])),"v-64fc7bb8":$(()=>_(()=>import("./home.html.996f3d8b.js"),[])),"v-9cfea7fc":$(()=>_(()=>import("./api-example.html.71c4f4c8.js"),[])),"v-72c12b7d":$(()=>_(()=>import("./api-exception.html.6d0d8500.js"),[])),"v-efb45d4c":$(()=>_(()=>import("./home.html.823dad43.js"),[])),"v-72889797":$(()=>_(()=>import("./quick-start.html.d49f699c.js"),[])),"v-41967128":$(()=>_(()=>import("./about.html.745f79bf.js"),[])),"v-0e6c3476":$(()=>_(()=>import("./changelog.html.e5e321f8.js"),[])),"v-6cf86266":$(()=>_(()=>import("./contacts.html.edcb60f9.js"),[])),"v-3106ca14":$(()=>_(()=>import("./future.html.a0527b71.js"),[])),"v-47e315ee":$(()=>_(()=>import("./features.html.206ba964.js"),[])),"v-c8deafb2":$(()=>_(()=>import("./home.html.7d3cafa2.js"),[])),"v-c6114c9e":$(()=>_(()=>import("./api-example.html.b45bb791.js"),[])),"v-5b43296c":$(()=>_(()=>import("./api-exception.html.5b61e805.js"),[])),"v-6a609e09":$(()=>_(()=>import("./home.html.f65c2bf1.js"),[])),"v-24840ff0":$(()=>_(()=>import("./quick-start.html.e5d2ccbb.js"),[])),"v-23f4d2be":$(()=>_(()=>import("./YukiReflection.html.45006f7f.js"),[])),"v-c088ede0":$(()=>_(()=>import("./YukiReflection.html.bf1edc3f.js"),[])),"v-47f17664":$(()=>_(()=>import("./CurrentClass.html.6e9dea02.js"),[])),"v-38df33ac":$(()=>_(()=>import("./GenericClass.html.0d25aad3.js"),[])),"v-3a8666c0":$(()=>_(()=>import("./VariousClass.html.a35b416f.js"),[])),"v-728f231c":$(()=>_(()=>import("./ReflectionFactory.html.c776f112.js"),[])),"v-406687ff":$(()=>_(()=>import("./CurrentClass.html.297341b7.js"),[])),"v-c5831246":$(()=>_(()=>import("./GenericClass.html.d70fe748.js"),[])),"v-c234ac1e":$(()=>_(()=>import("./VariousClass.html.8b2dbb63.js"),[])),"v-b3841eba":$(()=>_(()=>import("./ReflectionFactory.html.58a06d73.js"),[])),"v-740d06da":$(()=>_(()=>import("./BaseFinder.html.4e2b195c.js"),[])),"v-6d6cd473":$(()=>_(()=>import("./DexClassFinder.html.8f8147cf.js"),[])),"v-b3220076":$(()=>_(()=>import("./ConstructorFinder.html.6ad43856.js"),[])),"v-4b907076":$(()=>_(()=>import("./FieldFinder.html.9c05fbb5.js"),[])),"v-012ee5a6":$(()=>_(()=>import("./MethodFinder.html.34c11b50.js"),[])),"v-30e525ac":$(()=>_(()=>import("./DefinedTypeFactory.html.b7f090f2.js"),[])),"v-7f47f9f8":$(()=>_(()=>import("./ComponentTypeFactory.html.d256c1af.js"),[])),"v-5a1019d6":$(()=>_(()=>import("./GraphicsTypeFactory.html.80469b7b.js"),[])),"v-be0e3220":$(()=>_(()=>import("./ViewTypeFactory.html.c29dc800.js"),[])),"v-12f074b0":$(()=>_(()=>import("./VariableTypeFactory.html.fa6b508c.js"),[])),"v-c945cb6e":$(()=>_(()=>import("./BaseFinder.html.0d9a390a.js"),[])),"v-2d13d624":$(()=>_(()=>import("./DexClassFinder.html.0a02d362.js"),[])),"v-722cd474":$(()=>_(()=>import("./ConstructorFinder.html.3ab5ab90.js"),[])),"v-293ae898":$(()=>_(()=>import("./FieldFinder.html.c998316c.js"),[])),"v-155c9f97":$(()=>_(()=>import("./MethodFinder.html.a001c26d.js"),[])),"v-6c58c435":$(()=>_(()=>import("./ComponentTypeFactory.html.66cab34e.js"),[])),"v-25cdee85":$(()=>_(()=>import("./GraphicsTypeFactory.html.5db530c2.js"),[])),"v-12826b1f":$(()=>_(()=>import("./ViewTypeFactory.html.e7f92eb4.js"),[])),"v-597ac69b":$(()=>_(()=>import("./DefinedTypeFactory.html.da8da91c.js"),[])),"v-5ad1133e":$(()=>_(()=>import("./VariableTypeFactory.html.c4f9e250.js"),[])),"v-6f96d791":$(()=>_(()=>import("./CountRules.html.a9859993.js"),[])),"v-56071599":$(()=>_(()=>import("./ModifierRules.html.1078f830.js"),[])),"v-4ea9e766":$(()=>_(()=>import("./NameRules.html.e17397ad.js"),[])),"v-3045c7fe":$(()=>_(()=>import("./ObjectRules.html.f794b8f1.js"),[])),"v-cce2b7b6":$(()=>_(()=>import("./ConstructorRules.html.cffd5893.js"),[])),"v-82a85036":$(()=>_(()=>import("./FieldRules.html.13208ccb.js"),[])),"v-71ecb893":$(()=>_(()=>import("./MemberRules.html.6518c444.js"),[])),"v-5e7e121a":$(()=>_(()=>import("./MethodRules.html.b4cbf775.js"),[])),"v-3dbf4880":$(()=>_(()=>import("./CountRules.html.fffc6aa3.js"),[])),"v-701721ec":$(()=>_(()=>import("./ModifierRules.html.7cb5c257.js"),[])),"v-264e7384":$(()=>_(()=>import("./NameRules.html.2d1132e2.js"),[])),"v-b0f7c49c":$(()=>_(()=>import("./ObjectRules.html.fb9dbd7b.js"),[])),"v-ec153654":$(()=>_(()=>import("./ConstructorRules.html.cabc9f1a.js"),[])),"v-30993156":$(()=>_(()=>import("./FieldRules.html.1239d25f.js"),[])),"v-3daa8d42":$(()=>_(()=>import("./MemberRules.html.cdec39d1.js"),[])),"v-2a3be6c9":$(()=>_(()=>import("./MethodRules.html.f3f4b9cf.js"),[])),"v-4f47dfda":$(()=>_(()=>import("./MemberRulesResult.html.b64c651c.js"),[])),"v-503f5f8b":$(()=>_(()=>import("./MemberRulesResult.html.64bbc025.js"),[])),"v-3706649a":$(()=>_(()=>import("./404.html.70a6b843.js"),[]))};var Mt=(e={})=>e;function ps(e,t,l){var n,i,o;t===void 0&&(t=50),l===void 0&&(l={});var r=(n=l.isImmediate)!=null&&n,s=(i=l.callback)!=null&&i,a=l.maxWait,c=Date.now(),u=[];function h(){if(a!==void 0){var p=Date.now()-c;if(p+t>=a)return a-p}return t}var f=function(){var p=[].slice.call(arguments),k=this;return new Promise(function(R,x){var g=r&&o===void 0;if(o!==void 0&&clearTimeout(o),o=setTimeout(function(){if(o=void 0,c=Date.now(),!r){var w=e.apply(k,p);s&&s(w),u.forEach(function(D){return(0,D.resolve)(w)}),u=[]}},h()),g){var b=e.apply(k,p);return s&&s(b),R(b)}u.push({resolve:R,reject:x})})};return f.cancel=function(p){o!==void 0&&clearTimeout(o),u.forEach(function(k){return(0,k.reject)(p)}),u=[]},f}/*!
+const Zs="modulepreload",Xs=function(e){return"/YukiReflection/"+e},Wi={},_=function(t,l,n){return!l||l.length===0?t():Promise.all(l.map(i=>{if(i=Xs(i),i in Wi)return;Wi[i]=!0;const o=i.endsWith(".css"),r=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${r}`))return;const s=document.createElement("link");if(s.rel=o?"stylesheet":Zs,o||(s.as="script",s.crossOrigin=""),s.href=i,document.head.appendChild(s),o)return new Promise((a,c)=>{s.addEventListener("load",a),s.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},ea={"v-8daa1a0e":()=>_(()=>import("./index.html.7c46b7b0.js"),[]).then(({data:e})=>e),"v-2d0a870d":()=>_(()=>import("./index.html.b541ea38.js"),[]).then(({data:e})=>e),"v-c0c85b84":()=>_(()=>import("./index.html.0336a74d.js"),[]).then(({data:e})=>e),"v-7a15fe3b":()=>_(()=>import("./about.html.2effd4b1.js"),[]).then(({data:e})=>e),"v-3f851d14":()=>_(()=>import("./changelog.html.01288623.js"),[]).then(({data:e})=>e),"v-193cf592":()=>_(()=>import("./contacts.html.f1c02fdf.js"),[]).then(({data:e})=>e),"v-ae7b83f2":()=>_(()=>import("./future.html.aa0c285e.js"),[]).then(({data:e})=>e),"v-c557cfcc":()=>_(()=>import("./features.html.01536ff8.js"),[]).then(({data:e})=>e),"v-64fc7bb8":()=>_(()=>import("./home.html.817a2e55.js"),[]).then(({data:e})=>e),"v-9cfea7fc":()=>_(()=>import("./api-example.html.6daf2d5c.js"),[]).then(({data:e})=>e),"v-72c12b7d":()=>_(()=>import("./api-exception.html.58702900.js"),[]).then(({data:e})=>e),"v-efb45d4c":()=>_(()=>import("./home.html.eef2381c.js"),[]).then(({data:e})=>e),"v-72889797":()=>_(()=>import("./quick-start.html.cdfe78bb.js"),[]).then(({data:e})=>e),"v-41967128":()=>_(()=>import("./about.html.b758f732.js"),[]).then(({data:e})=>e),"v-0e6c3476":()=>_(()=>import("./changelog.html.eb0b25c0.js"),[]).then(({data:e})=>e),"v-6cf86266":()=>_(()=>import("./contacts.html.3310a645.js"),[]).then(({data:e})=>e),"v-3106ca14":()=>_(()=>import("./future.html.a5999f89.js"),[]).then(({data:e})=>e),"v-47e315ee":()=>_(()=>import("./features.html.2e4ae9d9.js"),[]).then(({data:e})=>e),"v-c8deafb2":()=>_(()=>import("./home.html.a2b832f6.js"),[]).then(({data:e})=>e),"v-6a609e09":()=>_(()=>import("./home.html.6d4e805a.js"),[]).then(({data:e})=>e),"v-24840ff0":()=>_(()=>import("./quick-start.html.5cdc09d9.js"),[]).then(({data:e})=>e),"v-c6114c9e":()=>_(()=>import("./api-example.html.90859470.js"),[]).then(({data:e})=>e),"v-5b43296c":()=>_(()=>import("./api-exception.html.6f5a5377.js"),[]).then(({data:e})=>e),"v-23f4d2be":()=>_(()=>import("./YukiReflection.html.071d5ea0.js"),[]).then(({data:e})=>e),"v-c088ede0":()=>_(()=>import("./YukiReflection.html.787cb57f.js"),[]).then(({data:e})=>e),"v-47f17664":()=>_(()=>import("./CurrentClass.html.4fb3c7c5.js"),[]).then(({data:e})=>e),"v-38df33ac":()=>_(()=>import("./GenericClass.html.18ef844b.js"),[]).then(({data:e})=>e),"v-3a8666c0":()=>_(()=>import("./VariousClass.html.be531e78.js"),[]).then(({data:e})=>e),"v-728f231c":()=>_(()=>import("./ReflectionFactory.html.660311db.js"),[]).then(({data:e})=>e),"v-406687ff":()=>_(()=>import("./CurrentClass.html.1f324cf5.js"),[]).then(({data:e})=>e),"v-c5831246":()=>_(()=>import("./GenericClass.html.80c441b8.js"),[]).then(({data:e})=>e),"v-c234ac1e":()=>_(()=>import("./VariousClass.html.7a95c6f9.js"),[]).then(({data:e})=>e),"v-b3841eba":()=>_(()=>import("./ReflectionFactory.html.79e3b099.js"),[]).then(({data:e})=>e),"v-740d06da":()=>_(()=>import("./BaseFinder.html.fb47fda7.js"),[]).then(({data:e})=>e),"v-6d6cd473":()=>_(()=>import("./DexClassFinder.html.7f9c18ee.js"),[]).then(({data:e})=>e),"v-b3220076":()=>_(()=>import("./ConstructorFinder.html.91c23734.js"),[]).then(({data:e})=>e),"v-4b907076":()=>_(()=>import("./FieldFinder.html.d5dcfef4.js"),[]).then(({data:e})=>e),"v-012ee5a6":()=>_(()=>import("./MethodFinder.html.704be21f.js"),[]).then(({data:e})=>e),"v-c945cb6e":()=>_(()=>import("./BaseFinder.html.69bb751c.js"),[]).then(({data:e})=>e),"v-2d13d624":()=>_(()=>import("./DexClassFinder.html.e0965adb.js"),[]).then(({data:e})=>e),"v-722cd474":()=>_(()=>import("./ConstructorFinder.html.372473c1.js"),[]).then(({data:e})=>e),"v-293ae898":()=>_(()=>import("./FieldFinder.html.71816419.js"),[]).then(({data:e})=>e),"v-155c9f97":()=>_(()=>import("./MethodFinder.html.3e0643fa.js"),[]).then(({data:e})=>e),"v-6c58c435":()=>_(()=>import("./ComponentTypeFactory.html.86fc30e1.js"),[]).then(({data:e})=>e),"v-25cdee85":()=>_(()=>import("./GraphicsTypeFactory.html.3ab9700c.js"),[]).then(({data:e})=>e),"v-12826b1f":()=>_(()=>import("./ViewTypeFactory.html.419f7049.js"),[]).then(({data:e})=>e),"v-597ac69b":()=>_(()=>import("./DefinedTypeFactory.html.5311d687.js"),[]).then(({data:e})=>e),"v-5ad1133e":()=>_(()=>import("./VariableTypeFactory.html.216c2fbf.js"),[]).then(({data:e})=>e),"v-6f96d791":()=>_(()=>import("./CountRules.html.aa55eac0.js"),[]).then(({data:e})=>e),"v-56071599":()=>_(()=>import("./ModifierRules.html.bf55a30e.js"),[]).then(({data:e})=>e),"v-4ea9e766":()=>_(()=>import("./NameRules.html.2124d233.js"),[]).then(({data:e})=>e),"v-3045c7fe":()=>_(()=>import("./ObjectRules.html.0a6223eb.js"),[]).then(({data:e})=>e),"v-cce2b7b6":()=>_(()=>import("./ConstructorRules.html.7769fbd0.js"),[]).then(({data:e})=>e),"v-82a85036":()=>_(()=>import("./FieldRules.html.cc84b291.js"),[]).then(({data:e})=>e),"v-71ecb893":()=>_(()=>import("./MemberRules.html.2d5c89a4.js"),[]).then(({data:e})=>e),"v-5e7e121a":()=>_(()=>import("./MethodRules.html.46e12f82.js"),[]).then(({data:e})=>e),"v-3dbf4880":()=>_(()=>import("./CountRules.html.69b807a7.js"),[]).then(({data:e})=>e),"v-701721ec":()=>_(()=>import("./ModifierRules.html.063cc2f9.js"),[]).then(({data:e})=>e),"v-264e7384":()=>_(()=>import("./NameRules.html.538d5551.js"),[]).then(({data:e})=>e),"v-b0f7c49c":()=>_(()=>import("./ObjectRules.html.ec943416.js"),[]).then(({data:e})=>e),"v-ec153654":()=>_(()=>import("./ConstructorRules.html.ed54d54f.js"),[]).then(({data:e})=>e),"v-30993156":()=>_(()=>import("./FieldRules.html.0a9d082d.js"),[]).then(({data:e})=>e),"v-3daa8d42":()=>_(()=>import("./MemberRules.html.94fb57e3.js"),[]).then(({data:e})=>e),"v-2a3be6c9":()=>_(()=>import("./MethodRules.html.c94c00ea.js"),[]).then(({data:e})=>e),"v-30e525ac":()=>_(()=>import("./DefinedTypeFactory.html.b02e4f3c.js"),[]).then(({data:e})=>e),"v-7f47f9f8":()=>_(()=>import("./ComponentTypeFactory.html.f94d8b50.js"),[]).then(({data:e})=>e),"v-5a1019d6":()=>_(()=>import("./GraphicsTypeFactory.html.0a5a863c.js"),[]).then(({data:e})=>e),"v-be0e3220":()=>_(()=>import("./ViewTypeFactory.html.fd43bb20.js"),[]).then(({data:e})=>e),"v-12f074b0":()=>_(()=>import("./VariableTypeFactory.html.85b2fcf2.js"),[]).then(({data:e})=>e),"v-4f47dfda":()=>_(()=>import("./MemberRulesResult.html.0df424dd.js"),[]).then(({data:e})=>e),"v-503f5f8b":()=>_(()=>import("./MemberRulesResult.html.aa74ca3c.js"),[]).then(({data:e})=>e),"v-3706649a":()=>_(()=>import("./404.html.c038a05a.js"),[]).then(({data:e})=>e)};function mi(e,t){const l=Object.create(null),n=e.split(",");for(let i=0;i!!l[i.toLowerCase()]:i=>!!l[i]}const ta="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",la=mi(ta);function ur(e){return!!e||e===""}function Nl(e){if(te(e)){const t={};for(let l=0;l{if(l){const n=l.split(ia);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(_e(e))t=e;else if(te(e))for(let l=0;l_e(e)?e:e==null?"":te(e)||Ie(e)&&(e.toString===mr||!re(e.toString))?JSON.stringify(e,dr,2):String(e),dr=(e,t)=>t&&t.__v_isRef?dr(e,t.value):sl(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((l,[n,i])=>(l[`${n} =>`]=i,l),{})}:hr(t)?{[`Set(${t.size})`]:[...t.values()]}:Ie(t)&&!te(t)&&!pr(t)?String(t):t,Ce={},rl=[],st=()=>{},ra=()=>!1,sa=/^on[^a-z]/,$l=e=>sa.test(e),pi=e=>e.startsWith("onUpdate:"),Ne=Object.assign,gi=(e,t)=>{const l=e.indexOf(t);l>-1&&e.splice(l,1)},aa=Object.prototype.hasOwnProperty,de=(e,t)=>aa.call(e,t),te=Array.isArray,sl=e=>yn(e)==="[object Map]",hr=e=>yn(e)==="[object Set]",re=e=>typeof e=="function",_e=e=>typeof e=="string",vi=e=>typeof e=="symbol",Ie=e=>e!==null&&typeof e=="object",fr=e=>Ie(e)&&re(e.then)&&re(e.catch),mr=Object.prototype.toString,yn=e=>mr.call(e),ca=e=>yn(e).slice(8,-1),pr=e=>yn(e)==="[object Object]",bi=e=>_e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cl=mi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),kn=e=>{const t=Object.create(null);return l=>t[l]||(t[l]=e(l))},ua=/-(\w)/g,ht=kn(e=>e.replace(ua,(t,l)=>l?l.toUpperCase():"")),da=/\B([A-Z])/g,Zt=kn(e=>e.replace(da,"-$1").toLowerCase()),xn=kn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fn=kn(e=>e?`on${xn(e)}`:""),Al=(e,t)=>!Object.is(e,t),Sn=(e,t)=>{for(let l=0;l{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:l})},gr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Gi;const ha=()=>Gi||(Gi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let We;class fa{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&We&&(this.parent=We,this.index=(We.scopes||(We.scopes=[])).push(this)-1)}run(t){if(this.active){const l=We;try{return We=this,t()}finally{We=l}}}on(){We=this}off(){We=this.parent}stop(t){if(this.active){let l,n;for(l=0,n=this.effects.length;l{const t=new Set(e);return t.w=0,t.n=0,t},vr=e=>(e.w&Ft)>0,br=e=>(e.n&Ft)>0,va=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let l=0;for(let n=0;n{(c==="length"||c>=n)&&s.push(a)});else switch(l!==void 0&&s.push(r.get(l)),t){case"add":te(e)?bi(l)&&s.push(r.get("length")):(s.push(r.get(Yt)),sl(e)&&s.push(r.get(Yn)));break;case"delete":te(e)||(s.push(r.get(Yt)),sl(e)&&s.push(r.get(Yn)));break;case"set":sl(e)&&s.push(r.get(Yt));break}if(s.length===1)s[0]&&Qn(s[0]);else{const a=[];for(const c of s)c&&a.push(...c);Qn(_i(a))}}function Qn(e,t){const l=te(e)?e:[...e];for(const n of l)n.computed&&Qi(n);for(const n of l)n.computed||Qi(n)}function Qi(e,t){(e!==ot||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const _a=mi("__proto__,__v_isRef,__isVue"),kr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(vi)),ya=ki(),ka=ki(!1,!0),xa=ki(!0),Ji=Ea();function Ea(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...l){const n=ve(this);for(let o=0,r=this.length;o{e[t]=function(...l){ml();const n=ve(this)[t].apply(this,l);return pl(),n}}),e}function ki(e=!1,t=!1){return function(n,i,o){if(i==="__v_isReactive")return!e;if(i==="__v_isReadonly")return e;if(i==="__v_isShallow")return t;if(i==="__v_raw"&&o===(e?t?$a:wr:t?Rr:Cr).get(n))return n;const r=te(n);if(!e&&r&&de(Ji,i))return Reflect.get(Ji,i,o);const s=Reflect.get(n,i,o);return(vi(i)?kr.has(i):_a(i))||(e||Je(n,"get",i),t)?s:ze(s)?r&&bi(i)?s:s.value:Ie(s)?e?Ci(s):gl(s):s}}const Ca=xr(),Ra=xr(!0);function xr(e=!1){return function(l,n,i,o){let r=l[n];if(Il(r)&&ze(r)&&!ze(i))return!1;if(!e&&!Il(i)&&(Jn(i)||(i=ve(i),r=ve(r)),!te(l)&&ze(r)&&!ze(i)))return r.value=i,!0;const s=te(l)&&bi(n)?Number(n)e,En=e=>Reflect.getPrototypeOf(e);function Wl(e,t,l=!1,n=!1){e=e.__v_raw;const i=ve(e),o=ve(t);l||(t!==o&&Je(i,"get",t),Je(i,"get",o));const{has:r}=En(i),s=n?xi:l?wi:Fl;if(r.call(i,t))return s(e.get(t));if(r.call(i,o))return s(e.get(o));e!==i&&e.get(t)}function Gl(e,t=!1){const l=this.__v_raw,n=ve(l),i=ve(e);return t||(e!==i&&Je(n,"has",e),Je(n,"has",i)),e===i?l.has(e):l.has(e)||l.has(i)}function Yl(e,t=!1){return e=e.__v_raw,!t&&Je(ve(e),"iterate",Yt),Reflect.get(e,"size",e)}function Zi(e){e=ve(e);const t=ve(this);return En(t).has.call(t,e)||(t.add(e),_t(t,"add",e,e)),this}function Xi(e,t){t=ve(t);const l=ve(this),{has:n,get:i}=En(l);let o=n.call(l,e);o||(e=ve(e),o=n.call(l,e));const r=i.call(l,e);return l.set(e,t),o?Al(t,r)&&_t(l,"set",e,t):_t(l,"add",e,t),this}function eo(e){const t=ve(this),{has:l,get:n}=En(t);let i=l.call(t,e);i||(e=ve(e),i=l.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return i&&_t(t,"delete",e,void 0),o}function to(){const e=ve(this),t=e.size!==0,l=e.clear();return t&&_t(e,"clear",void 0,void 0),l}function Ql(e,t){return function(n,i){const o=this,r=o.__v_raw,s=ve(r),a=t?xi:e?wi:Fl;return!e&&Je(s,"iterate",Yt),r.forEach((c,u)=>n.call(i,a(c),a(u),o))}}function Jl(e,t,l){return function(...n){const i=this.__v_raw,o=ve(i),r=sl(o),s=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,c=i[e](...n),u=l?xi:t?wi:Fl;return!t&&Je(o,"iterate",a?Yn:Yt),{next(){const{value:h,done:f}=c.next();return f?{value:h,done:f}:{value:s?[u(h[0]),u(h[1])]:u(h),done:f}},[Symbol.iterator](){return this}}}}function xt(e){return function(...t){return e==="delete"?!1:this}}function Aa(){const e={get(o){return Wl(this,o)},get size(){return Yl(this)},has:Gl,add:Zi,set:Xi,delete:eo,clear:to,forEach:Ql(!1,!1)},t={get(o){return Wl(this,o,!1,!0)},get size(){return Yl(this)},has:Gl,add:Zi,set:Xi,delete:eo,clear:to,forEach:Ql(!1,!0)},l={get(o){return Wl(this,o,!0)},get size(){return Yl(this,!0)},has(o){return Gl.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:Ql(!0,!1)},n={get(o){return Wl(this,o,!0,!0)},get size(){return Yl(this,!0)},has(o){return Gl.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:Ql(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Jl(o,!1,!1),l[o]=Jl(o,!0,!1),t[o]=Jl(o,!1,!0),n[o]=Jl(o,!0,!0)}),[e,l,t,n]}const[Ia,Fa,Sa,za]=Aa();function Ei(e,t){const l=t?e?za:Sa:e?Fa:Ia;return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(de(l,i)&&i in n?l:n,i,o)}const Da={get:Ei(!1,!1)},Ma={get:Ei(!1,!0)},Na={get:Ei(!0,!1)},Cr=new WeakMap,Rr=new WeakMap,wr=new WeakMap,$a=new WeakMap;function Va(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ha(e){return e.__v_skip||!Object.isExtensible(e)?0:Va(ca(e))}function gl(e){return Il(e)?e:Ri(e,!1,Er,Da,Cr)}function ja(e){return Ri(e,!1,Oa,Ma,Rr)}function Ci(e){return Ri(e,!0,Pa,Na,wr)}function Ri(e,t,l,n,i){if(!Ie(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Ha(e);if(r===0)return e;const s=new Proxy(e,r===2?n:l);return i.set(e,s),s}function al(e){return Il(e)?al(e.__v_raw):!!(e&&e.__v_isReactive)}function Il(e){return!!(e&&e.__v_isReadonly)}function Jn(e){return!!(e&&e.__v_isShallow)}function Tr(e){return al(e)||Il(e)}function ve(e){const t=e&&e.__v_raw;return t?ve(t):e}function Lr(e){return rn(e,"__v_skip",!0),e}const Fl=e=>Ie(e)?gl(e):e,wi=e=>Ie(e)?Ci(e):e;function Pr(e){Ot&&ot&&(e=ve(e),yr(e.dep||(e.dep=_i())))}function Or(e,t){e=ve(e),e.dep&&Qn(e.dep)}function ze(e){return!!(e&&e.__v_isRef===!0)}function ke(e){return Ir(e,!1)}function Ar(e){return Ir(e,!0)}function Ir(e,t){return ze(e)?e:new Ba(e,t)}class Ba{constructor(t,l){this.__v_isShallow=l,this.dep=void 0,this.__v_isRef=!0,this._rawValue=l?t:ve(t),this._value=l?t:Fl(t)}get value(){return Pr(this),this._value}set value(t){t=this.__v_isShallow?t:ve(t),Al(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Fl(t),Or(this))}}function A(e){return ze(e)?e.value:e}const Ua={get:(e,t,l)=>A(Reflect.get(e,t,l)),set:(e,t,l,n)=>{const i=e[t];return ze(i)&&!ze(l)?(i.value=l,!0):Reflect.set(e,t,l,n)}};function Fr(e){return al(e)?e:new Proxy(e,Ua)}function Cn(e){const t=te(e)?new Array(e.length):{};for(const l in e)t[l]=Ka(e,l);return t}class qa{constructor(t,l,n){this._object=t,this._key=l,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Ka(e,t,l){const n=e[t];return ze(n)?n:new qa(e,t,l)}class Wa{constructor(t,l,n,i){this._setter=l,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new yi(t,()=>{this._dirty||(this._dirty=!0,Or(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const t=ve(this);return Pr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ga(e,t,l=!1){let n,i;const o=re(e);return o?(n=e,i=st):(n=e.get,i=e.set),new Wa(n,i,o||!i,l)}function At(e,t,l,n){let i;try{i=n?e(...n):e()}catch(o){Vl(o,t,l)}return i}function lt(e,t,l,n){if(re(e)){const o=At(e,t,l,n);return o&&fr(o)&&o.catch(r=>{Vl(r,t,l)}),o}const i=[];for(let o=0;o>>1;Sl(Ge[n])pt&&Ge.splice(t,1)}function Dr(e,t,l,n){te(e)?l.push(...e):(!t||!t.includes(e,e.allowRecurse?n+1:n))&&l.push(e),zr()}function Za(e){Dr(e,El,Rl,nl)}function Xa(e){Dr(e,wt,wl,il)}function Rn(e,t=null){if(Rl.length){for(Xn=t,El=[...new Set(Rl)],Rl.length=0,nl=0;nlSl(l)-Sl(n)),il=0;ile.id==null?1/0:e.id;function Mr(e){Zn=!1,sn=!0,Rn(e),Ge.sort((l,n)=>Sl(l)-Sl(n));const t=st;try{for(pt=0;ptp.trim())),h&&(i=l.map(gr))}let s,a=n[s=Fn(t)]||n[s=Fn(ht(t))];!a&&o&&(a=n[s=Fn(Zt(t))]),a&<(a,e,6,i);const c=n[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,lt(c,e,6,i)}}function Nr(e,t,l=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},s=!1;if(!re(e)){const a=c=>{const u=Nr(c,t,!0);u&&(s=!0,Ne(r,u))};!l&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!s?(n.set(e,null),null):(te(o)?o.forEach(a=>r[a]=null):Ne(r,o),n.set(e,r),r)}function wn(e,t){return!e||!$l(t)?!1:(t=t.slice(2).replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Zt(t))||de(e,t))}let $e=null,$r=null;function cn(e){const t=$e;return $e=e,$r=e&&e.type.__scopeId||null,t}function Me(e,t=$e,l){if(!t||e._n)return e;const n=(...i)=>{n._d&&fo(-1);const o=cn(t),r=e(...i);return cn(o),n._d&&fo(1),r};return n._n=!0,n._c=!0,n._d=!0,n}function zn(e){const{type:t,vnode:l,proxy:n,withProxy:i,props:o,propsOptions:[r],slots:s,attrs:a,emit:c,render:u,renderCache:h,data:f,setupState:p,ctx:k,inheritAttrs:R}=e;let x,g;const b=cn(e);try{if(l.shapeFlag&4){const D=i||n;x=it(u.call(D,D,h,o,p,f,k)),g=a}else{const D=t;x=it(D.length>1?D(o,{attrs:a,slots:s,emit:c}):D(o,null)),g=t.props?a:tc(a)}}catch(D){Ll.length=0,Vl(D,e,1),x=ie(Qe)}let w=x;if(g&&R!==!1){const D=Object.keys(g),{shapeFlag:q}=w;D.length&&q&7&&(r&&D.some(pi)&&(g=lc(g,r)),w=zt(w,g))}return l.dirs&&(w=zt(w),w.dirs=w.dirs?w.dirs.concat(l.dirs):l.dirs),l.transition&&(w.transition=l.transition),x=w,cn(b),x}const tc=e=>{let t;for(const l in e)(l==="class"||l==="style"||$l(l))&&((t||(t={}))[l]=e[l]);return t},lc=(e,t)=>{const l={};for(const n in e)(!pi(n)||!(n.slice(9)in t))&&(l[n]=e[n]);return l};function nc(e,t,l){const{props:n,children:i,component:o}=e,{props:r,children:s,patchFlag:a}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(l&&a>=0){if(a&1024)return!0;if(a&16)return n?lo(n,r,c):!!r;if(a&8){const u=t.dynamicProps;for(let h=0;he.__isSuspense;function Vr(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):Xa(e)}function Qt(e,t){if(Fe){let l=Fe.provides;const n=Fe.parent&&Fe.parent.provides;n===l&&(l=Fe.provides=Object.create(n)),l[e]=t}}function De(e,t,l=!1){const n=Fe||$e;if(n){const i=n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return l&&re(t)?t.call(n.proxy):t}}const no={};function dt(e,t,l){return Hr(e,t,l)}function Hr(e,t,{immediate:l,deep:n,flush:i,onTrack:o,onTrigger:r}=Ce){const s=Fe;let a,c=!1,u=!1;if(ze(e)?(a=()=>e.value,c=Jn(e)):al(e)?(a=()=>e,n=!0):te(e)?(u=!0,c=e.some(g=>al(g)||Jn(g)),a=()=>e.map(g=>{if(ze(g))return g.value;if(al(g))return Gt(g);if(re(g))return At(g,s,2)})):re(e)?t?a=()=>At(e,s,2):a=()=>{if(!(s&&s.isUnmounted))return h&&h(),lt(e,s,3,[f])}:a=st,t&&n){const g=a;a=()=>Gt(g())}let h,f=g=>{h=x.onStop=()=>{At(g,s,4)}};if(dl)return f=st,t?l&<(t,s,3,[a(),u?[]:void 0,f]):a(),st;let p=u?[]:no;const k=()=>{if(!!x.active)if(t){const g=x.run();(n||c||(u?g.some((b,w)=>Al(b,p[w])):Al(g,p)))&&(h&&h(),lt(t,s,3,[g,p===no?void 0:p,f]),p=g)}else x.run()};k.allowRecurse=!!t;let R;i==="sync"?R=k:i==="post"?R=()=>Ue(k,s&&s.suspense):R=()=>Za(k);const x=new yi(a,R);return t?l?k():p=x.run():i==="post"?Ue(x.run.bind(x),s&&s.suspense):x.run(),()=>{x.stop(),s&&s.scope&&gi(s.scope.effects,x)}}function rc(e,t,l){const n=this.proxy,i=_e(e)?e.includes(".")?jr(n,e):()=>n[e]:e.bind(n,n);let o;re(t)?o=t:(o=t.handler,l=t);const r=Fe;ul(this);const s=Hr(i,o.bind(n),l);return r?ul(r):Jt(),s}function jr(e,t){const l=t.split(".");return()=>{let n=e;for(let i=0;i{Gt(l,t)});else if(pr(e))for(const l in e)Gt(e[l],t);return e}function sc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ze(()=>{e.isMounted=!0}),Bl(()=>{e.isUnmounting=!0}),e}const et=[Function,Array],ac={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},setup(e,{slots:t}){const l=Ai(),n=sc();let i;return()=>{const o=t.default&&qr(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const R of o)if(R.type!==Qe){r=R;break}}const s=ve(e),{mode:a}=s;if(n.isLeaving)return Dn(r);const c=io(r);if(!c)return Dn(r);const u=ei(c,s,n,l);ti(c,u);const h=l.subTree,f=h&&io(h);let p=!1;const{getTransitionKey:k}=c.type;if(k){const R=k();i===void 0?i=R:R!==i&&(i=R,p=!0)}if(f&&f.type!==Qe&&(!Kt(c,f)||p)){const R=ei(f,s,n,l);if(ti(f,R),a==="out-in")return n.isLeaving=!0,R.afterLeave=()=>{n.isLeaving=!1,l.update()},Dn(r);a==="in-out"&&c.type!==Qe&&(R.delayLeave=(x,g,b)=>{const w=Ur(n,f);w[String(f.key)]=f,x._leaveCb=()=>{g(),x._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=b})}return r}}},Br=ac;function Ur(e,t){const{leavingVNodes:l}=e;let n=l.get(t.type);return n||(n=Object.create(null),l.set(t.type,n)),n}function ei(e,t,l,n){const{appear:i,mode:o,persisted:r=!1,onBeforeEnter:s,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:h,onLeave:f,onAfterLeave:p,onLeaveCancelled:k,onBeforeAppear:R,onAppear:x,onAfterAppear:g,onAppearCancelled:b}=t,w=String(e.key),D=Ur(l,e),q=(v,G)=>{v&<(v,n,9,G)},ee=(v,G)=>{const U=G[1];q(v,G),te(v)?v.every(Q=>Q.length<=1)&&U():v.length<=1&&U()},O={mode:o,persisted:r,beforeEnter(v){let G=s;if(!l.isMounted)if(i)G=R||s;else return;v._leaveCb&&v._leaveCb(!0);const U=D[w];U&&Kt(e,U)&&U.el._leaveCb&&U.el._leaveCb(),q(G,[v])},enter(v){let G=a,U=c,Q=u;if(!l.isMounted)if(i)G=x||a,U=g||c,Q=b||u;else return;let E=!1;const M=v._enterCb=I=>{E||(E=!0,I?q(Q,[v]):q(U,[v]),O.delayedLeave&&O.delayedLeave(),v._enterCb=void 0)};G?ee(G,[v,M]):M()},leave(v,G){const U=String(e.key);if(v._enterCb&&v._enterCb(!0),l.isUnmounting)return G();q(h,[v]);let Q=!1;const E=v._leaveCb=M=>{Q||(Q=!0,G(),M?q(k,[v]):q(p,[v]),v._leaveCb=void 0,D[U]===e&&delete D[U])};D[U]=e,f?ee(f,[v,E]):E()},clone(v){return ei(v,t,l,n)}};return O}function Dn(e){if(jl(e))return e=zt(e),e.children=null,e}function io(e){return jl(e)?e.children?e.children[0]:void 0:e}function ti(e,t){e.shapeFlag&6&&e.component?ti(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function qr(e,t=!1,l){let n=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;function $(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:l,errorComponent:n,delay:i=200,timeout:o,suspensible:r=!0,onError:s}=e;let a=null,c,u=0;const h=()=>(u++,a=null,f()),f=()=>{let p;return a||(p=a=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),s)return new Promise((R,x)=>{s(k,()=>R(h()),()=>x(k),u+1)});throw k}).then(k=>p!==a&&a?a:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),c=k,k)))};return he({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return c},setup(){const p=Fe;if(c)return()=>Mn(c,p);const k=b=>{a=null,Vl(b,p,13,!n)};if(r&&p.suspense||dl)return f().then(b=>()=>Mn(b,p)).catch(b=>(k(b),()=>n?ie(n,{error:b}):null));const R=ke(!1),x=ke(),g=ke(!!i);return i&&setTimeout(()=>{g.value=!1},i),o!=null&&setTimeout(()=>{if(!R.value&&!x.value){const b=new Error(`Async component timed out after ${o}ms.`);k(b),x.value=b}},o),f().then(()=>{R.value=!0,p.parent&&jl(p.parent.vnode)&&Li(p.parent.update)}).catch(b=>{k(b),x.value=b}),()=>{if(R.value&&c)return Mn(c,p);if(x.value&&n)return ie(n,{error:x.value});if(l&&!g.value)return ie(l)}}})}function Mn(e,{vnode:{ref:t,props:l,children:n,shapeFlag:i},parent:o}){const r=ie(e,l,n);return r.ref=t,r}const jl=e=>e.type.__isKeepAlive;function cc(e,t){Kr(e,"a",t)}function uc(e,t){Kr(e,"da",t)}function Kr(e,t,l=Fe){const n=e.__wdc||(e.__wdc=()=>{let i=l;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Tn(t,n,l),l){let i=l.parent;for(;i&&i.parent;)jl(i.parent.vnode)&&dc(n,t,l,i),i=i.parent}}function dc(e,t,l,n){const i=Tn(t,e,n,!0);Ln(()=>{gi(n[t],i)},l)}function Tn(e,t,l=Fe,n=!1){if(l){const i=l[e]||(l[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(l.isUnmounted)return;ml(),ul(l);const s=lt(t,l,e,r);return Jt(),pl(),s});return n?i.unshift(o):i.push(o),o}}const kt=e=>(t,l=Fe)=>(!dl||e==="sp")&&Tn(e,t,l),Wr=kt("bm"),Ze=kt("m"),hc=kt("bu"),fc=kt("u"),Bl=kt("bum"),Ln=kt("um"),mc=kt("sp"),pc=kt("rtg"),gc=kt("rtc");function vc(e,t=Fe){Tn("ec",e,t)}function un(e,t){const l=$e;if(l===null)return e;const n=On(l)||l.proxy,i=e.dirs||(e.dirs=[]);for(let o=0;ot(r,s,void 0,o&&o[s]));else{const r=Object.keys(e);i=new Array(r.length);for(let s=0,a=r.length;smn(t)?!(t.type===Qe||t.type===we&&!Yr(t.children)):!0)?e:null}const li=e=>e?ss(e)?On(e)||e.proxy:li(e.parent):null,dn=Ne(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>li(e.parent),$root:e=>li(e.root),$emit:e=>e.emit,$options:e=>Jr(e),$forceUpdate:e=>e.f||(e.f=()=>Li(e.update)),$nextTick:e=>e.n||(e.n=Hl.bind(e.proxy)),$watch:e=>rc.bind(e)}),yc={get({_:e},t){const{ctx:l,setupState:n,data:i,props:o,accessCache:r,type:s,appContext:a}=e;let c;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return n[t];case 2:return i[t];case 4:return l[t];case 3:return o[t]}else{if(n!==Ce&&de(n,t))return r[t]=1,n[t];if(i!==Ce&&de(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&de(c,t))return r[t]=3,o[t];if(l!==Ce&&de(l,t))return r[t]=4,l[t];ni&&(r[t]=0)}}const u=dn[t];let h,f;if(u)return t==="$attrs"&&Je(e,"get",t),u(e);if((h=s.__cssModules)&&(h=h[t]))return h;if(l!==Ce&&de(l,t))return r[t]=4,l[t];if(f=a.config.globalProperties,de(f,t))return f[t]},set({_:e},t,l){const{data:n,setupState:i,ctx:o}=e;return i!==Ce&&de(i,t)?(i[t]=l,!0):n!==Ce&&de(n,t)?(n[t]=l,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=l,!0)},has({_:{data:e,setupState:t,accessCache:l,ctx:n,appContext:i,propsOptions:o}},r){let s;return!!l[r]||e!==Ce&&de(e,r)||t!==Ce&&de(t,r)||(s=o[0])&&de(s,r)||de(n,r)||de(dn,r)||de(i.config.globalProperties,r)},defineProperty(e,t,l){return l.get!=null?e._.accessCache[t]=0:de(l,"value")&&this.set(e,t,l.value,null),Reflect.defineProperty(e,t,l)}};let ni=!0;function kc(e){const t=Jr(e),l=e.proxy,n=e.ctx;ni=!1,t.beforeCreate&&ro(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:s,provide:a,inject:c,created:u,beforeMount:h,mounted:f,beforeUpdate:p,updated:k,activated:R,deactivated:x,beforeDestroy:g,beforeUnmount:b,destroyed:w,unmounted:D,render:q,renderTracked:ee,renderTriggered:O,errorCaptured:v,serverPrefetch:G,expose:U,inheritAttrs:Q,components:E,directives:M,filters:I}=t;if(c&&xc(c,n,null,e.appContext.config.unwrapInjectedRef),r)for(const le in r){const ae=r[le];re(ae)&&(n[le]=ae.bind(l))}if(i){const le=i.call(l,l);Ie(le)&&(e.data=gl(le))}if(ni=!0,o)for(const le in o){const ae=o[le],Oe=re(ae)?ae.bind(l,l):re(ae.get)?ae.get.bind(l,l):st,Ve=!re(ae)&&re(ae.set)?ae.set.bind(l):st,qe=B({get:Oe,set:Ve});Object.defineProperty(n,le,{enumerable:!0,configurable:!0,get:()=>qe.value,set:Xe=>qe.value=Xe})}if(s)for(const le in s)Qr(s[le],n,l,le);if(a){const le=re(a)?a.call(l):a;Reflect.ownKeys(le).forEach(ae=>{Qt(ae,le[ae])})}u&&ro(u,e,"c");function H(le,ae){te(ae)?ae.forEach(Oe=>le(Oe.bind(l))):ae&&le(ae.bind(l))}if(H(Wr,h),H(Ze,f),H(hc,p),H(fc,k),H(cc,R),H(uc,x),H(vc,v),H(gc,ee),H(pc,O),H(Bl,b),H(Ln,D),H(mc,G),te(U))if(U.length){const le=e.exposed||(e.exposed={});U.forEach(ae=>{Object.defineProperty(le,ae,{get:()=>l[ae],set:Oe=>l[ae]=Oe})})}else e.exposed||(e.exposed={});q&&e.render===st&&(e.render=q),Q!=null&&(e.inheritAttrs=Q),E&&(e.components=E),M&&(e.directives=M)}function xc(e,t,l=st,n=!1){te(e)&&(e=ii(e));for(const i in e){const o=e[i];let r;Ie(o)?"default"in o?r=De(o.from||i,o.default,!0):r=De(o.from||i):r=De(o),ze(r)&&n?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[i]=r}}function ro(e,t,l){lt(te(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,l)}function Qr(e,t,l,n){const i=n.includes(".")?jr(l,n):()=>l[n];if(_e(e)){const o=t[e];re(o)&&dt(i,o)}else if(re(e))dt(i,e.bind(l));else if(Ie(e))if(te(e))e.forEach(o=>Qr(o,t,l,n));else{const o=re(e.handler)?e.handler.bind(l):t[e.handler];re(o)&&dt(i,o,e)}}function Jr(e){const t=e.type,{mixins:l,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,s=o.get(t);let a;return s?a=s:!i.length&&!l&&!n?a=t:(a={},i.length&&i.forEach(c=>hn(a,c,r,!0)),hn(a,t,r)),o.set(t,a),a}function hn(e,t,l,n=!1){const{mixins:i,extends:o}=t;o&&hn(e,o,l,!0),i&&i.forEach(r=>hn(e,r,l,!0));for(const r in t)if(!(n&&r==="expose")){const s=Ec[r]||l&&l[r];e[r]=s?s(e[r],t[r]):t[r]}return e}const Ec={data:so,props:Bt,emits:Bt,methods:Bt,computed:Bt,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:Bt,directives:Bt,watch:Rc,provide:so,inject:Cc};function so(e,t){return t?e?function(){return Ne(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function Cc(e,t){return Bt(ii(e),ii(t))}function ii(e){if(te(e)){const t={};for(let l=0;l0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let h=0;h{a=!0;const[f,p]=Xr(h,t,!0);Ne(r,f),p&&s.push(...p)};!l&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!a)return n.set(e,rl),rl;if(te(o))for(let u=0;u-1,p[1]=R<0||k-1||de(p,"default"))&&s.push(h)}}}const c=[r,s];return n.set(e,c),c}function ao(e){return e[0]!=="$"}function co(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function uo(e,t){return co(e)===co(t)}function ho(e,t){return te(t)?t.findIndex(l=>uo(l,e)):re(t)&&uo(t,e)?0:-1}const es=e=>e[0]==="_"||e==="$stable",Pi=e=>te(e)?e.map(it):[it(e)],Lc=(e,t,l)=>{if(t._n)return t;const n=Me((...i)=>Pi(t(...i)),l);return n._c=!1,n},ts=(e,t,l)=>{const n=e._ctx;for(const i in e){if(es(i))continue;const o=e[i];if(re(o))t[i]=Lc(i,o,n);else if(o!=null){const r=Pi(o);t[i]=()=>r}}},ls=(e,t)=>{const l=Pi(t);e.slots.default=()=>l},Pc=(e,t)=>{if(e.vnode.shapeFlag&32){const l=t._;l?(e.slots=ve(t),rn(t,"_",l)):ts(t,e.slots={})}else e.slots={},t&&ls(e,t);rn(e.slots,Pn,1)},Oc=(e,t,l)=>{const{vnode:n,slots:i}=e;let o=!0,r=Ce;if(n.shapeFlag&32){const s=t._;s?l&&s===1?o=!1:(Ne(i,t),!l&&s===1&&delete i._):(o=!t.$stable,ts(t,i)),r=t}else t&&(ls(e,t),r={default:1});if(o)for(const s in i)!es(s)&&!(s in r)&&delete i[s]};function ns(){return{app:null,config:{isNativeTag:ra,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ac=0;function Ic(e,t){return function(n,i=null){re(n)||(n=Object.assign({},n)),i!=null&&!Ie(i)&&(i=null);const o=ns(),r=new Set;let s=!1;const a=o.app={_uid:Ac++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:Jc,get config(){return o.config},set config(c){},use(c,...u){return r.has(c)||(c&&re(c.install)?(r.add(c),c.install(a,...u)):re(c)&&(r.add(c),c(a,...u))),a},mixin(c){return o.mixins.includes(c)||o.mixins.push(c),a},component(c,u){return u?(o.components[c]=u,a):o.components[c]},directive(c,u){return u?(o.directives[c]=u,a):o.directives[c]},mount(c,u,h){if(!s){const f=ie(n,i);return f.appContext=o,u&&t?t(f,c):e(f,c,h),s=!0,a._container=c,c.__vue_app__=a,On(f.component)||f.component.proxy}},unmount(){s&&(e(null,a._container),delete a._container.__vue_app__)},provide(c,u){return o.provides[c]=u,a}};return a}}function fn(e,t,l,n,i=!1){if(te(e)){e.forEach((f,p)=>fn(f,t&&(te(t)?t[p]:t),l,n,i));return}if(cl(n)&&!i)return;const o=n.shapeFlag&4?On(n.component)||n.component.proxy:n.el,r=i?null:o,{i:s,r:a}=e,c=t&&t.r,u=s.refs===Ce?s.refs={}:s.refs,h=s.setupState;if(c!=null&&c!==a&&(_e(c)?(u[c]=null,de(h,c)&&(h[c]=null)):ze(c)&&(c.value=null)),re(a))At(a,s,12,[r,u]);else{const f=_e(a),p=ze(a);if(f||p){const k=()=>{if(e.f){const R=f?u[a]:a.value;i?te(R)&&gi(R,o):te(R)?R.includes(o)||R.push(o):f?(u[a]=[o],de(h,a)&&(h[a]=u[a])):(a.value=[o],e.k&&(u[e.k]=a.value))}else f?(u[a]=r,de(h,a)&&(h[a]=r)):p&&(a.value=r,e.k&&(u[e.k]=r))};r?(k.id=-1,Ue(k,l)):k()}}}let Et=!1;const Zl=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Xl=e=>e.nodeType===8;function Fc(e){const{mt:t,p:l,o:{patchProp:n,createText:i,nextSibling:o,parentNode:r,remove:s,insert:a,createComment:c}}=e,u=(g,b)=>{if(!b.hasChildNodes()){l(null,g,b),an(),b._vnode=g;return}Et=!1,h(b.firstChild,g,null,null,null),an(),b._vnode=g,Et&&console.error("Hydration completed but contains mismatches.")},h=(g,b,w,D,q,ee=!1)=>{const O=Xl(g)&&g.data==="[",v=()=>R(g,b,w,D,q,O),{type:G,ref:U,shapeFlag:Q,patchFlag:E}=b,M=g.nodeType;b.el=g,E===-2&&(ee=!1,b.dynamicChildren=null);let I=null;switch(G){case zl:M!==3?b.children===""?(a(b.el=i(""),r(g),g),I=g):I=v():(g.data!==b.children&&(Et=!0,g.data=b.children),I=o(g));break;case Qe:M!==8||O?I=v():I=o(g);break;case Tl:if(M!==1&&M!==3)I=v();else{I=g;const se=!b.children.length;for(let H=0;H{ee=ee||!!b.dynamicChildren;const{type:O,props:v,patchFlag:G,shapeFlag:U,dirs:Q}=b,E=O==="input"&&Q||O==="option";if(E||G!==-1){if(Q&&ut(b,null,w,"created"),v)if(E||!ee||G&48)for(const I in v)(E&&I.endsWith("value")||$l(I)&&!Cl(I))&&n(g,I,null,v[I],!1,void 0,w);else v.onClick&&n(g,"onClick",null,v.onClick,!1,void 0,w);let M;if((M=v&&v.onVnodeBeforeMount)&&tt(M,w,b),Q&&ut(b,null,w,"beforeMount"),((M=v&&v.onVnodeMounted)||Q)&&Vr(()=>{M&&tt(M,w,b),Q&&ut(b,null,w,"mounted")},D),U&16&&!(v&&(v.innerHTML||v.textContent))){let I=p(g.firstChild,b,g,w,D,q,ee);for(;I;){Et=!0;const se=I;I=I.nextSibling,s(se)}}else U&8&&g.textContent!==b.children&&(Et=!0,g.textContent=b.children)}return g.nextSibling},p=(g,b,w,D,q,ee,O)=>{O=O||!!b.dynamicChildren;const v=b.children,G=v.length;for(let U=0;U{const{slotScopeIds:O}=b;O&&(q=q?q.concat(O):O);const v=r(g),G=p(o(g),b,v,w,D,q,ee);return G&&Xl(G)&&G.data==="]"?o(b.anchor=G):(Et=!0,a(b.anchor=c("]"),v,G),G)},R=(g,b,w,D,q,ee)=>{if(Et=!0,b.el=null,ee){const G=x(g);for(;;){const U=o(g);if(U&&U!==G)s(U);else break}}const O=o(g),v=r(g);return s(g),l(null,b,v,O,w,D,Zl(v),q),O},x=g=>{let b=0;for(;g;)if(g=o(g),g&&Xl(g)&&(g.data==="["&&b++,g.data==="]")){if(b===0)return o(g);b--}return g};return[u,h]}const Ue=Vr;function Sc(e){return zc(e,Fc)}function zc(e,t){const l=ha();l.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:s,createComment:a,setText:c,setElementText:u,parentNode:h,nextSibling:f,setScopeId:p=st,cloneNode:k,insertStaticContent:R}=e,x=(d,m,y,L=null,T=null,F=null,j=!1,S=null,N=!!m.dynamicChildren)=>{if(d===m)return;d&&!Kt(d,m)&&(L=W(d),Be(d,T,F,!0),d=null),m.patchFlag===-2&&(N=!1,m.dynamicChildren=null);const{type:P,ref:J,shapeFlag:Y}=m;switch(P){case zl:g(d,m,y,L);break;case Qe:b(d,m,y,L);break;case Tl:d==null&&w(m,y,L,j);break;case we:M(d,m,y,L,T,F,j,S,N);break;default:Y&1?ee(d,m,y,L,T,F,j,S,N):Y&6?I(d,m,y,L,T,F,j,S,N):(Y&64||Y&128)&&P.process(d,m,y,L,T,F,j,S,N,ye)}J!=null&&T&&fn(J,d&&d.ref,F,m||d,!m)},g=(d,m,y,L)=>{if(d==null)n(m.el=s(m.children),y,L);else{const T=m.el=d.el;m.children!==d.children&&c(T,m.children)}},b=(d,m,y,L)=>{d==null?n(m.el=a(m.children||""),y,L):m.el=d.el},w=(d,m,y,L)=>{[d.el,d.anchor]=R(d.children,m,y,L,d.el,d.anchor)},D=({el:d,anchor:m},y,L)=>{let T;for(;d&&d!==m;)T=f(d),n(d,y,L),d=T;n(m,y,L)},q=({el:d,anchor:m})=>{let y;for(;d&&d!==m;)y=f(d),i(d),d=y;i(m)},ee=(d,m,y,L,T,F,j,S,N)=>{j=j||m.type==="svg",d==null?O(m,y,L,T,F,j,S,N):U(d,m,T,F,j,S,N)},O=(d,m,y,L,T,F,j,S)=>{let N,P;const{type:J,props:Y,shapeFlag:Z,transition:oe,patchFlag:fe,dirs:xe}=d;if(d.el&&k!==void 0&&fe===-1)N=d.el=k(d.el);else{if(N=d.el=r(d.type,F,Y&&Y.is,Y),Z&8?u(N,d.children):Z&16&&G(d.children,N,null,L,T,F&&J!=="foreignObject",j,S),xe&&ut(d,null,L,"created"),Y){for(const Te in Y)Te!=="value"&&!Cl(Te)&&o(N,Te,null,Y[Te],F,d.children,L,T,z);"value"in Y&&o(N,"value",null,Y.value),(P=Y.onVnodeBeforeMount)&&tt(P,L,d)}v(N,d,d.scopeId,j,L)}xe&&ut(d,null,L,"beforeMount");const Ee=(!T||T&&!T.pendingBranch)&&oe&&!oe.persisted;Ee&&oe.beforeEnter(N),n(N,m,y),((P=Y&&Y.onVnodeMounted)||Ee||xe)&&Ue(()=>{P&&tt(P,L,d),Ee&&oe.enter(N),xe&&ut(d,null,L,"mounted")},T)},v=(d,m,y,L,T)=>{if(y&&p(d,y),L)for(let F=0;F{for(let P=N;P{const S=m.el=d.el;let{patchFlag:N,dynamicChildren:P,dirs:J}=m;N|=d.patchFlag&16;const Y=d.props||Ce,Z=m.props||Ce;let oe;y&&Vt(y,!1),(oe=Z.onVnodeBeforeUpdate)&&tt(oe,y,m,d),J&&ut(m,d,y,"beforeUpdate"),y&&Vt(y,!0);const fe=T&&m.type!=="foreignObject";if(P?Q(d.dynamicChildren,P,S,y,L,fe,F):j||Oe(d,m,S,null,y,L,fe,F,!1),N>0){if(N&16)E(S,m,Y,Z,y,L,T);else if(N&2&&Y.class!==Z.class&&o(S,"class",null,Z.class,T),N&4&&o(S,"style",Y.style,Z.style,T),N&8){const xe=m.dynamicProps;for(let Ee=0;Ee{oe&&tt(oe,y,m,d),J&&ut(m,d,y,"updated")},L)},Q=(d,m,y,L,T,F,j)=>{for(let S=0;S{if(y!==L){for(const S in L){if(Cl(S))continue;const N=L[S],P=y[S];N!==P&&S!=="value"&&o(d,S,P,N,j,m.children,T,F,z)}if(y!==Ce)for(const S in y)!Cl(S)&&!(S in L)&&o(d,S,y[S],null,j,m.children,T,F,z);"value"in L&&o(d,"value",y.value,L.value)}},M=(d,m,y,L,T,F,j,S,N)=>{const P=m.el=d?d.el:s(""),J=m.anchor=d?d.anchor:s("");let{patchFlag:Y,dynamicChildren:Z,slotScopeIds:oe}=m;oe&&(S=S?S.concat(oe):oe),d==null?(n(P,y,L),n(J,y,L),G(m.children,y,J,T,F,j,S,N)):Y>0&&Y&64&&Z&&d.dynamicChildren?(Q(d.dynamicChildren,Z,y,T,F,j,S),(m.key!=null||T&&m===T.subTree)&&is(d,m,!0)):Oe(d,m,y,J,T,F,j,S,N)},I=(d,m,y,L,T,F,j,S,N)=>{m.slotScopeIds=S,d==null?m.shapeFlag&512?T.ctx.activate(m,y,L,j,N):se(m,y,L,T,F,j,N):H(d,m,N)},se=(d,m,y,L,T,F,j)=>{const S=d.component=Uc(d,L,T);if(jl(d)&&(S.ctx.renderer=ye),qc(S),S.asyncDep){if(T&&T.registerDep(S,le),!d.el){const N=S.subTree=ie(Qe);b(null,N,m,y)}return}le(S,d,m,y,T,F,j)},H=(d,m,y)=>{const L=m.component=d.component;if(nc(d,m,y))if(L.asyncDep&&!L.asyncResolved){ae(L,m,y);return}else L.next=m,Ja(L.update),L.update();else m.el=d.el,L.vnode=m},le=(d,m,y,L,T,F,j)=>{const S=()=>{if(d.isMounted){let{next:J,bu:Y,u:Z,parent:oe,vnode:fe}=d,xe=J,Ee;Vt(d,!1),J?(J.el=fe.el,ae(d,J,j)):J=fe,Y&&Sn(Y),(Ee=J.props&&J.props.onVnodeBeforeUpdate)&&tt(Ee,oe,J,fe),Vt(d,!0);const Te=zn(d),nt=d.subTree;d.subTree=Te,x(nt,Te,h(nt.el),W(nt),d,T,F),J.el=Te.el,xe===null&&ic(d,Te.el),Z&&Ue(Z,T),(Ee=J.props&&J.props.onVnodeUpdated)&&Ue(()=>tt(Ee,oe,J,fe),T)}else{let J;const{el:Y,props:Z}=m,{bm:oe,m:fe,parent:xe}=d,Ee=cl(m);if(Vt(d,!1),oe&&Sn(oe),!Ee&&(J=Z&&Z.onVnodeBeforeMount)&&tt(J,xe,m),Vt(d,!0),Y&&ne){const Te=()=>{d.subTree=zn(d),ne(Y,d.subTree,d,T,null)};Ee?m.type.__asyncLoader().then(()=>!d.isUnmounted&&Te()):Te()}else{const Te=d.subTree=zn(d);x(null,Te,y,L,d,T,F),m.el=Te.el}if(fe&&Ue(fe,T),!Ee&&(J=Z&&Z.onVnodeMounted)){const Te=m;Ue(()=>tt(J,xe,Te),T)}(m.shapeFlag&256||xe&&cl(xe.vnode)&&xe.vnode.shapeFlag&256)&&d.a&&Ue(d.a,T),d.isMounted=!0,m=y=L=null}},N=d.effect=new yi(S,()=>Li(P),d.scope),P=d.update=()=>N.run();P.id=d.uid,Vt(d,!0),P()},ae=(d,m,y)=>{m.component=d;const L=d.vnode.props;d.vnode=m,d.next=null,Tc(d,m.props,L,y),Oc(d,m.children,y),ml(),Rn(void 0,d.update),pl()},Oe=(d,m,y,L,T,F,j,S,N=!1)=>{const P=d&&d.children,J=d?d.shapeFlag:0,Y=m.children,{patchFlag:Z,shapeFlag:oe}=m;if(Z>0){if(Z&128){qe(P,Y,y,L,T,F,j,S,N);return}else if(Z&256){Ve(P,Y,y,L,T,F,j,S,N);return}}oe&8?(J&16&&z(P,T,F),Y!==P&&u(y,Y)):J&16?oe&16?qe(P,Y,y,L,T,F,j,S,N):z(P,T,F,!0):(J&8&&u(y,""),oe&16&&G(Y,y,L,T,F,j,S,N))},Ve=(d,m,y,L,T,F,j,S,N)=>{d=d||rl,m=m||rl;const P=d.length,J=m.length,Y=Math.min(P,J);let Z;for(Z=0;ZJ?z(d,T,F,!0,!1,Y):G(m,y,L,T,F,j,S,N,Y)},qe=(d,m,y,L,T,F,j,S,N)=>{let P=0;const J=m.length;let Y=d.length-1,Z=J-1;for(;P<=Y&&P<=Z;){const oe=d[P],fe=m[P]=N?Tt(m[P]):it(m[P]);if(Kt(oe,fe))x(oe,fe,y,null,T,F,j,S,N);else break;P++}for(;P<=Y&&P<=Z;){const oe=d[Y],fe=m[Z]=N?Tt(m[Z]):it(m[Z]);if(Kt(oe,fe))x(oe,fe,y,null,T,F,j,S,N);else break;Y--,Z--}if(P>Y){if(P<=Z){const oe=Z+1,fe=oeZ)for(;P<=Y;)Be(d[P],T,F,!0),P++;else{const oe=P,fe=P,xe=new Map;for(P=fe;P<=Z;P++){const Ke=m[P]=N?Tt(m[P]):it(m[P]);Ke.key!=null&&xe.set(Ke.key,P)}let Ee,Te=0;const nt=Z-fe+1;let el=!1,Ui=0;const vl=new Array(nt);for(P=0;P=nt){Be(Ke,T,F,!0);continue}let ct;if(Ke.key!=null)ct=xe.get(Ke.key);else for(Ee=fe;Ee<=Z;Ee++)if(vl[Ee-fe]===0&&Kt(Ke,m[Ee])){ct=Ee;break}ct===void 0?Be(Ke,T,F,!0):(vl[ct-fe]=P+1,ct>=Ui?Ui=ct:el=!0,x(Ke,m[ct],y,null,T,F,j,S,N),Te++)}const qi=el?Dc(vl):rl;for(Ee=qi.length-1,P=nt-1;P>=0;P--){const Ke=fe+P,ct=m[Ke],Ki=Ke+1{const{el:F,type:j,transition:S,children:N,shapeFlag:P}=d;if(P&6){Xe(d.component.subTree,m,y,L);return}if(P&128){d.suspense.move(m,y,L);return}if(P&64){j.move(d,m,y,ye);return}if(j===we){n(F,m,y);for(let Y=0;YS.enter(F),T);else{const{leave:Y,delayLeave:Z,afterLeave:oe}=S,fe=()=>n(F,m,y),xe=()=>{Y(F,()=>{fe(),oe&&oe()})};Z?Z(F,fe,xe):xe()}else n(F,m,y)},Be=(d,m,y,L=!1,T=!1)=>{const{type:F,props:j,ref:S,children:N,dynamicChildren:P,shapeFlag:J,patchFlag:Y,dirs:Z}=d;if(S!=null&&fn(S,null,y,d,!0),J&256){m.ctx.deactivate(d);return}const oe=J&1&&Z,fe=!cl(d);let xe;if(fe&&(xe=j&&j.onVnodeBeforeUnmount)&&tt(xe,m,d),J&6)K(d.component,y,L);else{if(J&128){d.suspense.unmount(y,L);return}oe&&ut(d,null,m,"beforeUnmount"),J&64?d.type.remove(d,m,y,T,ye,L):P&&(F!==we||Y>0&&Y&64)?z(P,m,y,!1,!0):(F===we&&Y&384||!T&&J&16)&&z(N,m,y),L&&$t(d)}(fe&&(xe=j&&j.onVnodeUnmounted)||oe)&&Ue(()=>{xe&&tt(xe,m,d),oe&&ut(d,null,m,"unmounted")},y)},$t=d=>{const{type:m,el:y,anchor:L,transition:T}=d;if(m===we){C(y,L);return}if(m===Tl){q(d);return}const F=()=>{i(y),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(d.shapeFlag&1&&T&&!T.persisted){const{leave:j,delayLeave:S}=T,N=()=>j(y,F);S?S(d.el,F,N):N()}else F()},C=(d,m)=>{let y;for(;d!==m;)y=f(d),i(d),d=y;i(m)},K=(d,m,y)=>{const{bum:L,scope:T,update:F,subTree:j,um:S}=d;L&&Sn(L),T.stop(),F&&(F.active=!1,Be(j,d,m,y)),S&&Ue(S,m),Ue(()=>{d.isUnmounted=!0},m),m&&m.pendingBranch&&!m.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===m.pendingId&&(m.deps--,m.deps===0&&m.resolve())},z=(d,m,y,L=!1,T=!1,F=0)=>{for(let j=F;jd.shapeFlag&6?W(d.component.subTree):d.shapeFlag&128?d.suspense.next():f(d.anchor||d.el),ge=(d,m,y)=>{d==null?m._vnode&&Be(m._vnode,null,null,!0):x(m._vnode||null,d,m,null,null,null,y),an(),m._vnode=d},ye={p:x,um:Be,m:Xe,r:$t,mt:se,mc:G,pc:Oe,pbc:Q,n:W,o:e};let ce,ne;return t&&([ce,ne]=t(ye)),{render:ge,hydrate:ce,createApp:Ic(ge,ce)}}function Vt({effect:e,update:t},l){e.allowRecurse=t.allowRecurse=l}function is(e,t,l=!1){const n=e.children,i=t.children;if(te(n)&&te(i))for(let o=0;o>1,e[l[s]]0&&(t[n]=l[o-1]),l[o]=n)}}for(o=l.length,r=l[o-1];o-- >0;)l[o]=r,r=t[r];return l}const Mc=e=>e.__isTeleport,we=Symbol(void 0),zl=Symbol(void 0),Qe=Symbol(void 0),Tl=Symbol(void 0),Ll=[];let rt=null;function V(e=!1){Ll.push(rt=e?null:[])}function Nc(){Ll.pop(),rt=Ll[Ll.length-1]||null}let Dl=1;function fo(e){Dl+=e}function os(e){return e.dynamicChildren=Dl>0?rt||rl:null,Nc(),Dl>0&&rt&&rt.push(e),e}function X(e,t,l,n,i,o){return os(pe(e,t,l,n,i,o,!0))}function Ae(e,t,l,n,i){return os(ie(e,t,l,n,i,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function Kt(e,t){return e.type===t.type&&e.key===t.key}const Pn="__vInternal",rs=({key:e})=>e!=null?e:null,ln=({ref:e,ref_key:t,ref_for:l})=>e!=null?_e(e)||ze(e)||re(e)?{i:$e,r:e,k:t,f:!!l}:e:null;function pe(e,t=null,l=null,n=0,i=null,o=e===we?0:1,r=!1,s=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&rs(t),ref:t&&ln(t),scopeId:$r,slotScopeIds:null,children:l,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null};return s?(Oi(a,l),o&128&&e.normalize(a)):l&&(a.shapeFlag|=_e(l)?8:16),Dl>0&&!r&&rt&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&rt.push(a),a}const ie=$c;function $c(e,t=null,l=null,n=0,i=null,o=!1){if((!e||e===bc)&&(e=Qe),mn(e)){const s=zt(e,t,!0);return l&&Oi(s,l),Dl>0&&!o&&rt&&(s.shapeFlag&6?rt[rt.indexOf(e)]=s:rt.push(s)),s.patchFlag|=-2,s}if(Qc(e)&&(e=e.__vccOpts),t){t=Vc(t);let{class:s,style:a}=t;s&&!_e(s)&&(t.class=Ye(s)),Ie(a)&&(Tr(a)&&!te(a)&&(a=Ne({},a)),t.style=Nl(a))}const r=_e(e)?1:oc(e)?128:Mc(e)?64:Ie(e)?4:re(e)?2:0;return pe(e,t,l,n,i,r,o,!0)}function Vc(e){return e?Tr(e)||Pn in e?Ne({},e):e:null}function zt(e,t,l=!1){const{props:n,ref:i,patchFlag:o,children:r}=e,s=t?ri(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:s,key:s&&rs(s),ref:t&&t.ref?l&&i?te(i)?i.concat(ln(t)):[i,ln(t)]:ln(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==we?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&zt(e.ssContent),ssFallback:e.ssFallback&&zt(e.ssFallback),el:e.el,anchor:e.anchor}}function Dt(e=" ",t=0){return ie(zl,null,e,t)}function Hc(e,t){const l=ie(Tl,null,e);return l.staticCount=t,l}function Pe(e="",t=!1){return t?(V(),Ae(Qe,null,e)):ie(Qe,null,e)}function it(e){return e==null||typeof e=="boolean"?ie(Qe):te(e)?ie(we,null,e.slice()):typeof e=="object"?Tt(e):ie(zl,null,String(e))}function Tt(e){return e.el===null||e.memo?e:zt(e)}function Oi(e,t){let l=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(te(t))l=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Oi(e,i()),i._c&&(i._d=!0));return}else{l=32;const i=t._;!i&&!(Pn in t)?t._ctx=$e:i===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:$e},l=32):(t=String(t),n&64?(l=16,t=[Dt(t)]):l=8);e.children=t,e.shapeFlag|=l}function ri(...e){const t={};for(let l=0;lFe||$e,ul=e=>{Fe=e,e.scope.on()},Jt=()=>{Fe&&Fe.scope.off(),Fe=null};function ss(e){return e.vnode.shapeFlag&4}let dl=!1;function qc(e,t=!1){dl=t;const{props:l,children:n}=e.vnode,i=ss(e);wc(e,l,i,t),Pc(e,n);const o=i?Kc(e,t):void 0;return dl=!1,o}function Kc(e,t){const l=e.type;e.accessCache=Object.create(null),e.proxy=Lr(new Proxy(e.ctx,yc));const{setup:n}=l;if(n){const i=e.setupContext=n.length>1?Gc(e):null;ul(e),ml();const o=At(n,e,0,[e.props,i]);if(pl(),Jt(),fr(o)){if(o.then(Jt,Jt),t)return o.then(r=>{mo(e,r,t)}).catch(r=>{Vl(r,e,0)});e.asyncDep=o}else mo(e,o,t)}else as(e,t)}function mo(e,t,l){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ie(t)&&(e.setupState=Fr(t)),as(e,l)}let po;function as(e,t,l){const n=e.type;if(!e.render){if(!t&&po&&!n.render){const i=n.template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:a}=n,c=Ne(Ne({isCustomElement:o,delimiters:s},r),a);n.render=po(i,c)}}e.render=n.render||st}ul(e),ml(),kc(e),pl(),Jt()}function Wc(e){return new Proxy(e.attrs,{get(t,l){return Je(e,"get","$attrs"),t[l]}})}function Gc(e){const t=n=>{e.exposed=n||{}};let l;return{get attrs(){return l||(l=Wc(e))},slots:e.slots,emit:e.emit,expose:t}}function On(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fr(Lr(e.exposed)),{get(t,l){if(l in t)return t[l];if(l in dn)return dn[l](e)}}))}function Yc(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function Qc(e){return re(e)&&"__vccOpts"in e}const B=(e,t)=>Ga(e,t,dl);function ue(e,t,l){const n=arguments.length;return n===2?Ie(t)&&!te(t)?mn(t)?ie(e,null,[t]):ie(e,t):ie(e,null,t):(n>3?l=Array.prototype.slice.call(arguments,2):n===3&&mn(l)&&(l=[l]),ie(e,t,l))}const Jc="3.2.37",Zc="http://www.w3.org/2000/svg",Wt=typeof document<"u"?document:null,go=Wt&&Wt.createElement("template"),Xc={insert:(e,t,l)=>{t.insertBefore(e,l||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,l,n)=>{const i=t?Wt.createElementNS(Zc,e):Wt.createElement(e,l?{is:l}:void 0);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Wt.createTextNode(e),createComment:e=>Wt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,l,n,i,o){const r=l?l.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),l),!(i===o||!(i=i.nextSibling)););else{go.innerHTML=n?`${e}`:e;const s=go.content;if(n){const a=s.firstChild;for(;a.firstChild;)s.appendChild(a.firstChild);s.removeChild(a)}t.insertBefore(s,l)}return[r?r.nextSibling:t.firstChild,l?l.previousSibling:t.lastChild]}};function eu(e,t,l){const n=e._vtc;n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):l?e.setAttribute("class",t):e.className=t}function tu(e,t,l){const n=e.style,i=_e(l);if(l&&!i){for(const o in l)si(n,o,l[o]);if(t&&!_e(t))for(const o in t)l[o]==null&&si(n,o,"")}else{const o=n.display;i?t!==l&&(n.cssText=l):t&&e.removeAttribute("style"),"_vod"in e&&(n.display=o)}}const vo=/\s*!important$/;function si(e,t,l){if(te(l))l.forEach(n=>si(e,t,n));else if(l==null&&(l=""),t.startsWith("--"))e.setProperty(t,l);else{const n=lu(e,t);vo.test(l)?e.setProperty(Zt(n),l.replace(vo,""),"important"):e[n]=l}}const bo=["Webkit","Moz","ms"],Nn={};function lu(e,t){const l=Nn[t];if(l)return l;let n=ht(t);if(n!=="filter"&&n in e)return Nn[t]=n;n=xn(n);for(let i=0;i{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const l=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(l&&Number(l[1])<=53)}return[e,t]})();let ai=0;const ru=Promise.resolve(),su=()=>{ai=0},au=()=>ai||(ru.then(su),ai=cs());function cu(e,t,l,n){e.addEventListener(t,l,n)}function uu(e,t,l,n){e.removeEventListener(t,l,n)}function du(e,t,l,n,i=null){const o=e._vei||(e._vei={}),r=o[t];if(n&&r)r.value=n;else{const[s,a]=hu(t);if(n){const c=o[t]=fu(n,i);cu(e,s,c,a)}else r&&(uu(e,s,r,a),o[t]=void 0)}}const yo=/(?:Once|Passive|Capture)$/;function hu(e){let t;if(yo.test(e)){t={};let l;for(;l=e.match(yo);)e=e.slice(0,e.length-l[0].length),t[l[0].toLowerCase()]=!0}return[Zt(e.slice(2)),t]}function fu(e,t){const l=n=>{const i=n.timeStamp||cs();(ou||i>=l.attached-1)&<(mu(n,l.value),t,5,[n])};return l.value=e,l.attached=au(),l}function mu(e,t){if(te(t)){const l=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{l.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const ko=/^on[a-z]/,pu=(e,t,l,n,i=!1,o,r,s,a)=>{t==="class"?eu(e,n,i):t==="style"?tu(e,l,n):$l(t)?pi(t)||du(e,t,l,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):gu(e,t,n,i))?iu(e,t,n,o,r,s,a):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),nu(e,t,n,i))};function gu(e,t,l,n){return n?!!(t==="innerHTML"||t==="textContent"||t in e&&ko.test(t)&&re(l)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ko.test(t)&&_e(l)?!1:t in e}const Ct="transition",bl="animation",Ul=(e,{slots:t})=>ue(Br,vu(e),t);Ul.displayName="Transition";const us={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Ul.props=Ne({},Br.props,us);const Ht=(e,t=[])=>{te(e)?e.forEach(l=>l(...t)):e&&e(...t)},xo=e=>e?te(e)?e.some(t=>t.length>1):e.length>1:!1;function vu(e){const t={};for(const E in e)E in us||(t[E]=e[E]);if(e.css===!1)return t;const{name:l="v",type:n,duration:i,enterFromClass:o=`${l}-enter-from`,enterActiveClass:r=`${l}-enter-active`,enterToClass:s=`${l}-enter-to`,appearFromClass:a=o,appearActiveClass:c=r,appearToClass:u=s,leaveFromClass:h=`${l}-leave-from`,leaveActiveClass:f=`${l}-leave-active`,leaveToClass:p=`${l}-leave-to`}=e,k=bu(i),R=k&&k[0],x=k&&k[1],{onBeforeEnter:g,onEnter:b,onEnterCancelled:w,onLeave:D,onLeaveCancelled:q,onBeforeAppear:ee=g,onAppear:O=b,onAppearCancelled:v=w}=t,G=(E,M,I)=>{jt(E,M?u:s),jt(E,M?c:r),I&&I()},U=(E,M)=>{E._isLeaving=!1,jt(E,h),jt(E,p),jt(E,f),M&&M()},Q=E=>(M,I)=>{const se=E?O:b,H=()=>G(M,E,I);Ht(se,[M,H]),Eo(()=>{jt(M,E?a:o),Rt(M,E?u:s),xo(se)||Co(M,n,R,H)})};return Ne(t,{onBeforeEnter(E){Ht(g,[E]),Rt(E,o),Rt(E,r)},onBeforeAppear(E){Ht(ee,[E]),Rt(E,a),Rt(E,c)},onEnter:Q(!1),onAppear:Q(!0),onLeave(E,M){E._isLeaving=!0;const I=()=>U(E,M);Rt(E,h),ku(),Rt(E,f),Eo(()=>{!E._isLeaving||(jt(E,h),Rt(E,p),xo(D)||Co(E,n,x,I))}),Ht(D,[E,I])},onEnterCancelled(E){G(E,!1),Ht(w,[E])},onAppearCancelled(E){G(E,!0),Ht(v,[E])},onLeaveCancelled(E){U(E),Ht(q,[E])}})}function bu(e){if(e==null)return null;if(Ie(e))return[$n(e.enter),$n(e.leave)];{const t=$n(e);return[t,t]}}function $n(e){return gr(e)}function Rt(e,t){t.split(/\s+/).forEach(l=>l&&e.classList.add(l)),(e._vtc||(e._vtc=new Set)).add(t)}function jt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const{_vtc:l}=e;l&&(l.delete(t),l.size||(e._vtc=void 0))}function Eo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let _u=0;function Co(e,t,l,n){const i=e._endId=++_u,o=()=>{i===e._endId&&n()};if(l)return setTimeout(o,l);const{type:r,timeout:s,propCount:a}=yu(e,t);if(!r)return n();const c=r+"end";let u=0;const h=()=>{e.removeEventListener(c,f),o()},f=p=>{p.target===e&&++u>=a&&h()};setTimeout(()=>{u(l[k]||"").split(", "),i=n(Ct+"Delay"),o=n(Ct+"Duration"),r=Ro(i,o),s=n(bl+"Delay"),a=n(bl+"Duration"),c=Ro(s,a);let u=null,h=0,f=0;t===Ct?r>0&&(u=Ct,h=r,f=o.length):t===bl?c>0&&(u=bl,h=c,f=a.length):(h=Math.max(r,c),u=h>0?r>c?Ct:bl:null,f=u?u===Ct?o.length:a.length:0);const p=u===Ct&&/\b(transform|all)(,|$)/.test(l[Ct+"Property"]);return{type:u,timeout:h,propCount:f,hasTransform:p}}function Ro(e,t){for(;e.lengthwo(l)+wo(e[n])))}function wo(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ku(){return document.body.offsetHeight}const xu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Eu=(e,t)=>l=>{if(!("key"in l))return;const n=Zt(l.key);if(t.some(i=>i===n||xu[i]===n))return e(l)},pn={beforeMount(e,{value:t},{transition:l}){e._vod=e.style.display==="none"?"":e.style.display,l&&t?l.beforeEnter(e):_l(e,t)},mounted(e,{value:t},{transition:l}){l&&t&&l.enter(e)},updated(e,{value:t,oldValue:l},{transition:n}){!t!=!l&&(n?t?(n.beforeEnter(e),_l(e,!0),n.enter(e)):n.leave(e,()=>{_l(e,!1)}):_l(e,t))},beforeUnmount(e,{value:t}){_l(e,t)}};function _l(e,t){e.style.display=t?e._vod:"none"}const Cu=Ne({patchProp:pu},Xc);let Vn,To=!1;function Ru(){return Vn=To?Vn:Sc(Cu),To=!0,Vn}const wu=(...e)=>{const t=Ru().createApp(...e),{mount:l}=t;return t.mount=n=>{const i=Tu(n);if(i)return l(i,!0,i instanceof SVGElement)},t};function Tu(e){return _e(e)?document.querySelector(e):e}const Lu=JSON.parse('{"base":"/YukiReflection/","lang":"en-US","title":"Yuki Reflection","description":"An efficient Reflection API for Java and Android built in Kotlin","head":[["link",{"rel":"icon","href":"/YukiReflection/images/logo.png"}]],"locales":{"/en/":{"lang":"en-US","description":"An efficient Reflection API for Java and Android built in Kotlin"},"/zh-cn/":{"lang":"zh-CN","description":"\u4E00\u4E2A\u4F7F\u7528 Kotlin \u6784\u5EFA\u7684\u7528\u4E8E Java \u548C Android \u5E73\u53F0\u9AD8\u6548\u53CD\u5C04 API"}}}');var Pu=([e,t,l])=>e==="meta"&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,l]),Ou=e=>{const t=new Set,l=[];return e.forEach(n=>{const i=Pu(n);t.has(i)||(t.add(i),l.push(n))}),l},ql=e=>/^(https?:)?\/\//.test(e),Au=e=>/^mailto:/.test(e),Iu=e=>/^tel:/.test(e),Ii=e=>Object.prototype.toString.call(e)==="[object Object]",ds=e=>e.replace(/\/$/,""),hs=e=>e.replace(/^\//,""),fs=(e,t)=>{const l=Object.keys(e).sort((n,i)=>{const o=i.split("/").length-n.split("/").length;return o!==0?o:i.length-n.length});for(const n of l)if(t.startsWith(n))return n;return"/"};const ms={"v-8daa1a0e":$(()=>_(()=>import("./index.html.ed5036c6.js"),[])),"v-2d0a870d":$(()=>_(()=>import("./index.html.1339d5c2.js"),[])),"v-c0c85b84":$(()=>_(()=>import("./index.html.e2792c5f.js"),[])),"v-7a15fe3b":$(()=>_(()=>import("./about.html.94009ddf.js"),[])),"v-3f851d14":$(()=>_(()=>import("./changelog.html.a0481c52.js"),[])),"v-193cf592":$(()=>_(()=>import("./contacts.html.9abe8991.js"),[])),"v-ae7b83f2":$(()=>_(()=>import("./future.html.47405c37.js"),[])),"v-c557cfcc":$(()=>_(()=>import("./features.html.65df35ac.js"),[])),"v-64fc7bb8":$(()=>_(()=>import("./home.html.385ffce1.js"),[])),"v-9cfea7fc":$(()=>_(()=>import("./api-example.html.cc98f2cb.js"),[])),"v-72c12b7d":$(()=>_(()=>import("./api-exception.html.f26818cd.js"),[])),"v-efb45d4c":$(()=>_(()=>import("./home.html.9c97a44a.js"),[])),"v-72889797":$(()=>_(()=>import("./quick-start.html.a839f1ea.js"),[])),"v-41967128":$(()=>_(()=>import("./about.html.c8884850.js"),[])),"v-0e6c3476":$(()=>_(()=>import("./changelog.html.36e96eae.js"),[])),"v-6cf86266":$(()=>_(()=>import("./contacts.html.1da5e82b.js"),[])),"v-3106ca14":$(()=>_(()=>import("./future.html.18e105a7.js"),[])),"v-47e315ee":$(()=>_(()=>import("./features.html.9a3194da.js"),[])),"v-c8deafb2":$(()=>_(()=>import("./home.html.922e31fa.js"),[])),"v-6a609e09":$(()=>_(()=>import("./home.html.9b4cb86d.js"),[])),"v-24840ff0":$(()=>_(()=>import("./quick-start.html.83b3f2af.js"),[])),"v-c6114c9e":$(()=>_(()=>import("./api-example.html.4692aae4.js"),[])),"v-5b43296c":$(()=>_(()=>import("./api-exception.html.67f8bf5e.js"),[])),"v-23f4d2be":$(()=>_(()=>import("./YukiReflection.html.9b18a061.js"),[])),"v-c088ede0":$(()=>_(()=>import("./YukiReflection.html.6e790ebd.js"),[])),"v-47f17664":$(()=>_(()=>import("./CurrentClass.html.0cbf1174.js"),[])),"v-38df33ac":$(()=>_(()=>import("./GenericClass.html.29e779a0.js"),[])),"v-3a8666c0":$(()=>_(()=>import("./VariousClass.html.416446a8.js"),[])),"v-728f231c":$(()=>_(()=>import("./ReflectionFactory.html.3a708e8c.js"),[])),"v-406687ff":$(()=>_(()=>import("./CurrentClass.html.205e8299.js"),[])),"v-c5831246":$(()=>_(()=>import("./GenericClass.html.937c5c5e.js"),[])),"v-c234ac1e":$(()=>_(()=>import("./VariousClass.html.66b228e1.js"),[])),"v-b3841eba":$(()=>_(()=>import("./ReflectionFactory.html.faaec016.js"),[])),"v-740d06da":$(()=>_(()=>import("./BaseFinder.html.d7748acf.js"),[])),"v-6d6cd473":$(()=>_(()=>import("./DexClassFinder.html.00bc2e4b.js"),[])),"v-b3220076":$(()=>_(()=>import("./ConstructorFinder.html.a40584a1.js"),[])),"v-4b907076":$(()=>_(()=>import("./FieldFinder.html.00221b25.js"),[])),"v-012ee5a6":$(()=>_(()=>import("./MethodFinder.html.bae1e13a.js"),[])),"v-c945cb6e":$(()=>_(()=>import("./BaseFinder.html.8f83f91b.js"),[])),"v-2d13d624":$(()=>_(()=>import("./DexClassFinder.html.50819339.js"),[])),"v-722cd474":$(()=>_(()=>import("./ConstructorFinder.html.6608ff36.js"),[])),"v-293ae898":$(()=>_(()=>import("./FieldFinder.html.44edac16.js"),[])),"v-155c9f97":$(()=>_(()=>import("./MethodFinder.html.30643f39.js"),[])),"v-6c58c435":$(()=>_(()=>import("./ComponentTypeFactory.html.01fa4f98.js"),[])),"v-25cdee85":$(()=>_(()=>import("./GraphicsTypeFactory.html.d8c3b342.js"),[])),"v-12826b1f":$(()=>_(()=>import("./ViewTypeFactory.html.1609776e.js"),[])),"v-597ac69b":$(()=>_(()=>import("./DefinedTypeFactory.html.e75cea89.js"),[])),"v-5ad1133e":$(()=>_(()=>import("./VariableTypeFactory.html.2f75d9b7.js"),[])),"v-6f96d791":$(()=>_(()=>import("./CountRules.html.8fc46cf2.js"),[])),"v-56071599":$(()=>_(()=>import("./ModifierRules.html.23e3a69f.js"),[])),"v-4ea9e766":$(()=>_(()=>import("./NameRules.html.5824cbcd.js"),[])),"v-3045c7fe":$(()=>_(()=>import("./ObjectRules.html.e6691926.js"),[])),"v-cce2b7b6":$(()=>_(()=>import("./ConstructorRules.html.e247eb10.js"),[])),"v-82a85036":$(()=>_(()=>import("./FieldRules.html.29bf58de.js"),[])),"v-71ecb893":$(()=>_(()=>import("./MemberRules.html.e6dd0524.js"),[])),"v-5e7e121a":$(()=>_(()=>import("./MethodRules.html.a2613ed0.js"),[])),"v-3dbf4880":$(()=>_(()=>import("./CountRules.html.a8c6e084.js"),[])),"v-701721ec":$(()=>_(()=>import("./ModifierRules.html.b6f683e3.js"),[])),"v-264e7384":$(()=>_(()=>import("./NameRules.html.6db86216.js"),[])),"v-b0f7c49c":$(()=>_(()=>import("./ObjectRules.html.2373dc72.js"),[])),"v-ec153654":$(()=>_(()=>import("./ConstructorRules.html.73382011.js"),[])),"v-30993156":$(()=>_(()=>import("./FieldRules.html.14cfcb37.js"),[])),"v-3daa8d42":$(()=>_(()=>import("./MemberRules.html.fb90baae.js"),[])),"v-2a3be6c9":$(()=>_(()=>import("./MethodRules.html.e854c479.js"),[])),"v-30e525ac":$(()=>_(()=>import("./DefinedTypeFactory.html.db0bb621.js"),[])),"v-7f47f9f8":$(()=>_(()=>import("./ComponentTypeFactory.html.9f6eb483.js"),[])),"v-5a1019d6":$(()=>_(()=>import("./GraphicsTypeFactory.html.c2987428.js"),[])),"v-be0e3220":$(()=>_(()=>import("./ViewTypeFactory.html.4f37f6c4.js"),[])),"v-12f074b0":$(()=>_(()=>import("./VariableTypeFactory.html.a02b32e0.js"),[])),"v-4f47dfda":$(()=>_(()=>import("./MemberRulesResult.html.0030e851.js"),[])),"v-503f5f8b":$(()=>_(()=>import("./MemberRulesResult.html.230c0739.js"),[])),"v-3706649a":$(()=>_(()=>import("./404.html.10d8caae.js"),[]))};var Mt=(e={})=>e;function ps(e,t,l){var n,i,o;t===void 0&&(t=50),l===void 0&&(l={});var r=(n=l.isImmediate)!=null&&n,s=(i=l.callback)!=null&&i,a=l.maxWait,c=Date.now(),u=[];function h(){if(a!==void 0){var p=Date.now()-c;if(p+t>=a)return a-p}return t}var f=function(){var p=[].slice.call(arguments),k=this;return new Promise(function(R,x){var g=r&&o===void 0;if(o!==void 0&&clearTimeout(o),o=setTimeout(function(){if(o=void 0,c=Date.now(),!r){var w=e.apply(k,p);s&&s(w),u.forEach(function(D){return(0,D.resolve)(w)}),u=[]}},h()),g){var b=e.apply(k,p);return s&&s(b),R(b)}u.push({resolve:R,reject:x})})};return f.cancel=function(p){o!==void 0&&clearTimeout(o),u.forEach(function(k){return(0,k.reject)(p)}),u=[]},f}/*!
   * vue-router v4.1.5
   * (c) 2022 Eduardo San Martin Morote
   * @license MIT
@@ -7,4 +7,4 @@ Expects a CSS selector, a Node element, a NodeList or an array.
 See: https://github.com/francoischalifour/medium-zoom`)}},Yd=function(t){var l=document.createElement("div");return l.classList.add("medium-zoom-overlay"),l.style.background=t,l},Qd=function(t){var l=t.getBoundingClientRect(),n=l.top,i=l.left,o=l.width,r=l.height,s=t.cloneNode(),a=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,c=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return s.removeAttribute("id"),s.style.position="absolute",s.style.top=n+a+"px",s.style.left=i+c+"px",s.style.width=o+"px",s.style.height=r+"px",s.style.transform="",s},ll=function(t,l){var n=Ut({bubbles:!1,cancelable:!1,detail:void 0},l);if(typeof window.CustomEvent=="function")return new CustomEvent(t,n);var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),i},Jd=function e(t){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=window.Promise||function(E){function M(){}E(M,M)},i=function(E){var M=E.target;if(M===G){k();return}w.indexOf(M)!==-1&&R({target:M})},o=function(){if(!(q||!v.original)){var E=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(ee-E)>O.scrollOffset&&setTimeout(k,150)}},r=function(E){var M=E.key||E.keyCode;(M==="Escape"||M==="Esc"||M===27)&&k()},s=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=E;if(E.background&&(G.style.background=E.background),E.container&&E.container instanceof Object&&(M.container=Ut({},O.container,E.container)),E.template){var I=nn(E.template)?E.template:document.querySelector(E.template);M.template=I}return O=Ut({},O,M),w.forEach(function(se){se.dispatchEvent(ll("medium-zoom:update",{detail:{zoom:U}}))}),U},a=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(Ut({},O,E))},c=function(){for(var E=arguments.length,M=Array(E),I=0;I0?M.reduce(function(H,le){return[].concat(H,Wo(le))},[]):w;return se.forEach(function(H){H.classList.remove("medium-zoom-image"),H.dispatchEvent(ll("medium-zoom:detach",{detail:{zoom:U}}))}),w=w.filter(function(H){return se.indexOf(H)===-1}),U},h=function(E,M){var I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return w.forEach(function(se){se.addEventListener("medium-zoom:"+E,M,I)}),D.push({type:"medium-zoom:"+E,listener:M,options:I}),U},f=function(E,M){var I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return w.forEach(function(se){se.removeEventListener("medium-zoom:"+E,M,I)}),D=D.filter(function(se){return!(se.type==="medium-zoom:"+E&&se.listener.toString()===M.toString())}),U},p=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=E.target,I=function(){var H={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},le=void 0,ae=void 0;if(O.container)if(O.container instanceof Object)H=Ut({},H,O.container),le=H.width-H.left-H.right-O.margin*2,ae=H.height-H.top-H.bottom-O.margin*2;else{var Oe=nn(O.container)?O.container:document.querySelector(O.container),Ve=Oe.getBoundingClientRect(),qe=Ve.width,Xe=Ve.height,Be=Ve.left,$t=Ve.top;H=Ut({},H,{width:qe,height:Xe,left:Be,top:$t})}le=le||H.width-O.margin*2,ae=ae||H.height-O.margin*2;var C=v.zoomedHd||v.original,K=Ko(C)?le:C.naturalWidth||le,z=Ko(C)?ae:C.naturalHeight||ae,W=C.getBoundingClientRect(),ge=W.top,ye=W.left,ce=W.width,ne=W.height,d=Math.min(K,le)/ce,m=Math.min(z,ae)/ne,y=Math.min(d,m),L=(-ye+(le-ce)/2+O.margin+H.left)/y,T=(-ge+(ae-ne)/2+O.margin+H.top)/y,F="scale("+y+") translate3d("+L+"px, "+T+"px, 0)";v.zoomed.style.transform=F,v.zoomedHd&&(v.zoomedHd.style.transform=F)};return new n(function(se){if(M&&w.indexOf(M)===-1){se(U);return}var H=function qe(){q=!1,v.zoomed.removeEventListener("transitionend",qe),v.original.dispatchEvent(ll("medium-zoom:opened",{detail:{zoom:U}})),se(U)};if(v.zoomed){se(U);return}if(M)v.original=M;else if(w.length>0){var le=w;v.original=le[0]}else{se(U);return}if(v.original.dispatchEvent(ll("medium-zoom:open",{detail:{zoom:U}})),ee=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,q=!0,v.zoomed=Qd(v.original),document.body.appendChild(G),O.template){var ae=nn(O.template)?O.template:document.querySelector(O.template);v.template=document.createElement("div"),v.template.appendChild(ae.content.cloneNode(!0)),document.body.appendChild(v.template)}if(document.body.appendChild(v.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),v.original.classList.add("medium-zoom-image--hidden"),v.zoomed.classList.add("medium-zoom-image--opened"),v.zoomed.addEventListener("click",k),v.zoomed.addEventListener("transitionend",H),v.original.getAttribute("data-zoom-src")){v.zoomedHd=v.zoomed.cloneNode(),v.zoomedHd.removeAttribute("srcset"),v.zoomedHd.removeAttribute("sizes"),v.zoomedHd.src=v.zoomed.getAttribute("data-zoom-src"),v.zoomedHd.onerror=function(){clearInterval(Oe),console.warn("Unable to reach the zoom image target "+v.zoomedHd.src),v.zoomedHd=null,I()};var Oe=setInterval(function(){v.zoomedHd.complete&&(clearInterval(Oe),v.zoomedHd.classList.add("medium-zoom-image--opened"),v.zoomedHd.addEventListener("click",k),document.body.appendChild(v.zoomedHd),I())},10)}else if(v.original.hasAttribute("srcset")){v.zoomedHd=v.zoomed.cloneNode(),v.zoomedHd.removeAttribute("sizes"),v.zoomedHd.removeAttribute("loading");var Ve=v.zoomedHd.addEventListener("load",function(){v.zoomedHd.removeEventListener("load",Ve),v.zoomedHd.classList.add("medium-zoom-image--opened"),v.zoomedHd.addEventListener("click",k),document.body.appendChild(v.zoomedHd),I()})}else I()})},k=function(){return new n(function(E){if(q||!v.original){E(U);return}var M=function I(){v.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(v.zoomed),v.zoomedHd&&document.body.removeChild(v.zoomedHd),document.body.removeChild(G),v.zoomed.classList.remove("medium-zoom-image--opened"),v.template&&document.body.removeChild(v.template),q=!1,v.zoomed.removeEventListener("transitionend",I),v.original.dispatchEvent(ll("medium-zoom:closed",{detail:{zoom:U}})),v.original=null,v.zoomed=null,v.zoomedHd=null,v.template=null,E(U)};q=!0,document.body.classList.remove("medium-zoom--opened"),v.zoomed.style.transform="",v.zoomedHd&&(v.zoomedHd.style.transform=""),v.template&&(v.template.style.transition="opacity 150ms",v.template.style.opacity=0),v.original.dispatchEvent(ll("medium-zoom:close",{detail:{zoom:U}})),v.zoomed.addEventListener("transitionend",M)})},R=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=E.target;return v.original?k():p({target:M})},x=function(){return O},g=function(){return w},b=function(){return v.original},w=[],D=[],q=!1,ee=0,O=l,v={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?O=t:(t||typeof t=="string")&&c(t),O=Ut({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},O);var G=Yd(O.background);document.addEventListener("click",i),document.addEventListener("keyup",r),document.addEventListener("scroll",o),window.addEventListener("resize",k);var U={open:p,close:k,toggle:R,update:s,clone:a,attach:c,detach:u,on:h,off:f,getOptions:x,getImages:g,getZoomedImage:b};return U};function Zd(e,t){t===void 0&&(t={});var l=t.insertAt;if(!(!e||typeof document>"u")){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",l==="top"&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var Xd=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";Zd(Xd);const eh=Jd,th=Symbol("mediumZoom");const lh=".theme-default-content > img, .theme-default-content :not(a) > img",nh={},ih=300,oh=Mt({enhance({app:e,router:t}){const l=eh(nh);l.refresh=(n=lh)=>{l.detach(),l.attach(n)},e.provide(th,l),t.afterEach(()=>{setTimeout(()=>l.refresh(),ih)})}});/**
  * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
  * @license MIT
- */const me={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=me.isStarted();e=Un(e,me.settings.minimum,1),me.status=e===1?null:e;const l=me.render(!t),n=l.querySelector(me.settings.barSelector),i=me.settings.speed,o=me.settings.easing;return l.offsetWidth,rh(r=>{tn(n,{transform:"translate3d("+Go(e)+"%,0,0)",transition:"all "+i+"ms "+o}),e===1?(tn(l,{transition:"none",opacity:"1"}),l.offsetWidth,setTimeout(function(){tn(l,{transition:"all "+i+"ms linear",opacity:"0"}),setTimeout(function(){me.remove(),r()},i)},i)):setTimeout(()=>r(),i)}),me},isStarted:()=>typeof me.status=="number",start:()=>{me.status||me.set(0);const e=()=>{setTimeout(()=>{!me.status||(me.trickle(),e())},me.settings.trickleSpeed)};return me.settings.trickle&&e(),me},done:e=>!e&&!me.status?me:me.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=me.status;return t?(typeof e!="number"&&(e=(1-t)*Un(Math.random()*t,.1,.95)),t=Un(t+e,0,.994),me.set(t)):me.start()},trickle:()=>me.inc(Math.random()*me.settings.trickleRate),render:e=>{if(me.isRendered())return document.getElementById("nprogress");Yo(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=me.settings.template;const l=t.querySelector(me.settings.barSelector),n=e?"-100":Go(me.status||0),i=document.querySelector(me.settings.parent);return tn(l,{transition:"all 0 linear",transform:"translate3d("+n+"%,0,0)"}),i!==document.body&&Yo(i,"nprogress-custom-parent"),i==null||i.appendChild(t),t},remove:()=>{Qo(document.documentElement,"nprogress-busy"),Qo(document.querySelector(me.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&sh(e)},isRendered:()=>!!document.getElementById("nprogress")},Un=(e,t,l)=>el?l:e,Go=e=>(-1+e)*100,rh=function(){const e=[];function t(){const l=e.shift();l&&l(t)}return function(l){e.push(l),e.length===1&&t()}}(),tn=function(){const e=["Webkit","O","Moz","ms"],t={};function l(r){return r.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(s,a){return a.toUpperCase()})}function n(r){const s=document.body.style;if(r in s)return r;let a=e.length;const c=r.charAt(0).toUpperCase()+r.slice(1);let u;for(;a--;)if(u=e[a]+c,u in s)return u;return r}function i(r){return r=l(r),t[r]||(t[r]=n(r))}function o(r,s,a){s=i(s),r.style[s]=a}return function(r,s){for(const a in s){const c=s[a];c!==void 0&&Object.prototype.hasOwnProperty.call(s,a)&&o(r,a,c)}}}(),Ts=(e,t)=>(typeof e=="string"?e:zi(e)).indexOf(" "+t+" ")>=0,Yo=(e,t)=>{const l=zi(e),n=l+t;Ts(l,t)||(e.className=n.substring(1))},Qo=(e,t)=>{const l=zi(e);if(!Ts(e,t))return;const n=l.replace(" "+t+" "," ");e.className=n.substring(1,n.length-1)},zi=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),sh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)};const ah=()=>{Ze(()=>{const e=Xt(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(l=>{t.has(l.path)||me.start()}),e.afterEach(l=>{t.add(l.path),me.done()})})},ch=Mt({setup(){ah()}}),uh=JSON.parse(`{"logo":"/images/logo.png","repo":"https://github.com/fankes/YukiReflection","docsRepo":"https://github.com/fankes/YukiReflection","docsBranch":"master","docsDir":"docs-source/src","editLinkPattern":":repo/edit/:branch/:path","sidebar":{"/en/":[{"text":"Get Started","collapsible":true,"children":["/en/guide/home","/en/guide/quick-start"]},{"text":"Configs","collapsible":true,"children":["/en/config/api-example","/en/config/api-exception"]},{"text":"API Document","collapsible":true,"children":["/en/api/home",{"text":"Public API\xA0","collapsible":true,"children":["/en/api/public/com/highcapable/yukireflection/YukiReflection","/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/en/api/public/com/highcapable/yukireflection/bean/VariousClass","/en/api/public/com/highcapable/yukireflection/bean/CurrentClass","/en/api/public/com/highcapable/yukireflection/bean/GenericClass"]},"/en/api/features"]},{"text":"About","collapsible":true,"children":["/en/about/changelog","/en/about/future","/en/about/contacts","/en/about/about"]}],"/zh-cn/":[{"text":"\u5165\u95E8","collapsible":true,"children":["/zh-cn/guide/home","/zh-cn/guide/quick-start"]},{"text":"\u914D\u7F6E","collapsible":true,"children":["/zh-cn/config/api-example","/zh-cn/config/api-exception"]},{"text":"API \u6587\u6863","collapsible":true,"children":["/zh-cn/api/home",{"text":"Public API\xA0","collapsible":true,"children":["/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass"]},"/zh-cn/api/features"]},{"text":"\u5173\u4E8E","collapsible":true,"children":["/zh-cn/about/changelog","/zh-cn/about/future","/zh-cn/about/contacts","/zh-cn/about/about"]}]},"sidebarDepth":2,"locales":{"/en/":{"navbar":[{"text":"Navigation","children":[{"text":"Get Started","children":[{"text":"Introduce","link":"/en/guide/home"},{"text":"Quick Start","link":"/en/guide/quick-start"}]},{"text":"Configs","children":[{"text":"API Basic Configs","link":"/en/config/api-example"},{"text":"API Exception Handling","link":"/en/config/api-exception"}]},{"text":"API Document","children":[{"text":"Document Introduction","link":"/en/api/home"},{"text":"Public API","link":"/en/api/public/com/highcapable/yukireflection/YukiReflection","activeMatch":"/en/api/public/"},{"text":"Features","link":"/en/api/features"}]},{"text":"About","children":[{"text":"Changelog","link":"/en/about/changelog"},{"text":"Looking for Future","link":"/en/about/future"},{"text":"Contact Us","link":"/en/about/contacts"},{"text":"About this Document","link":"/en/about/about"}]}]},{"text":"Contact Us","link":"/en/about/contacts"}],"selectLanguageText":"English (US)","selectLanguageName":"English","editLinkText":"Edit this page on GitHub","tip":"Tips","warning":"Notice","danger":"Pay Attention"},"/zh-cn/":{"navbar":[{"text":"\u5BFC\u822A","children":[{"text":"\u5165\u95E8","children":[{"text":"\u4ECB\u7ECD","link":"/zh-cn/guide/home"},{"text":"\u5FEB\u901F\u5F00\u59CB","link":"/zh-cn/guide/quick-start"}]},{"text":"\u914D\u7F6E","children":[{"text":"API \u57FA\u672C\u914D\u7F6E","link":"/zh-cn/config/api-example"},{"text":"API \u5F02\u5E38\u5904\u7406","link":"/zh-cn/config/api-exception"}]},{"text":"API \u6587\u6863","children":[{"text":"\u6587\u6863\u4ECB\u7ECD","link":"/zh-cn/api/home"},{"text":"Public API","link":"/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection","activeMatch":"/zh-cn/api/public/"},{"text":"\u529F\u80FD\u4ECB\u7ECD","link":"/zh-cn/api/features"}]},{"text":"\u5173\u4E8E","children":[{"text":"\u66F4\u65B0\u65E5\u5FD7","link":"/zh-cn/about/changelog"},{"text":"\u5C55\u671B\u672A\u6765","link":"/zh-cn/about/future"},{"text":"\u8054\u7CFB\u6211\u4EEC","link":"/zh-cn/about/contacts"},{"text":"\u5173\u4E8E\u6B64\u6587\u6863","link":"/zh-cn/about/about"}]}]},{"text":"\u8054\u7CFB\u6211\u4EEC","link":"/zh-cn/about/contacts"}],"selectLanguageText":"\u7B80\u4F53\u4E2D\u6587 (CN)","selectLanguageName":"\u7B80\u4F53\u4E2D\u6587","editLinkText":"\u5728 GitHub \u4E0A\u7F16\u8F91\u6B64\u9875","notFound":["\u8FD9\u91CC\u4EC0\u4E48\u90FD\u6CA1\u6709","\u6211\u4EEC\u600E\u4E48\u5230\u8FD9\u6765\u4E86\uFF1F","\u8FD9\u662F\u4E00\u4E2A 404 \u9875\u9762","\u770B\u8D77\u6765\u6211\u4EEC\u8FDB\u5165\u4E86\u9519\u8BEF\u7684\u94FE\u63A5"],"backToHome":"\u56DE\u5230\u9996\u9875","contributorsText":"\u8D21\u732E\u8005","lastUpdatedText":"\u4E0A\u6B21\u66F4\u65B0","tip":"\u5C0F\u63D0\u793A","warning":"\u6CE8\u610F","danger":"\u7279\u522B\u6CE8\u610F","openInNewWindow":"\u5728\u65B0\u7A97\u53E3\u4E2D\u6253\u5F00","toggleColorMode":"\u5207\u6362\u989C\u8272\u6A21\u5F0F"},"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),Ls=ke(uh),dh=()=>Ls;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updateThemeData=e=>{Ls.value=e});const Ps=Symbol(""),hh=()=>{const e=De(Ps);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},fh=(e,t)=>{var l;return{...e,...(l=e.locales)==null?void 0:l[t]}},mh=Mt({enhance({app:e}){const t=dh(),l=e._context.provides[Vi],n=B(()=>fh(t.value,l.value));e.provide(Ps,n),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return n.value}}})}}),ph=he({__name:"Badge",props:{type:{type:String,required:!1,default:"tip"},text:{type:String,required:!1,default:""},vertical:{type:String,required:!1,default:void 0}},setup(e){return(t,l)=>(V(),X("span",{class:Ye(["badge",e.type]),style:Nl({verticalAlign:e.vertical})},[Re(t.$slots,"default",{},()=>[Dt(Se(e.text),1)])],6))}}),Le=(e,t)=>{const l=e.__vccOpts||e;for(const[n,i]of t)l[n]=i;return l},gh=Le(ph,[["__file","Badge.vue"]]),vh=he({name:"CodeGroup",setup(e,{slots:t}){const l=ke(-1),n=ke([]),i=(s=l.value)=>{s{s>0?l.value=s-1:l.value=n.value.length-1,n.value[l.value].focus()},r=(s,a)=>{s.key===" "||s.key==="Enter"?(s.preventDefault(),l.value=a):s.key==="ArrowRight"?(s.preventDefault(),i(a)):s.key==="ArrowLeft"&&(s.preventDefault(),o(a))};return()=>{var a;const s=(((a=t.default)==null?void 0:a.call(t))||[]).filter(c=>c.type.name==="CodeGroupItem").map(c=>(c.props===null&&(c.props={}),c));return s.length===0?null:(l.value<0||l.value>s.length-1?(l.value=s.findIndex(c=>c.props.active===""||c.props.active===!0),l.value===-1&&(l.value=0)):s.forEach((c,u)=>{c.props.active=u===l.value}),ue("div",{class:"code-group"},[ue("div",{class:"code-group__nav"},ue("ul",{class:"code-group__ul"},s.map((c,u)=>{const h=u===l.value;return ue("li",{class:"code-group__li"},ue("button",{ref:f=>{f&&(n.value[u]=f)},class:{"code-group__nav-tab":!0,"code-group__nav-tab-active":h},ariaPressed:h,ariaExpanded:h,onClick:()=>l.value=u,onKeydown:f=>r(f,u)},c.props.title))}))),s]))}}}),bh=["aria-selected"],_h=he({name:"CodeGroupItem"}),yh=he({..._h,props:{title:{type:String,required:!0},active:{type:Boolean,required:!1,default:!1}},setup(e){return(t,l)=>(V(),X("div",{class:Ye(["code-group-item",{"code-group-item__active":e.active}]),"aria-selected":e.active},[Re(t.$slots,"default")],10,bh))}}),kh=Le(yh,[["__file","CodeGroupItem.vue"]]);var Jo;const Os=typeof window<"u",xh=e=>typeof e=="function",Eh=e=>typeof e=="string",qn=()=>{};Os&&((Jo=window==null?void 0:window.navigator)==null?void 0:Jo.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function vn(e){return typeof e=="function"?e():A(e)}function Ch(e,t){function l(...n){e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})}return l}const As=e=>e();function Rh(e=As){const t=ke(!0);function l(){t.value=!1}function n(){t.value=!0}return{isActive:t,pause:l,resume:n,eventFilter:(...o)=>{t.value&&e(...o)}}}function wh(e){return e}function Is(e){return pa()?(ga(e),!0):!1}function Th(e,t=!0){Ai()?Wr(e):t?e():Hl(e)}function Lh(e,t=!0){Ai()?Ze(e):t?e():Hl(e)}function Ph(e=!1,t={}){const{truthyValue:l=!0,falsyValue:n=!1}=t,i=ze(e),o=ke(e);function r(s){if(arguments.length)return o.value=s,o.value;{const a=vn(l);return o.value=o.value===a?vn(n):a,o.value}}return i?r:[o,r]}var Zo=Object.getOwnPropertySymbols,Oh=Object.prototype.hasOwnProperty,Ah=Object.prototype.propertyIsEnumerable,Ih=(e,t)=>{var l={};for(var n in e)Oh.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(e!=null&&Zo)for(var n of Zo(e))t.indexOf(n)<0&&Ah.call(e,n)&&(l[n]=e[n]);return l};function Fh(e,t,l={}){const n=l,{eventFilter:i=As}=n,o=Ih(n,["eventFilter"]);return dt(e,Ch(i,t),o)}var Sh=Object.defineProperty,zh=Object.defineProperties,Dh=Object.getOwnPropertyDescriptors,bn=Object.getOwnPropertySymbols,Fs=Object.prototype.hasOwnProperty,Ss=Object.prototype.propertyIsEnumerable,Xo=(e,t,l)=>t in e?Sh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,Mh=(e,t)=>{for(var l in t||(t={}))Fs.call(t,l)&&Xo(e,l,t[l]);if(bn)for(var l of bn(t))Ss.call(t,l)&&Xo(e,l,t[l]);return e},Nh=(e,t)=>zh(e,Dh(t)),$h=(e,t)=>{var l={};for(var n in e)Fs.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(e!=null&&bn)for(var n of bn(e))t.indexOf(n)<0&&Ss.call(e,n)&&(l[n]=e[n]);return l};function Vh(e,t,l={}){const n=l,{eventFilter:i}=n,o=$h(n,["eventFilter"]),{eventFilter:r,pause:s,resume:a,isActive:c}=Rh(i);return{stop:Fh(e,t,Nh(Mh({},o),{eventFilter:r})),pause:s,resume:a,isActive:c}}function Hh(e){var t;const l=vn(e);return(t=l==null?void 0:l.$el)!=null?t:l}const _n=Os?window:void 0;function jh(...e){let t,l,n,i;if(Eh(e[0])?([l,n,i]=e,t=_n):[t,l,n,i]=e,!t)return qn;let o=qn;const r=dt(()=>Hh(t),a=>{o(),a&&(a.addEventListener(l,n,i),o=()=>{a.removeEventListener(l,n,i),o=qn})},{immediate:!0,flush:"post"}),s=()=>{r(),o()};return Is(s),s}function Bh(e,t=!1){const l=ke(),n=()=>l.value=Boolean(e());return n(),Lh(n,t),l}function Uh(e,t={}){const{window:l=_n}=t,n=Bh(()=>l&&"matchMedia"in l&&typeof l.matchMedia=="function");let i;const o=ke(!1),r=()=>{!n.value||(i||(i=l.matchMedia(e)),o.value=i.matches)};return Th(()=>{r(),i&&("addEventListener"in i?i.addEventListener("change",r):i.addListener(r),Is(()=>{"removeEventListener"in i?i.removeEventListener("change",r):i.removeListener(r)}))}),o}const hi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fi="__vueuse_ssr_handlers__";hi[fi]=hi[fi]||{};const qh=hi[fi];function Kh(e,t){return qh[e]||t}function Wh(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}var Gh=Object.defineProperty,er=Object.getOwnPropertySymbols,Yh=Object.prototype.hasOwnProperty,Qh=Object.prototype.propertyIsEnumerable,tr=(e,t,l)=>t in e?Gh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,lr=(e,t)=>{for(var l in t||(t={}))Yh.call(t,l)&&tr(e,l,t[l]);if(er)for(var l of er(t))Qh.call(t,l)&&tr(e,l,t[l]);return e};const Jh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function Zh(e,t,l,n={}){var i;const{flush:o="pre",deep:r=!0,listenToStorageChanges:s=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:u,window:h=_n,eventFilter:f,onError:p=O=>{console.error(O)}}=n,k=(u?Ar:ke)(t);if(!l)try{l=Kh("getDefaultStorage",()=>{var O;return(O=_n)==null?void 0:O.localStorage})()}catch(O){p(O)}if(!l)return k;const R=vn(t),x=Wh(R),g=(i=n.serializer)!=null?i:Jh[x],{pause:b,resume:w}=Vh(k,()=>D(k.value),{flush:o,deep:r,eventFilter:f});return h&&s&&jh(h,"storage",ee),ee(),k;function D(O){try{O==null?l.removeItem(e):l.setItem(e,g.write(O))}catch(v){p(v)}}function q(O){if(!(O&&O.key!==e)){b();try{const v=O?O.newValue:l.getItem(e);if(v==null)return a&&R!==null&&l.setItem(e,g.write(R)),R;if(!O&&c){const G=g.read(v);return xh(c)?c(G,R):x==="object"&&!Array.isArray(G)?lr(lr({},R),G):G}else return typeof v!="string"?v:g.read(v)}catch(v){p(v)}finally{w()}}}function ee(O){O&&O.key!==e||(k.value=q(O))}}function Xh(e){return Uh("(prefers-color-scheme: dark)",e)}var nr;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(nr||(nr={}));var ef=Object.defineProperty,ir=Object.getOwnPropertySymbols,tf=Object.prototype.hasOwnProperty,lf=Object.prototype.propertyIsEnumerable,or=(e,t,l)=>t in e?ef(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,nf=(e,t)=>{for(var l in t||(t={}))tf.call(t,l)&&or(e,l,t[l]);if(ir)for(var l of ir(t))lf.call(t,l)&&or(e,l,t[l]);return e};const of={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};nf({linear:wh},of);const je=()=>hh(),zs=Symbol(""),Di=()=>{const e=De(zs);if(!e)throw new Error("useDarkMode() is called without provider.");return e},rf=()=>{const e=je(),t=Xh(),l=Zh("vuepress-color-scheme",e.value.colorMode),n=B({get(){return e.value.colorModeSwitch?l.value==="auto"?t.value:l.value==="dark":e.value.colorMode==="dark"},set(i){i===t.value?l.value="auto":l.value=i?"dark":"light"}});Qt(zs,n),sf(n)},sf=e=>{const t=(l=e.value)=>{const n=window==null?void 0:window.document.querySelector("html");n==null||n.classList.toggle("dark",l)};Ze(()=>{dt(e,t,{immediate:!0})}),Ln(()=>t())},Ds=(...e)=>{const l=Xt().resolve(...e),n=l.matched[l.matched.length-1];if(!(n!=null&&n.redirect))return l;const{redirect:i}=n,o=re(i)?i(l):i,r=_e(o)?{path:o}:o;return Ds({hash:l.hash,query:l.query,params:l.params,...r})},Mi=e=>{const t=Ds(encodeURI(e));return{text:t.meta.title||e,link:t.name==="404"?e:t.fullPath}};let Kn=null,kl=null;const af={wait:()=>Kn,pending:()=>{Kn=new Promise(e=>kl=e)},resolve:()=>{kl==null||kl(),Kn=null,kl=null}},Ms=()=>af,Ns=Symbol("sidebarItems"),Ni=()=>{const e=De(Ns);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},cf=()=>{const e=je(),t=bt(),l=B(()=>uf(t.value,e.value));Qt(Ns,l)},uf=(e,t)=>{var i,o,r,s;const l=(o=(i=e.sidebar)!=null?i:t.sidebar)!=null?o:"auto",n=(s=(r=e.sidebarDepth)!=null?r:t.sidebarDepth)!=null?s:2;return e.home||l===!1?[]:l==="auto"?hf(n):te(l)?$s(l,n):Ii(l)?ff(l,n):[]},df=(e,t)=>({text:e.title,link:e.link,children:$i(e.children,t)}),$i=(e,t)=>t>0?e.map(l=>df(l,t-1)):[],hf=e=>{const t=It();return[{text:t.value.title,children:$i(t.value.headers,e)}]},$s=(e,t)=>{const l=Nt(),n=It(),i=o=>{var s;let r;if(_e(o)?r=Mi(o):r=o,r.children)return{...r,children:r.children.map(a=>i(a))};if(r.link===l.path){const a=((s=n.value.headers[0])==null?void 0:s.level)===1?n.value.headers[0].children:n.value.headers;return{...r,children:$i(a,t)}}return r};return e.map(o=>i(o))},ff=(e,t)=>{var o;const l=Nt(),n=fs(e,l.path),i=(o=e[n])!=null?o:[];return $s(i,t)},mf={},pf={class:"theme-default-content"};function gf(e,t){const l=yt("Content");return V(),X("div",pf,[ie(l)])}const vf=Le(mf,[["render",gf],["__file","HomeContent.vue"]]),bf={key:0,class:"features"},_f=he({__name:"HomeFeatures",setup(e){const t=bt(),l=B(()=>te(t.value.features)?t.value.features:[]);return(n,i)=>A(l).length?(V(),X("div",bf,[(V(!0),X(we,null,St(A(l),o=>(V(),X("div",{key:o.title,class:"feature"},[pe("h2",null,Se(o.title),1),pe("p",null,Se(o.details),1)]))),128))])):Pe("v-if",!0)}}),yf=Le(_f,[["__file","HomeFeatures.vue"]]),kf=["innerHTML"],xf=["textContent"],Ef=he({__name:"HomeFooter",setup(e){const t=bt(),l=B(()=>t.value.footer),n=B(()=>t.value.footerHtml);return(i,o)=>A(l)?(V(),X(we,{key:0},[Pe(" eslint-disable-next-line vue/no-v-html "),A(n)?(V(),X("div",{key:0,class:"footer",innerHTML:A(l)},null,8,kf)):(V(),X("div",{key:1,class:"footer",textContent:Se(A(l))},null,8,xf))],64)):Pe("v-if",!0)}}),Cf=Le(Ef,[["__file","HomeFooter.vue"]]),Rf=["href","rel","target","aria-label"],wf=he({inheritAttrs:!1}),Tf=he({...wf,__name:"AutoLink",props:{item:{type:Object,required:!0}},setup(e){const t=e,l=Nt(),n=Qs(),{item:i}=Cn(t),o=B(()=>ql(i.value.link)),r=B(()=>Au(i.value.link)||Iu(i.value.link)),s=B(()=>{if(!r.value){if(i.value.target)return i.value.target;if(o.value)return"_blank"}}),a=B(()=>s.value==="_blank"),c=B(()=>!o.value&&!r.value&&!a.value),u=B(()=>{if(!r.value){if(i.value.rel)return i.value.rel;if(a.value)return"noopener noreferrer"}}),h=B(()=>i.value.ariaLabel||i.value.text),f=B(()=>{const R=Object.keys(n.value.locales);return R.length?!R.some(x=>x===i.value.link):i.value.link!=="/"}),p=B(()=>f.value?l.path.startsWith(i.value.link):!1),k=B(()=>c.value?i.value.activeMatch?new RegExp(i.value.activeMatch).test(l.path):p.value:!1);return(R,x)=>{const g=yt("RouterLink"),b=yt("AutoLinkExternalIcon");return A(c)?(V(),Ae(g,ri({key:0,class:{"router-link-active":A(k)},to:A(i).link,"aria-label":A(h)},R.$attrs),{default:Me(()=>[Re(R.$slots,"before"),Dt(" "+Se(A(i).text)+" ",1),Re(R.$slots,"after")]),_:3},16,["class","to","aria-label"])):(V(),X("a",ri({key:1,class:"external-link",href:A(i).link,rel:A(u),target:A(s),"aria-label":A(h)},R.$attrs),[Re(R.$slots,"before"),Dt(" "+Se(A(i).text)+" ",1),A(a)?(V(),Ae(b,{key:0})):Pe("v-if",!0),Re(R.$slots,"after")],16,Rf))}}}),vt=Le(Tf,[["__file","AutoLink.vue"]]),Lf={class:"hero"},Pf={key:0,id:"main-title"},Of={key:1,class:"description"},Af={key:2,class:"actions"},If=he({__name:"HomeHero",setup(e){const t=bt(),l=Hi(),n=Di(),i=B(()=>n.value&&t.value.heroImageDark!==void 0?t.value.heroImageDark:t.value.heroImage),o=B(()=>t.value.heroText===null?null:t.value.heroText||l.value.title||"Hello"),r=B(()=>t.value.heroAlt||o.value||"hero"),s=B(()=>t.value.tagline===null?null:t.value.tagline||l.value.description||"Welcome to your VuePress site"),a=B(()=>te(t.value.actions)?t.value.actions.map(({text:u,link:h,type:f="primary"})=>({text:u,link:h,type:f})):[]),c=()=>{if(!i.value)return null;const u=ue("img",{src:Bi(i.value),alt:r.value});return t.value.heroImageDark===void 0?u:ue(ji,()=>u)};return(u,h)=>(V(),X("header",Lf,[ie(c),A(o)?(V(),X("h1",Pf,Se(A(o)),1)):Pe("v-if",!0),A(s)?(V(),X("p",Of,Se(A(s)),1)):Pe("v-if",!0),A(a).length?(V(),X("p",Af,[(V(!0),X(we,null,St(A(a),f=>(V(),Ae(vt,{key:f.text,class:Ye(["action-button",[f.type]]),item:f},null,8,["class","item"]))),128))])):Pe("v-if",!0)]))}}),Ff=Le(If,[["__file","HomeHero.vue"]]),Sf={class:"home"},zf=he({__name:"Home",setup(e){return(t,l)=>(V(),X("main",Sf,[ie(Ff),ie(yf),ie(vf),ie(Cf)]))}}),Df=Le(zf,[["__file","Home.vue"]]),Mf=he({__name:"NavbarBrand",setup(e){const t=Kl(),l=Hi(),n=je(),i=Di(),o=B(()=>n.value.home||t.value),r=B(()=>l.value.title),s=B(()=>i.value&&n.value.logoDark!==void 0?n.value.logoDark:n.value.logo),a=()=>{if(!s.value)return null;const c=ue("img",{class:"logo",src:Bi(s.value),alt:r.value});return n.value.logoDark===void 0?c:ue(ji,()=>c)};return(c,u)=>{const h=yt("RouterLink");return V(),Ae(h,{to:A(o)},{default:Me(()=>[ie(a),A(r)?(V(),X("span",{key:0,class:Ye(["site-name",{"can-hide":A(s)}])},Se(A(r)),3)):Pe("v-if",!0)]),_:1},8,["to"])}}}),Nf=Le(Mf,[["__file","NavbarBrand.vue"]]),$f=he({__name:"DropdownTransition",setup(e){const t=n=>{n.style.height=n.scrollHeight+"px"},l=n=>{n.style.height=""};return(n,i)=>(V(),Ae(Ul,{name:"dropdown",onEnter:t,onAfterEnter:l,onBeforeLeave:t},{default:Me(()=>[Re(n.$slots,"default")]),_:3}))}}),Vs=Le($f,[["__file","DropdownTransition.vue"]]),Vf=["aria-label"],Hf={class:"title"},jf=pe("span",{class:"arrow down"},null,-1),Bf=["aria-label"],Uf={class:"title"},qf={class:"navbar-dropdown"},Kf={class:"navbar-dropdown-subtitle"},Wf={key:1},Gf={class:"navbar-dropdown-subitem-wrapper"},Yf=he({__name:"NavbarDropdown",props:{item:{type:Object,required:!0}},setup(e){const t=e,{item:l}=Cn(t),n=B(()=>l.value.ariaLabel||l.value.text),i=ke(!1),o=Nt();dt(()=>o.path,()=>{i.value=!1});const r=a=>{a.detail===0?i.value=!i.value:i.value=!1},s=(a,c)=>c[c.length-1]===a;return(a,c)=>(V(),X("div",{class:Ye(["navbar-dropdown-wrapper",{open:i.value}])},[pe("button",{class:"navbar-dropdown-title",type:"button","aria-label":A(n),onClick:r},[pe("span",Hf,Se(A(l).text),1),jf],8,Vf),pe("button",{class:"navbar-dropdown-title-mobile",type:"button","aria-label":A(n),onClick:c[0]||(c[0]=u=>i.value=!i.value)},[pe("span",Uf,Se(A(l).text),1),pe("span",{class:Ye(["arrow",i.value?"down":"right"])},null,2)],8,Bf),ie(Vs,null,{default:Me(()=>[un(pe("ul",qf,[(V(!0),X(we,null,St(A(l).children,u=>(V(),X("li",{key:u.text,class:"navbar-dropdown-item"},[u.children?(V(),X(we,{key:0},[pe("h4",Kf,[u.link?(V(),Ae(vt,{key:0,item:u,onFocusout:h=>s(u,A(l).children)&&u.children.length===0&&(i.value=!1)},null,8,["item","onFocusout"])):(V(),X("span",Wf,Se(u.text),1))]),pe("ul",Gf,[(V(!0),X(we,null,St(u.children,h=>(V(),X("li",{key:h.link,class:"navbar-dropdown-subitem"},[ie(vt,{item:h,onFocusout:f=>s(h,u.children)&&s(u,A(l).children)&&(i.value=!1)},null,8,["item","onFocusout"])]))),128))])],64)):(V(),Ae(vt,{key:1,item:u,onFocusout:h=>s(u,A(l).children)&&(i.value=!1)},null,8,["item","onFocusout"]))]))),128))],512),[[pn,i.value]])]),_:1})],2))}}),Qf=Le(Yf,[["__file","NavbarDropdown.vue"]]),rr=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Jf=(e,t)=>{if(t.hash===e)return!0;const l=rr(t.path),n=rr(e);return l===n},Hs=(e,t)=>e.link&&Jf(e.link,t)?!0:e.children?e.children.some(l=>Hs(l,t)):!1,js=e=>!ql(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Zf={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Xf=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const l=js(e);return l!==null?Zf[l]:null},em=({docsRepo:e,docsBranch:t,docsDir:l,filePathRelative:n,editLinkPattern:i})=>{if(!n)return null;const o=Xf({docsRepo:e,editLinkPattern:i});return o?o.replace(/:repo/,ql(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,hs(`${ds(l)}/${n}`)):null},tm={key:0,class:"navbar-items"},lm=he({__name:"NavbarItems",setup(e){const t=()=>{const c=Xt(),u=Kl(),h=Hi(),f=je();return B(()=>{var b,w,D;const p=Object.keys(h.value.locales);if(p.length<2)return[];const k=c.currentRoute.value.path,R=c.currentRoute.value.fullPath,x=c.currentRoute.value.hash;return[{text:(b=f.value.selectLanguageText)!=null?b:"unknown language",ariaLabel:(D=(w=f.value.selectLanguageAriaLabel)!=null?w:f.value.selectLanguageText)!=null?D:"unknown language",children:p.map(q=>{var Q,E,M,I,se,H;const ee=(E=(Q=h.value.locales)==null?void 0:Q[q])!=null?E:{},O=(I=(M=f.value.locales)==null?void 0:M[q])!=null?I:{},v=`${ee.lang}`,G=(se=O.selectLanguageName)!=null?se:v;let U;if(v===h.value.lang)U=R;else{const le=k.replace(u.value,q);c.getRoutes().some(ae=>ae.path===le)?U=`${le}${x}`:U=(H=O.home)!=null?H:q}return{text:G,link:U}})}]})},l=()=>{const c=je(),u=B(()=>c.value.repo),h=B(()=>u.value?js(u.value):null),f=B(()=>u.value&&!ql(u.value)?`https://github.com/${u.value}`:u.value),p=B(()=>f.value?c.value.repoLabel?c.value.repoLabel:h.value===null?"Source":h.value:null);return B(()=>!f.value||!p.value?[]:[{text:p.value,link:f.value}])},n=c=>_e(c)?Mi(c):c.children?{...c,children:c.children.map(n)}:c,o=(()=>{const c=je();return B(()=>(c.value.navbar||[]).map(n))})(),r=t(),s=l(),a=B(()=>[...o.value,...r.value,...s.value]);return(c,u)=>A(a).length?(V(),X("nav",tm,[(V(!0),X(we,null,St(A(a),h=>(V(),X("div",{key:h.text,class:"navbar-item"},[h.children?(V(),Ae(Qf,{key:0,item:h},null,8,["item"])):(V(),Ae(vt,{key:1,item:h},null,8,["item"]))]))),128))])):Pe("v-if",!0)}}),Bs=Le(lm,[["__file","NavbarItems.vue"]]),nm=["title"],im={class:"icon",focusable:"false",viewBox:"0 0 32 32"},om=Hc('',9),rm=[om],sm={class:"icon",focusable:"false",viewBox:"0 0 32 32"},am=pe("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),cm=[am],um=he({__name:"ToggleColorModeButton",setup(e){const t=je(),l=Di(),n=()=>{l.value=!l.value};return(i,o)=>(V(),X("button",{class:"toggle-color-mode-button",title:A(t).toggleColorMode,onClick:n},[un((V(),X("svg",im,rm,512)),[[pn,!A(l)]]),un((V(),X("svg",sm,cm,512)),[[pn,A(l)]])],8,nm))}}),dm=Le(um,[["__file","ToggleColorModeButton.vue"]]),hm=["title"],fm=pe("div",{class:"icon","aria-hidden":"true"},[pe("span"),pe("span"),pe("span")],-1),mm=[fm],pm=he({__name:"ToggleSidebarButton",emits:["toggle"],setup(e){const t=je();return(l,n)=>(V(),X("div",{class:"toggle-sidebar-button",title:A(t).toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:n[0]||(n[0]=i=>l.$emit("toggle"))},mm,8,hm))}}),gm=Le(pm,[["__file","ToggleSidebarButton.vue"]]),vm=he({__name:"Navbar",emits:["toggle-sidebar"],setup(e){const t=je(),l=ke(null),n=ke(null),i=ke(0),o=B(()=>i.value?{maxWidth:i.value+"px"}:{});Ze(()=>{const a=r(l.value,"paddingLeft")+r(l.value,"paddingRight"),c=()=>{var u;window.innerWidth<=719?i.value=0:i.value=l.value.offsetWidth-a-(((u=n.value)==null?void 0:u.offsetWidth)||0)};c(),window.addEventListener("resize",c,!1),window.addEventListener("orientationchange",c,!1)});function r(s,a){var h,f,p;const c=(p=(f=(h=s==null?void 0:s.ownerDocument)==null?void 0:h.defaultView)==null?void 0:f.getComputedStyle(s,null))==null?void 0:p[a],u=Number.parseInt(c,10);return Number.isNaN(u)?0:u}return(s,a)=>{const c=yt("NavbarSearch");return V(),X("header",{ref_key:"navbar",ref:l,class:"navbar"},[ie(gm,{onToggle:a[0]||(a[0]=u=>s.$emit("toggle-sidebar"))}),pe("span",{ref_key:"navbarBrand",ref:n},[ie(Nf)],512),pe("div",{class:"navbar-items-wrapper",style:Nl(A(o))},[Re(s.$slots,"before"),ie(Bs,{class:"can-hide"}),Re(s.$slots,"after"),A(t).colorModeSwitch?(V(),Ae(dm,{key:0})):Pe("v-if",!0),ie(c)],4)],512)}}}),bm=Le(vm,[["__file","Navbar.vue"]]),_m={class:"page-meta"},ym={key:0,class:"meta-item edit-link"},km={key:1,class:"meta-item last-updated"},xm={class:"meta-item-label"},Em={class:"meta-item-info"},Cm={key:2,class:"meta-item contributors"},Rm={class:"meta-item-label"},wm={class:"meta-item-info"},Tm=["title"],Lm=Dt(", "),Pm=he({__name:"PageMeta",setup(e){const t=()=>{const a=je(),c=It(),u=bt();return B(()=>{var b,w,D;if(!((w=(b=u.value.editLink)!=null?b:a.value.editLink)!=null?w:!0))return null;const{repo:f,docsRepo:p=f,docsBranch:k="main",docsDir:R="",editLinkText:x}=a.value;if(!p)return null;const g=em({docsRepo:p,docsBranch:k,docsDir:R,filePathRelative:c.value.filePathRelative,editLinkPattern:(D=u.value.editLinkPattern)!=null?D:a.value.editLinkPattern});return g?{text:x!=null?x:"Edit this page",link:g}:null})},l=()=>{const a=je(),c=It(),u=bt();return B(()=>{var p,k,R,x;return!((k=(p=u.value.lastUpdated)!=null?p:a.value.lastUpdated)!=null?k:!0)||!((R=c.value.git)!=null&&R.updatedTime)?null:new Date((x=c.value.git)==null?void 0:x.updatedTime).toLocaleString()})},n=()=>{const a=je(),c=It(),u=bt();return B(()=>{var f,p,k,R;return((p=(f=u.value.contributors)!=null?f:a.value.contributors)!=null?p:!0)&&(R=(k=c.value.git)==null?void 0:k.contributors)!=null?R:null})},i=je(),o=t(),r=l(),s=n();return(a,c)=>{const u=yt("ClientOnly");return V(),X("footer",_m,[A(o)?(V(),X("div",ym,[ie(vt,{class:"meta-item-label",item:A(o)},null,8,["item"])])):Pe("v-if",!0),A(r)?(V(),X("div",km,[pe("span",xm,Se(A(i).lastUpdatedText)+": ",1),ie(u,null,{default:Me(()=>[pe("span",Em,Se(A(r)),1)]),_:1})])):Pe("v-if",!0),A(s)&&A(s).length?(V(),X("div",Cm,[pe("span",Rm,Se(A(i).contributorsText)+": ",1),pe("span",wm,[(V(!0),X(we,null,St(A(s),(h,f)=>(V(),X(we,{key:f},[pe("span",{class:"contributor",title:`email: ${h.email}`},Se(h.name),9,Tm),f!==A(s).length-1?(V(),X(we,{key:0},[Lm],64)):Pe("v-if",!0)],64))),128))])])):Pe("v-if",!0)])}}}),Om=Le(Pm,[["__file","PageMeta.vue"]]),Am={key:0,class:"page-nav"},Im={class:"inner"},Fm={key:0,class:"prev"},Sm={key:1,class:"next"},zm=he({__name:"PageNav",setup(e){const t=a=>a===!1?null:_e(a)?Mi(a):Ii(a)?a:!1,l=(a,c,u)=>{const h=a.findIndex(f=>f.link===c);if(h!==-1){const f=a[h+u];return f!=null&&f.link?f:null}for(const f of a)if(f.children){const p=l(f.children,c,u);if(p)return p}return null},n=bt(),i=Ni(),o=Nt(),r=B(()=>{const a=t(n.value.prev);return a!==!1?a:l(i.value,o.path,-1)}),s=B(()=>{const a=t(n.value.next);return a!==!1?a:l(i.value,o.path,1)});return(a,c)=>A(r)||A(s)?(V(),X("nav",Am,[pe("p",Im,[A(r)?(V(),X("span",Fm,[ie(vt,{item:A(r)},null,8,["item"])])):Pe("v-if",!0),A(s)?(V(),X("span",Sm,[ie(vt,{item:A(s)},null,8,["item"])])):Pe("v-if",!0)])])):Pe("v-if",!0)}}),Dm=Le(zm,[["__file","PageNav.vue"]]),Mm={class:"page"},Nm={class:"theme-default-content"},$m=he({__name:"Page",setup(e){return(t,l)=>{const n=yt("Content");return V(),X("main",Mm,[Re(t.$slots,"top"),pe("div",Nm,[Re(t.$slots,"content-top"),ie(n),Re(t.$slots,"content-bottom")]),ie(Om),ie(Dm),Re(t.$slots,"bottom")])}}}),Vm=Le($m,[["__file","Page.vue"]]),Hm=["onKeydown"],jm={class:"sidebar-item-children"},Bm=he({__name:"SidebarItem",props:{item:{type:Object,required:!0},depth:{type:Number,required:!1,default:0}},setup(e){const t=e,{item:l,depth:n}=Cn(t),i=Nt(),o=Xt(),r=B(()=>Hs(l.value,i)),s=B(()=>({"sidebar-item":!0,"sidebar-heading":n.value===0,active:r.value,collapsible:l.value.collapsible})),a=B(()=>l.value.collapsible?r.value:!0),[c,u]=Ph(a.value),h=p=>{l.value.collapsible&&(p.preventDefault(),u())},f=o.afterEach(p=>{Hl(()=>{c.value=a.value})});return Bl(()=>{f()}),(p,k)=>{var x;const R=yt("SidebarItem",!0);return V(),X("li",null,[A(l).link?(V(),Ae(vt,{key:0,class:Ye(A(s)),item:A(l)},null,8,["class","item"])):(V(),X("p",{key:1,tabindex:"0",class:Ye(A(s)),onClick:h,onKeydown:Eu(h,["enter"])},[Dt(Se(A(l).text)+" ",1),A(l).collapsible?(V(),X("span",{key:0,class:Ye(["arrow",A(c)?"down":"right"])},null,2)):Pe("v-if",!0)],42,Hm)),(x=A(l).children)!=null&&x.length?(V(),Ae(Vs,{key:2},{default:Me(()=>[un(pe("ul",jm,[(V(!0),X(we,null,St(A(l).children,g=>(V(),Ae(R,{key:`${A(n)}${g.text}${g.link}`,item:g,depth:A(n)+1},null,8,["item","depth"]))),128))],512),[[pn,A(c)]])]),_:1})):Pe("v-if",!0)])}}}),Um=Le(Bm,[["__file","SidebarItem.vue"]]),qm={key:0,class:"sidebar-items"},Km=he({__name:"SidebarItems",setup(e){const t=Nt(),l=Ni();return Ze(()=>{dt(()=>t.hash,n=>{const i=document.querySelector(".sidebar");if(!i)return;const o=document.querySelector(`.sidebar a.sidebar-item[href="${t.path}${n}"]`);if(!o)return;const{top:r,height:s}=i.getBoundingClientRect(),{top:a,height:c}=o.getBoundingClientRect();ar+s&&o.scrollIntoView(!1)})}),(n,i)=>A(l).length?(V(),X("ul",qm,[(V(!0),X(we,null,St(A(l),o=>(V(),Ae(Um,{key:`${o.text}${o.link}`,item:o},null,8,["item"]))),128))])):Pe("v-if",!0)}}),Wm=Le(Km,[["__file","SidebarItems.vue"]]),Gm={class:"sidebar"},Ym=he({__name:"Sidebar",setup(e){return(t,l)=>(V(),X("aside",Gm,[ie(Bs),Re(t.$slots,"top"),ie(Wm),Re(t.$slots,"bottom")]))}}),Qm=Le(Ym,[["__file","Sidebar.vue"]]),Jm=he({__name:"Layout",setup(e){const t=It(),l=bt(),n=je(),i=B(()=>l.value.navbar!==!1&&n.value.navbar!==!1),o=Ni(),r=ke(!1),s=x=>{r.value=typeof x=="boolean"?x:!r.value},a={x:0,y:0},c=x=>{a.x=x.changedTouches[0].clientX,a.y=x.changedTouches[0].clientY},u=x=>{const g=x.changedTouches[0].clientX-a.x,b=x.changedTouches[0].clientY-a.y;Math.abs(g)>Math.abs(b)&&Math.abs(g)>40&&(g>0&&a.x<=80?s(!0):s(!1))},h=B(()=>[{"no-navbar":!i.value,"no-sidebar":!o.value.length,"sidebar-open":r.value},l.value.pageClass]);let f;Ze(()=>{f=Xt().afterEach(()=>{s(!1)})}),Ln(()=>{f()});const p=Ms(),k=p.resolve,R=p.pending;return(x,g)=>(V(),X("div",{class:Ye(["theme-container",A(h)]),onTouchstart:c,onTouchend:u},[Re(x.$slots,"navbar",{},()=>[A(i)?(V(),Ae(bm,{key:0,onToggleSidebar:s},{before:Me(()=>[Re(x.$slots,"navbar-before")]),after:Me(()=>[Re(x.$slots,"navbar-after")]),_:3})):Pe("v-if",!0)]),pe("div",{class:"sidebar-mask",onClick:g[0]||(g[0]=b=>s(!1))}),Re(x.$slots,"sidebar",{},()=>[ie(Qm,null,{top:Me(()=>[Re(x.$slots,"sidebar-top")]),bottom:Me(()=>[Re(x.$slots,"sidebar-bottom")]),_:3})]),Re(x.$slots,"page",{},()=>[A(l).home?(V(),Ae(Df,{key:0})):(V(),Ae(Ul,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:A(k),onBeforeLeave:A(R)},{default:Me(()=>[(V(),Ae(Vm,{key:A(t).path},{top:Me(()=>[Re(x.$slots,"page-top")]),"content-top":Me(()=>[Re(x.$slots,"page-content-top")]),"content-bottom":Me(()=>[Re(x.$slots,"page-content-bottom")]),bottom:Me(()=>[Re(x.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34))}}),Zm=Le(Jm,[["__file","Layout.vue"]]),Xm={class:"theme-container"},ep={class:"page"},tp={class:"theme-default-content"},lp=pe("h1",null,"404",-1),np=he({__name:"NotFound",setup(e){var s,a,c;const t=Kl(),l=je(),n=(s=l.value.notFound)!=null?s:["Not Found"],i=()=>n[Math.floor(Math.random()*n.length)],o=(a=l.value.home)!=null?a:t.value,r=(c=l.value.backToHome)!=null?c:"Back to home";return(u,h)=>{const f=yt("RouterLink");return V(),X("div",Xm,[pe("main",ep,[pe("div",tp,[lp,pe("blockquote",null,Se(i()),1),ie(f,{to:A(o)},{default:Me(()=>[Dt(Se(A(r)),1)]),_:1},8,["to"])])])])}}}),ip=Le(np,[["__file","NotFound.vue"]]);const op=Mt({enhance({app:e,router:t}){e.component("Badge",gh),e.component("CodeGroup",vh),e.component("CodeGroupItem",kh),e.component("AutoLinkExternalIcon",()=>{const n=e.component("ExternalLinkIcon");return n?ue(n):null}),e.component("NavbarSearch",()=>{const n=e.component("Docsearch")||e.component("SearchBox");return n?ue(n):null});const l=t.options.scrollBehavior;t.options.scrollBehavior=async(...n)=>(await Ms().wait(),l(...n))},setup(){rf(),cf()},layouts:{Layout:Zm,NotFound:ip}}),rp=(e,t)=>t.some(l=>{if(_e(l))return l===e.key;const{key:n,ctrl:i=!1,shift:o=!1,alt:r=!1}=l;return n===e.key&&i===e.ctrlKey&&o===e.shiftKey&&r===e.altKey}),sp=/[^\x00-\x7F]/,ap=e=>e.split(/\s+/g).map(t=>t.trim()).filter(t=>!!t),sr=e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),ar=(e,t)=>{const l=t.join(" "),n=ap(e);if(sp.test(e))return n.some(r=>l.toLowerCase().indexOf(r)>-1);const i=e.endsWith(" ");return new RegExp(n.map((r,s)=>n.length===s+1&&!i?`(?=.*\\b${sr(r)})`:`(?=.*\\b${sr(r)}\\b)`).join("")+".+","gi").test(l)},cp=({input:e,hotKeys:t})=>{if(t.value.length===0)return;const l=n=>{!e.value||rp(n,t.value)&&!e.value.contains(n.target)&&(n.preventDefault(),e.value.focus())};Ze(()=>{document.addEventListener("keydown",l)}),Bl(()=>{document.removeEventListener("keydown",l)})},up=[{title:"Home",headers:[],path:"/en/",pathLocale:"/en/",extraFields:[]},{title:"\u9996\u9875",headers:[],path:"/zh-cn/",pathLocale:"/zh-cn/",extraFields:[]},{title:"About this Document",headers:[{level:2,title:"License",slug:"license",link:"#license",children:[]}],path:"/en/about/about.html",pathLocale:"/en/",extraFields:[]},{title:"Changelog",headers:[{level:3,title:"1.0.2 | 2023.04.25",slug:"_1-0-2-2023-04-25",link:"#_1-0-2-2023-04-25",children:[]},{level:3,title:"1.0.1 | 2023.04.16",slug:"_1-0-1-2023-04-16",link:"#_1-0-1-2023-04-16",children:[]},{level:3,title:"1.0.0 | 2023.01.26",slug:"_1-0-0-2023-01-26",link:"#_1-0-0-2023-01-26",children:[]}],path:"/en/about/changelog.html",pathLocale:"/en/",extraFields:[]},{title:"Contact Us",headers:[{level:2,title:"Help with Maintenance",slug:"help-with-maintenance",link:"#help-with-maintenance",children:[]}],path:"/en/about/contacts.html",pathLocale:"/en/",extraFields:[]},{title:"Looking for Future",headers:[{level:2,title:"Future Plans",slug:"future-plans",link:"#future-plans",children:[{level:3,title:"Automatically Generate Reflection Code",slug:"automatically-generate-reflection-code",link:"#automatically-generate-reflection-code",children:[]}]}],path:"/en/about/future.html",pathLocale:"/en/",extraFields:[]},{title:"Features",headers:[{level:2,title:"Class Extensions",slug:"class-extensions",link:"#class-extensions",children:[{level:3,title:"Object Conversion",slug:"object-conversion",link:"#object-conversion",children:[]},{level:3,title:"Existential Judgment",slug:"existential-judgment",link:"#existential-judgment",children:[]},{level:3,title:"Vague Search",slug:"vague-search",link:"#vague-search",children:[]}]},{level:2,title:"Member Extensions",slug:"member-extensions",link:"#member-extensions",children:[{level:3,title:"Find and Reflection",slug:"find-and-reflection",link:"#find-and-reflection",children:[]},{level:3,title:"Optional Find Conditions",slug:"optional-find-conditions",link:"#optional-find-conditions",children:[]},{level:3,title:"Find in Super Class",slug:"find-in-super-class",link:"#find-in-super-class",children:[]},{level:3,title:"Vague Find",slug:"vague-find",link:"#vague-find",children:[]},{level:3,title:"Multiple Find",slug:"multiple-find",link:"#multiple-find",children:[]},{level:3,title:"Static Bytecode",slug:"static-bytecode",link:"#static-bytecode",children:[]},{level:3,title:"Obfuscated Bytecode",slug:"obfuscated-bytecode",link:"#obfuscated-bytecode",children:[]},{level:3,title:"Directly Called",slug:"directly-called",link:"#directly-called",children:[]},{level:3,title:"Find Again",slug:"find-again",link:"#find-again",children:[]},{level:3,title:"Relative Matching",slug:"relative-matching",link:"#relative-matching",children:[]},{level:3,title:"Calling Generics",slug:"calling-generics",link:"#calling-generics",children:[]},{level:3,title:"Pay Attention of Trap",slug:"pay-attention-of-trap",link:"#pay-attention-of-trap",children:[]}]},{level:2,title:"Common Type Extensions",slug:"common-type-extensions",link:"#common-type-extensions",children:[]}],path:"/en/api/features.html",pathLocale:"/en/",extraFields:[]},{title:"Document Introduce",headers:[{level:2,title:"Function Description",slug:"function-description",link:"#function-description",children:[]},{level:2,title:"Function Example Description",slug:"function-example-description",link:"#function-example-description",children:[]},{level:2,title:"Change Record Description",slug:"change-record-description",link:"#change-record-description",children:[]},{level:2,title:"Related Symbols Description",slug:"related-symbols-description",link:"#related-symbols-description",children:[]}],path:"/en/api/home.html",pathLocale:"/en/",extraFields:[]},{title:"API Basic Configs",headers:[{level:2,title:"Get the API Version",slug:"get-the-api-version",link:"#get-the-api-version",children:[]},{level:2,title:"Configure API Related Functions",slug:"configure-api-related-functions",link:"#configure-api-related-functions",children:[{level:3,title:"Custom Debug Log Tag",slug:"custom-debug-log-tag",link:"#custom-debug-log-tag",children:[]},{level:3,title:"Enable or Disable Debug Mode",slug:"enable-or-disable-debug-mode",link:"#enable-or-disable-debug-mode",children:[]},{level:3,title:"Enable or Disable Debug Logs",slug:"enable-or-disable-debug-logs",link:"#enable-or-disable-debug-logs",children:[]},{level:3,title:"Use the configs Method to Configure",slug:"use-the-configs-method-to-configure",link:"#use-the-configs-method-to-configure",children:[]}]}],path:"/en/config/api-example.html",pathLocale:"/en/",extraFields:[]},{title:"API Exception Handling",headers:[{level:2,title:"Non-Blocking Exceptions",slug:"non-blocking-exceptions",link:"#non-blocking-exceptions",children:[]},{level:2,title:"Blocking Exceptions",slug:"blocking-exceptions",link:"#blocking-exceptions",children:[]}],path:"/en/config/api-exception.html",pathLocale:"/en/",extraFields:[]},{title:"Introduce",headers:[{level:2,title:"Background",slug:"background",link:"#background",children:[]},{level:2,title:"Usage",slug:"usage",link:"#usage",children:[]},{level:2,title:"Language Requirement",slug:"language-requirement",link:"#language-requirement",children:[]},{level:2,title:"Source of Inspiration",slug:"source-of-inspiration",link:"#source-of-inspiration",children:[]}],path:"/en/guide/home.html",pathLocale:"/en/",extraFields:[]},{title:"Quick Start",headers:[{level:2,title:"Environment Requirements",slug:"environment-requirements",link:"#environment-requirements",children:[]},{level:2,title:"Project Requirements",slug:"project-requirements",link:"#project-requirements",children:[]},{level:2,title:"Integration Dependencies",slug:"integration-dependencies",link:"#integration-dependencies",children:[]}],path:"/en/guide/quick-start.html",pathLocale:"/en/",extraFields:[]},{title:"\u5173\u4E8E\u6B64\u6587\u6863",headers:[{level:2,title:"License",slug:"license",link:"#license",children:[]}],path:"/zh-cn/about/about.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u66F4\u65B0\u65E5\u5FD7",headers:[{level:3,title:"1.0.2 | 2023.04.25",slug:"_1-0-2-2023-04-25",link:"#_1-0-2-2023-04-25",children:[]},{level:3,title:"1.0.1 | 2023.04.16",slug:"_1-0-1-2023-04-16",link:"#_1-0-1-2023-04-16",children:[]},{level:3,title:"1.0.0 | 2023.01.26",slug:"_1-0-0-2023-01-26",link:"#_1-0-0-2023-01-26",children:[]}],path:"/zh-cn/about/changelog.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u8054\u7CFB\u6211\u4EEC",headers:[{level:2,title:"\u52A9\u529B\u7EF4\u62A4",slug:"\u52A9\u529B\u7EF4\u62A4",link:"#\u52A9\u529B\u7EF4\u62A4",children:[]}],path:"/zh-cn/about/contacts.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u5C55\u671B\u672A\u6765",headers:[{level:2,title:"\u672A\u6765\u7684\u8BA1\u5212",slug:"\u672A\u6765\u7684\u8BA1\u5212",link:"#\u672A\u6765\u7684\u8BA1\u5212",children:[{level:3,title:"\u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801",slug:"\u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801",link:"#\u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801",children:[]}]}],path:"/zh-cn/about/future.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u529F\u80FD\u4ECB\u7ECD",headers:[{level:2,title:"Class \u6269\u5C55",slug:"class-\u6269\u5C55",link:"#class-\u6269\u5C55",children:[{level:3,title:"\u5BF9\u8C61\u8F6C\u6362",slug:"\u5BF9\u8C61\u8F6C\u6362",link:"#\u5BF9\u8C61\u8F6C\u6362",children:[]},{level:3,title:"\u5B58\u5728\u5224\u65AD",slug:"\u5B58\u5728\u5224\u65AD",link:"#\u5B58\u5728\u5224\u65AD",children:[]},{level:3,title:"\u6A21\u7CCA\u67E5\u627E",slug:"\u6A21\u7CCA\u67E5\u627E",link:"#\u6A21\u7CCA\u67E5\u627E",children:[]}]},{level:2,title:"Member \u6269\u5C55",slug:"member-\u6269\u5C55",link:"#member-\u6269\u5C55",children:[{level:3,title:"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528",slug:"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528",link:"#\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528",children:[]},{level:3,title:"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6",slug:"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6",link:"#\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6",children:[]},{level:3,title:"\u5728\u7236\u7C7B\u67E5\u627E",slug:"\u5728\u7236\u7C7B\u67E5\u627E",link:"#\u5728\u7236\u7C7B\u67E5\u627E",children:[]},{level:3,title:"\u6A21\u7CCA\u67E5\u627E",slug:"\u6A21\u7CCA\u67E5\u627E-1",link:"#\u6A21\u7CCA\u67E5\u627E-1",children:[]},{level:3,title:"\u591A\u91CD\u67E5\u627E",slug:"\u591A\u91CD\u67E5\u627E-1",link:"#\u591A\u91CD\u67E5\u627E-1",children:[]},{level:3,title:"\u9759\u6001\u5B57\u8282\u7801",slug:"\u9759\u6001\u5B57\u8282\u7801",link:"#\u9759\u6001\u5B57\u8282\u7801",children:[]},{level:3,title:"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801",slug:"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801",link:"#\u6DF7\u6DC6\u7684\u5B57\u8282\u7801",children:[]},{level:3,title:"\u76F4\u63A5\u8C03\u7528",slug:"\u76F4\u63A5\u8C03\u7528",link:"#\u76F4\u63A5\u8C03\u7528",children:[]},{level:3,title:"\u518D\u6B21\u67E5\u627E",slug:"\u518D\u6B21\u67E5\u627E",link:"#\u518D\u6B21\u67E5\u627E",children:[]},{level:3,title:"\u76F8\u5BF9\u5339\u914D",slug:"\u76F8\u5BF9\u5339\u914D",link:"#\u76F8\u5BF9\u5339\u914D",children:[]},{level:3,title:"\u8C03\u7528\u6CDB\u578B",slug:"\u8C03\u7528\u6CDB\u578B",link:"#\u8C03\u7528\u6CDB\u578B",children:[]},{level:3,title:"\u6CE8\u610F\u8BEF\u533A",slug:"\u6CE8\u610F\u8BEF\u533A",link:"#\u6CE8\u610F\u8BEF\u533A",children:[]}]},{level:2,title:"\u5E38\u7528\u7C7B\u578B\u6269\u5C55",slug:"\u5E38\u7528\u7C7B\u578B\u6269\u5C55",link:"#\u5E38\u7528\u7C7B\u578B\u6269\u5C55",children:[]}],path:"/zh-cn/api/features.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u6587\u6863\u4ECB\u7ECD",headers:[{level:2,title:"\u529F\u80FD\u63CF\u8FF0\u8BF4\u660E",slug:"\u529F\u80FD\u63CF\u8FF0\u8BF4\u660E",link:"#\u529F\u80FD\u63CF\u8FF0\u8BF4\u660E",children:[]},{level:2,title:"\u529F\u80FD\u793A\u4F8B\u8BF4\u660E",slug:"\u529F\u80FD\u793A\u4F8B\u8BF4\u660E",link:"#\u529F\u80FD\u793A\u4F8B\u8BF4\u660E",children:[]},{level:2,title:"\u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E",slug:"\u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E",link:"#\u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E",children:[]},{level:2,title:"\u76F8\u5173\u7B26\u53F7\u8BF4\u660E",slug:"\u76F8\u5173\u7B26\u53F7\u8BF4\u660E",link:"#\u76F8\u5173\u7B26\u53F7\u8BF4\u660E",children:[]}],path:"/zh-cn/api/home.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"API \u57FA\u672C\u914D\u7F6E",headers:[{level:2,title:"\u83B7\u53D6 API \u7248\u672C",slug:"\u83B7\u53D6-api-\u7248\u672C",link:"#\u83B7\u53D6-api-\u7248\u672C",children:[]},{level:2,title:"\u914D\u7F6E API \u76F8\u5173\u529F\u80FD",slug:"\u914D\u7F6E-api-\u76F8\u5173\u529F\u80FD",link:"#\u914D\u7F6E-api-\u76F8\u5173\u529F\u80FD",children:[{level:3,title:"\u81EA\u5B9A\u4E49\u8C03\u8BD5\u65E5\u5FD7\u6807\u7B7E",slug:"\u81EA\u5B9A\u4E49\u8C03\u8BD5\u65E5\u5FD7\u6807\u7B7E",link:"#\u81EA\u5B9A\u4E49\u8C03\u8BD5\u65E5\u5FD7\u6807\u7B7E",children:[]},{level:3,title:"\u542F\u7528\u6216\u7981\u7528 Debug \u6A21\u5F0F",slug:"\u542F\u7528\u6216\u7981\u7528-debug-\u6A21\u5F0F",link:"#\u542F\u7528\u6216\u7981\u7528-debug-\u6A21\u5F0F",children:[]},{level:3,title:"\u542F\u7528\u6216\u7981\u7528\u8C03\u8BD5\u65E5\u5FD7\u7684\u8F93\u51FA\u529F\u80FD",slug:"\u542F\u7528\u6216\u7981\u7528\u8C03\u8BD5\u65E5\u5FD7\u7684\u8F93\u51FA\u529F\u80FD",link:"#\u542F\u7528\u6216\u7981\u7528\u8C03\u8BD5\u65E5\u5FD7\u7684\u8F93\u51FA\u529F\u80FD",children:[]},{level:3,title:"\u4F7F\u7528 configs \u65B9\u6CD5\u914D\u7F6E",slug:"\u4F7F\u7528-configs-\u65B9\u6CD5\u914D\u7F6E",link:"#\u4F7F\u7528-configs-\u65B9\u6CD5\u914D\u7F6E",children:[]}]}],path:"/zh-cn/config/api-example.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"API \u5F02\u5E38\u5904\u7406",headers:[{level:2,title:"\u975E\u963B\u65AD\u5F02\u5E38",slug:"\u975E\u963B\u65AD\u5F02\u5E38",link:"#\u975E\u963B\u65AD\u5F02\u5E38",children:[]},{level:2,title:"\u963B\u65AD\u5F02\u5E38",slug:"\u963B\u65AD\u5F02\u5E38",link:"#\u963B\u65AD\u5F02\u5E38",children:[]}],path:"/zh-cn/config/api-exception.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u4ECB\u7ECD",headers:[{level:2,title:"\u80CC\u666F",slug:"\u80CC\u666F",link:"#\u80CC\u666F",children:[]},{level:2,title:"\u7528\u9014",slug:"\u7528\u9014",link:"#\u7528\u9014",children:[]},{level:2,title:"\u8BED\u8A00\u8981\u6C42",slug:"\u8BED\u8A00\u8981\u6C42",link:"#\u8BED\u8A00\u8981\u6C42",children:[]},{level:2,title:"\u7075\u611F\u6765\u6E90",slug:"\u7075\u611F\u6765\u6E90",link:"#\u7075\u611F\u6765\u6E90",children:[]}],path:"/zh-cn/guide/home.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u5FEB\u901F\u5F00\u59CB",headers:[{level:2,title:"\u73AF\u5883\u8981\u6C42",slug:"\u73AF\u5883\u8981\u6C42",link:"#\u73AF\u5883\u8981\u6C42",children:[]},{level:2,title:"\u9879\u76EE\u8981\u6C42",slug:"\u9879\u76EE\u8981\u6C42",link:"#\u9879\u76EE\u8981\u6C42",children:[]},{level:2,title:"\u96C6\u6210\u4F9D\u8D56",slug:"\u96C6\u6210\u4F9D\u8D56",link:"#\u96C6\u6210\u4F9D\u8D56",children:[]}],path:"/zh-cn/guide/quick-start.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"YukiReflection - object",headers:[{level:2,title:"API_VERSION_NAME - field",slug:"api-version-name-field",link:"#api-version-name-field",children:[]},{level:2,title:"API_VERSION_CODE - field",slug:"api-version-code-field",link:"#api-version-code-field",children:[]},{level:2,title:"Configs - object",slug:"configs-object",link:"#configs-object",children:[{level:3,title:"debugTag - field",slug:"debugtag-field",link:"#debugtag-field",children:[]},{level:3,title:"isDebug - field",slug:"isdebug-field",link:"#isdebug-field",children:[]},{level:3,title:"isAllowPrintingLogs - field",slug:"isallowprintinglogs-field",link:"#isallowprintinglogs-field",children:[]}]},{level:2,title:"configs - method",slug:"configs-method",link:"#configs-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/YukiReflection.html",pathLocale:"/en/",extraFields:[]},{title:"YukiReflection - object",headers:[{level:2,title:"API_VERSION_NAME - field",slug:"api-version-name-field",link:"#api-version-name-field",children:[]},{level:2,title:"API_VERSION_CODE - field",slug:"api-version-code-field",link:"#api-version-code-field",children:[]},{level:2,title:"Configs - object",slug:"configs-object",link:"#configs-object",children:[{level:3,title:"debugTag - field",slug:"debugtag-field",link:"#debugtag-field",children:[]},{level:3,title:"isDebug - field",slug:"isdebug-field",link:"#isdebug-field",children:[]},{level:3,title:"isAllowPrintingLogs - field",slug:"isallowprintinglogs-field",link:"#isallowprintinglogs-field",children:[]}]},{level:2,title:"configs - method",slug:"configs-method",link:"#configs-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"CurrentClass - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"generic - method",slug:"generic-method",link:"#generic-method",children:[]},{level:2,title:"generic - method",slug:"generic-method-1",link:"#generic-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"SuperClass - class",slug:"superclass-class",link:"#superclass-class",children:[{level:3,title:"name - field",slug:"name-field-1",link:"#name-field-1",children:[]},{level:3,title:"simpleName - field",slug:"simplename-field-1",link:"#simplename-field-1",children:[]},{level:3,title:"generic - method",slug:"generic-method-2",link:"#generic-method-2",children:[]},{level:3,title:"generic - method",slug:"generic-method-3",link:"#generic-method-3",children:[]},{level:3,title:"field - method",slug:"field-method-1",link:"#field-method-1",children:[]},{level:3,title:"method - method",slug:"method-method-1",link:"#method-method-1",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",pathLocale:"/en/",extraFields:[]},{title:"GenericClass - class",headers:[{level:2,title:"argument - method",slug:"argument-method",link:"#argument-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html",pathLocale:"/en/",extraFields:[]},{title:"VariousClass - class",headers:[{level:2,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:2,title:"getOrNull - method",slug:"getornull-method",link:"#getornull-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html",pathLocale:"/en/",extraFields:[]},{title:"ReflectionFactory - kt",headers:[{level:2,title:"ClassLoader.listOfClasses - ext-method",slug:"classloader-listofclasses-ext-method",link:"#classloader-listofclasses-ext-method",children:[]},{level:2,title:"ClassLoader.searchClass - ext-method",slug:"classloader-searchclass-ext-method",link:"#classloader-searchclass-ext-method",children:[]},{level:2,title:"Class.hasExtends - ext-field",slug:"class-hasextends-ext-field",link:"#class-hasextends-ext-field",children:[]},{level:2,title:"Class?.extends - ext-method",slug:"class-extends-ext-method",link:"#class-extends-ext-method",children:[]},{level:2,title:"Class?.notExtends - ext-method",slug:"class-notextends-ext-method",link:"#class-notextends-ext-method",children:[]},{level:2,title:"Class?.implements - ext-method",slug:"class-implements-ext-method",link:"#class-implements-ext-method",children:[]},{level:2,title:"Class?.notImplements - ext-method",slug:"class-notimplements-ext-method",link:"#class-notimplements-ext-method",children:[]},{level:2,title:"Class.toJavaPrimitiveType - ext-method",slug:"class-tojavaprimitivetype-ext-method",link:"#class-tojavaprimitivetype-ext-method",children:[]},{level:2,title:"String.toClass - ext-method",slug:"string-toclass-ext-method",link:"#string-toclass-ext-method",children:[]},{level:2,title:"String.toClassOrNull - ext-method",slug:"string-toclassornull-ext-method",link:"#string-toclassornull-ext-method",children:[]},{level:2,title:"classOf - method",slug:"classof-method",link:"#classof-method",children:[]},{level:2,title:"String.hasClass - ext-method",slug:"string-hasclass-ext-method",link:"#string-hasclass-ext-method",children:[]},{level:2,title:"Class.hasField - ext-method",slug:"class-hasfield-ext-method",link:"#class-hasfield-ext-method",children:[]},{level:2,title:"Class.hasMethod - ext-method",slug:"class-hasmethod-ext-method",link:"#class-hasmethod-ext-method",children:[]},{level:2,title:"Class.hasConstructor - ext-method",slug:"class-hasconstructor-ext-method",link:"#class-hasconstructor-ext-method",children:[]},{level:2,title:"Member.hasModifiers - ext-method",slug:"member-hasmodifiers-ext-method",link:"#member-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.hasModifiers - ext-method",slug:"class-hasmodifiers-ext-method",link:"#class-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.field - ext-method",slug:"class-field-ext-method",link:"#class-field-ext-method",children:[]},{level:2,title:"Class.method - ext-method",slug:"class-method-ext-method",link:"#class-method-ext-method",children:[]},{level:2,title:"Class.constructor - ext-method",slug:"class-constructor-ext-method",link:"#class-constructor-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method",link:"#class-generic-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method-1",link:"#class-generic-ext-method-1",children:[]},{level:2,title:"Any.current - ext-method",slug:"any-current-ext-method",link:"#any-current-ext-method",children:[]},{level:2,title:"Class.buildOf - ext-method",slug:"class-buildof-ext-method",link:"#class-buildof-ext-method",children:[]},{level:2,title:"Class.allMethods - ext-method",slug:"class-allmethods-ext-method",link:"#class-allmethods-ext-method",children:[]},{level:2,title:"Class.allConstructors - ext-method",slug:"class-allconstructors-ext-method",link:"#class-allconstructors-ext-method",children:[]},{level:2,title:"Class.allFields - ext-method",slug:"class-allfields-ext-method",link:"#class-allfields-ext-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",pathLocale:"/en/",extraFields:[]},{title:"CurrentClass - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"generic - method",slug:"generic-method",link:"#generic-method",children:[]},{level:2,title:"generic - method",slug:"generic-method-1",link:"#generic-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"SuperClass - class",slug:"superclass-class",link:"#superclass-class",children:[{level:3,title:"name - field",slug:"name-field-1",link:"#name-field-1",children:[]},{level:3,title:"simpleName - field",slug:"simplename-field-1",link:"#simplename-field-1",children:[]},{level:3,title:"generic - method",slug:"generic-method-2",link:"#generic-method-2",children:[]},{level:3,title:"generic - method",slug:"generic-method-3",link:"#generic-method-3",children:[]},{level:3,title:"field - method",slug:"field-method-1",link:"#field-method-1",children:[]},{level:3,title:"method - method",slug:"method-method-1",link:"#method-method-1",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"GenericClass - class",headers:[{level:2,title:"argument - method",slug:"argument-method",link:"#argument-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"VariousClass - class",headers:[{level:2,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:2,title:"getOrNull - method",slug:"getornull-method",link:"#getornull-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ReflectionFactory - kt",headers:[{level:2,title:"ClassLoader.listOfClasses - ext-method",slug:"classloader-listofclasses-ext-method",link:"#classloader-listofclasses-ext-method",children:[]},{level:2,title:"ClassLoader.searchClass - ext-method",slug:"classloader-searchclass-ext-method",link:"#classloader-searchclass-ext-method",children:[]},{level:2,title:"Class.hasExtends - ext-field",slug:"class-hasextends-ext-field",link:"#class-hasextends-ext-field",children:[]},{level:2,title:"Class?.extends - ext-method",slug:"class-extends-ext-method",link:"#class-extends-ext-method",children:[]},{level:2,title:"Class?.notExtends - ext-method",slug:"class-notextends-ext-method",link:"#class-notextends-ext-method",children:[]},{level:2,title:"Class?.implements - ext-method",slug:"class-implements-ext-method",link:"#class-implements-ext-method",children:[]},{level:2,title:"Class?.notImplements - ext-method",slug:"class-notimplements-ext-method",link:"#class-notimplements-ext-method",children:[]},{level:2,title:"Class.toJavaPrimitiveType - ext-method",slug:"class-tojavaprimitivetype-ext-method",link:"#class-tojavaprimitivetype-ext-method",children:[]},{level:2,title:"String.toClass - ext-method",slug:"string-toclass-ext-method",link:"#string-toclass-ext-method",children:[]},{level:2,title:"String.toClassOrNull - ext-method",slug:"string-toclassornull-ext-method",link:"#string-toclassornull-ext-method",children:[]},{level:2,title:"classOf - method",slug:"classof-method",link:"#classof-method",children:[]},{level:2,title:"String.hasClass - ext-method",slug:"string-hasclass-ext-method",link:"#string-hasclass-ext-method",children:[]},{level:2,title:"Class.hasField - ext-method",slug:"class-hasfield-ext-method",link:"#class-hasfield-ext-method",children:[]},{level:2,title:"Class.hasMethod - ext-method",slug:"class-hasmethod-ext-method",link:"#class-hasmethod-ext-method",children:[]},{level:2,title:"Class.hasConstructor - ext-method",slug:"class-hasconstructor-ext-method",link:"#class-hasconstructor-ext-method",children:[]},{level:2,title:"Member.hasModifiers - ext-method",slug:"member-hasmodifiers-ext-method",link:"#member-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.hasModifiers - ext-method",slug:"class-hasmodifiers-ext-method",link:"#class-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.field - ext-method",slug:"class-field-ext-method",link:"#class-field-ext-method",children:[]},{level:2,title:"Class.method - ext-method",slug:"class-method-ext-method",link:"#class-method-ext-method",children:[]},{level:2,title:"Class.constructor - ext-method",slug:"class-constructor-ext-method",link:"#class-constructor-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method",link:"#class-generic-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method-1",link:"#class-generic-ext-method-1",children:[]},{level:2,title:"Any.current - ext-method",slug:"any-current-ext-method",link:"#any-current-ext-method",children:[]},{level:2,title:"Class.buildOf - ext-method",slug:"class-buildof-ext-method",link:"#class-buildof-ext-method",children:[]},{level:2,title:"Class.allMethods - ext-method",slug:"class-allmethods-ext-method",link:"#class-allmethods-ext-method",children:[]},{level:2,title:"Class.allConstructors - ext-method",slug:"class-allconstructors-ext-method",link:"#class-allconstructors-ext-method",children:[]},{level:2,title:"Class.allFields - ext-method",slug:"class-allfields-ext-method",link:"#class-allfields-ext-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"BaseFinder - class",headers:[{level:2,title:"BaseFinder.IndexTypeCondition - class",slug:"basefinder-indextypecondition-class",link:"#basefinder-indextypecondition-class",children:[{level:3,title:"index - method",slug:"index-method",link:"#index-method",children:[]},{level:3,title:"index - method",slug:"index-method-1",link:"#index-method-1",children:[]},{level:3,title:"IndexTypeConditionSort - class",slug:"indextypeconditionsort-class",link:"#indextypeconditionsort-class",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",pathLocale:"/en/",extraFields:[]},{title:"DexClassFinder - class",headers:[{level:2,title:"companion object - object",slug:"companion-object-object",link:"#companion-object-object",children:[{level:3,title:"clearCache - method",slug:"clearcache-method",link:"#clearcache-method",children:[]}]},{level:2,title:"fullName - field",slug:"fullname-field",link:"#fullname-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"singleName - field",slug:"singlename-field",link:"#singlename-field",children:[]},{level:2,title:"from - method",slug:"from-method",link:"#from-method",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method",link:"#fullname-method",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method",link:"#simplename-method",children:[]},{level:2,title:"singleName - method",slug:"singlename-method",link:"#singlename-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method-1",link:"#fullname-method-1",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method-1",link:"#simplename-method-1",children:[]},{level:2,title:"singleName - method",slug:"singlename-method-1",link:"#singlename-method-1",children:[]},{level:2,title:"extends - method",slug:"extends-method",link:"#extends-method",children:[]},{level:2,title:"extends - method",slug:"extends-method-1",link:"#extends-method-1",children:[]},{level:2,title:"implements - method",slug:"implements-method",link:"#implements-method",children:[]},{level:2,title:"implements - method",slug:"implements-method-1",link:"#implements-method-1",children:[]},{level:2,title:"anonymous - method",slug:"anonymous-method",link:"#anonymous-method",children:[]},{level:2,title:"noExtends - method",slug:"noextends-method",link:"#noextends-method",children:[]},{level:2,title:"noImplements - method",slug:"noimplements-method",link:"#noimplements-method",children:[]},{level:2,title:"noSuper - method",slug:"nosuper-method",link:"#nosuper-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method",link:"#enclosing-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method-1",link:"#enclosing-method-1",children:[]},{level:2,title:"FromPackageRules - class",slug:"frompackagerules-class",link:"#frompackagerules-class",children:[{level:3,title:"absolute - method",slug:"absolute-method",link:"#absolute-method",children:[]}]},{level:2,title:"ClassNameRules - class",slug:"classnamerules-class",link:"#classnamerules-class",children:[{level:3,title:"optional - method",slug:"optional-method",link:"#optional-method",children:[]}]},{level:2,title:"member - method",slug:"member-method",link:"#member-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:2,title:"Result - class",slug:"result-class",link:"#result-class",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"all - method",slug:"all-method-1",link:"#all-method-1",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"onNoClassDefFoundError - method",slug:"onnoclassdeffounderror-method",link:"#onnoclassdeffounderror-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",pathLocale:"/en/",extraFields:[]},{title:"ConstructorFinder - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchConstructor - method",slug:"onnosuchconstructor-method",link:"#onnosuchconstructor-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",pathLocale:"/en/",extraFields:[]},{title:"FieldFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]},{level:2,title:"type - method",slug:"type-method-1",link:"#type-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchField - method",slug:"onnosuchfield-method",link:"#onnosuchfield-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",pathLocale:"/en/",extraFields:[]},{title:"MethodFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]},{level:2,title:"returnType - method",slug:"returntype-method-1",link:"#returntype-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchMethod - method",slug:"onnosuchmethod-method",link:"#onnosuchmethod-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]},{level:3,title:"array - method",slug:"array-method",link:"#array-method",children:[]},{level:3,title:"list - method",slug:"list-method",link:"#list-method",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",pathLocale:"/en/",extraFields:[]},{title:"DefinedTypeFactory - kt",headers:[{level:2,title:"VagueType - field",slug:"vaguetype-field",link:"#vaguetype-field",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"ComponentTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"GraphicsTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"ViewTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"VariableTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"BaseFinder - class",headers:[{level:2,title:"BaseFinder.IndexTypeCondition - class",slug:"basefinder-indextypecondition-class",link:"#basefinder-indextypecondition-class",children:[{level:3,title:"index - method",slug:"index-method",link:"#index-method",children:[]},{level:3,title:"index - method",slug:"index-method-1",link:"#index-method-1",children:[]},{level:3,title:"IndexTypeConditionSort - class",slug:"indextypeconditionsort-class",link:"#indextypeconditionsort-class",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"DexClassFinder - class",headers:[{level:2,title:"companion object - object",slug:"companion-object-object",link:"#companion-object-object",children:[{level:3,title:"clearCache - method",slug:"clearcache-method",link:"#clearcache-method",children:[]}]},{level:2,title:"fullName - field",slug:"fullname-field",link:"#fullname-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"singleName - field",slug:"singlename-field",link:"#singlename-field",children:[]},{level:2,title:"from - method",slug:"from-method",link:"#from-method",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method",link:"#fullname-method",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method",link:"#simplename-method",children:[]},{level:2,title:"singleName - method",slug:"singlename-method",link:"#singlename-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method-1",link:"#fullname-method-1",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method-1",link:"#simplename-method-1",children:[]},{level:2,title:"singleName - method",slug:"singlename-method-1",link:"#singlename-method-1",children:[]},{level:2,title:"extends - method",slug:"extends-method",link:"#extends-method",children:[]},{level:2,title:"extends - method",slug:"extends-method-1",link:"#extends-method-1",children:[]},{level:2,title:"implements - method",slug:"implements-method",link:"#implements-method",children:[]},{level:2,title:"implements - method",slug:"implements-method-1",link:"#implements-method-1",children:[]},{level:2,title:"anonymous - method",slug:"anonymous-method",link:"#anonymous-method",children:[]},{level:2,title:"noExtends - method",slug:"noextends-method",link:"#noextends-method",children:[]},{level:2,title:"noImplements - method",slug:"noimplements-method",link:"#noimplements-method",children:[]},{level:2,title:"noSuper - method",slug:"nosuper-method",link:"#nosuper-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method",link:"#enclosing-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method-1",link:"#enclosing-method-1",children:[]},{level:2,title:"FromPackageRules - class",slug:"frompackagerules-class",link:"#frompackagerules-class",children:[{level:3,title:"absolute - method",slug:"absolute-method",link:"#absolute-method",children:[]}]},{level:2,title:"ClassNameRules - class",slug:"classnamerules-class",link:"#classnamerules-class",children:[{level:3,title:"optional - method",slug:"optional-method",link:"#optional-method",children:[]}]},{level:2,title:"member - method",slug:"member-method",link:"#member-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:2,title:"Result - class",slug:"result-class",link:"#result-class",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"all - method",slug:"all-method-1",link:"#all-method-1",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"onNoClassDefFoundError - method",slug:"onnoclassdeffounderror-method",link:"#onnoclassdeffounderror-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ConstructorFinder - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchConstructor - method",slug:"onnosuchconstructor-method",link:"#onnosuchconstructor-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"FieldFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]},{level:2,title:"type - method",slug:"type-method-1",link:"#type-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchField - method",slug:"onnosuchfield-method",link:"#onnosuchfield-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MethodFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]},{level:2,title:"returnType - method",slug:"returntype-method-1",link:"#returntype-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchMethod - method",slug:"onnosuchmethod-method",link:"#onnosuchmethod-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]},{level:3,title:"array - method",slug:"array-method",link:"#array-method",children:[]},{level:3,title:"list - method",slug:"list-method",link:"#list-method",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ComponentTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"GraphicsTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ViewTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"DefinedTypeFactory - kt",headers:[{level:2,title:"VagueType - field",slug:"vaguetype-field",link:"#vaguetype-field",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"VariableTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"CountRules - class",headers:[{level:2,title:"Int.isZero - i-ext-method",slug:"int-iszero-i-ext-method",link:"#int-iszero-i-ext-method",children:[]},{level:2,title:"Int.moreThan - i-ext-method",slug:"int-morethan-i-ext-method",link:"#int-morethan-i-ext-method",children:[]},{level:2,title:"Int.lessThan - i-ext-method",slug:"int-lessthan-i-ext-method",link:"#int-lessthan-i-ext-method",children:[]},{level:2,title:"Int.inInterval - i-ext-method",slug:"int-ininterval-i-ext-method",link:"#int-ininterval-i-ext-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",pathLocale:"/en/",extraFields:[]},{title:"ModifierRules - class",headers:[{level:2,title:"isPublic - i-ext-field",slug:"ispublic-i-ext-field",link:"#ispublic-i-ext-field",children:[]},{level:2,title:"isPrivate - i-ext-field",slug:"isprivate-i-ext-field",link:"#isprivate-i-ext-field",children:[]},{level:2,title:"isProtected - i-ext-field",slug:"isprotected-i-ext-field",link:"#isprotected-i-ext-field",children:[]},{level:2,title:"isStatic - i-ext-field",slug:"isstatic-i-ext-field",link:"#isstatic-i-ext-field",children:[]},{level:2,title:"isFinal - i-ext-field",slug:"isfinal-i-ext-field",link:"#isfinal-i-ext-field",children:[]},{level:2,title:"isSynchronized - i-ext-field",slug:"issynchronized-i-ext-field",link:"#issynchronized-i-ext-field",children:[]},{level:2,title:"isVolatile - i-ext-field",slug:"isvolatile-i-ext-field",link:"#isvolatile-i-ext-field",children:[]},{level:2,title:"isTransient - i-ext-field",slug:"istransient-i-ext-field",link:"#istransient-i-ext-field",children:[]},{level:2,title:"isNative - i-ext-field",slug:"isnative-i-ext-field",link:"#isnative-i-ext-field",children:[]},{level:2,title:"isInterface - i-ext-field",slug:"isinterface-i-ext-field",link:"#isinterface-i-ext-field",children:[]},{level:2,title:"isAbstract - i-ext-field",slug:"isabstract-i-ext-field",link:"#isabstract-i-ext-field",children:[]},{level:2,title:"isStrict - i-ext-field",slug:"isstrict-i-ext-field",link:"#isstrict-i-ext-field",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",pathLocale:"/en/",extraFields:[]},{title:"NameRules - class",headers:[{level:2,title:"String.isSynthetic - i-ext-method",slug:"string-issynthetic-i-ext-method",link:"#string-issynthetic-i-ext-method",children:[]},{level:2,title:"String.isOnlySymbols - i-ext-method",slug:"string-isonlysymbols-i-ext-method",link:"#string-isonlysymbols-i-ext-method",children:[]},{level:2,title:"String.isOnlyLetters - i-ext-method",slug:"string-isonlyletters-i-ext-method",link:"#string-isonlyletters-i-ext-method",children:[]},{level:2,title:"String.isOnlyNumbers - i-ext-method",slug:"string-isonlynumbers-i-ext-method",link:"#string-isonlynumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLettersNumbers - i-ext-method",slug:"string-isonlylettersnumbers-i-ext-method",link:"#string-isonlylettersnumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLowercase - i-ext-method",slug:"string-isonlylowercase-i-ext-method",link:"#string-isonlylowercase-i-ext-method",children:[]},{level:2,title:"String.isOnlyUppercase - i-ext-method",slug:"string-isonlyuppercase-i-ext-method",link:"#string-isonlyuppercase-i-ext-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",pathLocale:"/en/",extraFields:[]},{title:"ObjectRules - class",headers:[],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",pathLocale:"/en/",extraFields:[]},{title:"ConstructorRules - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",pathLocale:"/en/",extraFields:[]},{title:"FieldRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",pathLocale:"/en/",extraFields:[]},{title:"MemberRules - class",headers:[{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",pathLocale:"/en/",extraFields:[]},{title:"MethodRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",pathLocale:"/en/",extraFields:[]},{title:"CountRules - class",headers:[{level:2,title:"Int.isZero - i-ext-method",slug:"int-iszero-i-ext-method",link:"#int-iszero-i-ext-method",children:[]},{level:2,title:"Int.moreThan - i-ext-method",slug:"int-morethan-i-ext-method",link:"#int-morethan-i-ext-method",children:[]},{level:2,title:"Int.lessThan - i-ext-method",slug:"int-lessthan-i-ext-method",link:"#int-lessthan-i-ext-method",children:[]},{level:2,title:"Int.inInterval - i-ext-method",slug:"int-ininterval-i-ext-method",link:"#int-ininterval-i-ext-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ModifierRules - class",headers:[{level:2,title:"isPublic - i-ext-field",slug:"ispublic-i-ext-field",link:"#ispublic-i-ext-field",children:[]},{level:2,title:"isPrivate - i-ext-field",slug:"isprivate-i-ext-field",link:"#isprivate-i-ext-field",children:[]},{level:2,title:"isProtected - i-ext-field",slug:"isprotected-i-ext-field",link:"#isprotected-i-ext-field",children:[]},{level:2,title:"isStatic - i-ext-field",slug:"isstatic-i-ext-field",link:"#isstatic-i-ext-field",children:[]},{level:2,title:"isFinal - i-ext-field",slug:"isfinal-i-ext-field",link:"#isfinal-i-ext-field",children:[]},{level:2,title:"isSynchronized - i-ext-field",slug:"issynchronized-i-ext-field",link:"#issynchronized-i-ext-field",children:[]},{level:2,title:"isVolatile - i-ext-field",slug:"isvolatile-i-ext-field",link:"#isvolatile-i-ext-field",children:[]},{level:2,title:"isTransient - i-ext-field",slug:"istransient-i-ext-field",link:"#istransient-i-ext-field",children:[]},{level:2,title:"isNative - i-ext-field",slug:"isnative-i-ext-field",link:"#isnative-i-ext-field",children:[]},{level:2,title:"isInterface - i-ext-field",slug:"isinterface-i-ext-field",link:"#isinterface-i-ext-field",children:[]},{level:2,title:"isAbstract - i-ext-field",slug:"isabstract-i-ext-field",link:"#isabstract-i-ext-field",children:[]},{level:2,title:"isStrict - i-ext-field",slug:"isstrict-i-ext-field",link:"#isstrict-i-ext-field",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"NameRules - class",headers:[{level:2,title:"String.isSynthetic - i-ext-method",slug:"string-issynthetic-i-ext-method",link:"#string-issynthetic-i-ext-method",children:[]},{level:2,title:"String.isOnlySymbols - i-ext-method",slug:"string-isonlysymbols-i-ext-method",link:"#string-isonlysymbols-i-ext-method",children:[]},{level:2,title:"String.isOnlyLetters - i-ext-method",slug:"string-isonlyletters-i-ext-method",link:"#string-isonlyletters-i-ext-method",children:[]},{level:2,title:"String.isOnlyNumbers - i-ext-method",slug:"string-isonlynumbers-i-ext-method",link:"#string-isonlynumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLettersNumbers - i-ext-method",slug:"string-isonlylettersnumbers-i-ext-method",link:"#string-isonlylettersnumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLowercase - i-ext-method",slug:"string-isonlylowercase-i-ext-method",link:"#string-isonlylowercase-i-ext-method",children:[]},{level:2,title:"String.isOnlyUppercase - i-ext-method",slug:"string-isonlyuppercase-i-ext-method",link:"#string-isonlyuppercase-i-ext-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ObjectRules - class",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ConstructorRules - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"FieldRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MemberRules - class",headers:[{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MethodRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MemberRulesResult - class",headers:[{level:2,title:"none - method",slug:"none-method",link:"#none-method",children:[]},{level:2,title:"count - method",slug:"count-method",link:"#count-method",children:[]},{level:2,title:"count - method",slug:"count-method-1",link:"#count-method-1",children:[]},{level:2,title:"count - method",slug:"count-method-2",link:"#count-method-2",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",pathLocale:"/en/",extraFields:[]},{title:"MemberRulesResult - class",headers:[{level:2,title:"none - method",slug:"none-method",link:"#none-method",children:[]},{level:2,title:"count - method",slug:"count-method",link:"#count-method",children:[]},{level:2,title:"count - method",slug:"count-method-1",link:"#count-method-1",children:[]},{level:2,title:"count - method",slug:"count-method-2",link:"#count-method-2",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"",headers:[],path:"/404.html",pathLocale:"/",extraFields:[]}],Us=ke(up),dp=()=>Us;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updateSearchIndex=e=>{Us.value=e});const hp=({searchIndex:e,routeLocale:t,query:l,maxSuggestions:n})=>{const i=B(()=>e.value.filter(o=>o.pathLocale===t.value));return B(()=>{const o=l.value.trim().toLowerCase();if(!o)return[];const r=[],s=(a,c)=>{ar(o,[c.title])&&r.push({link:`${a.path}#${c.slug}`,title:a.title,header:c.title});for(const u of c.children){if(r.length>=n.value)return;s(a,u)}};for(const a of i.value){if(r.length>=n.value)break;if(ar(o,[a.title,...a.extraFields])){r.push({link:a.path,title:a.title});continue}for(const c of a.headers){if(r.length>=n.value)break;s(a,c)}}return r})},fp=e=>{const t=ke(0);return{focusIndex:t,focusNext:()=>{t.value{t.value>0?t.value-=1:t.value=e.value.length-1}}},mp=he({name:"SearchBox",props:{locales:{type:Object,required:!1,default:()=>({})},hotKeys:{type:Array,required:!1,default:()=>[]},maxSuggestions:{type:Number,required:!1,default:5}},setup(e){const{locales:t,hotKeys:l,maxSuggestions:n}=Cn(e),i=Xt(),o=Kl(),r=dp(),s=ke(null),a=ke(!1),c=ke(""),u=B(()=>{var w;return(w=t.value[o.value])!=null?w:{}}),h=hp({searchIndex:r,routeLocale:o,query:c,maxSuggestions:n}),{focusIndex:f,focusNext:p,focusPrev:k}=fp(h);cp({input:s,hotKeys:l});const R=B(()=>a.value&&!!h.value.length),x=()=>{!R.value||k()},g=()=>{!R.value||p()},b=w=>{if(!R.value)return;const D=h.value[w];!D||i.push(D.link).then(()=>{c.value="",f.value=0})};return()=>ue("form",{class:"search-box",role:"search"},[ue("input",{ref:s,type:"search",placeholder:u.value.placeholder,autocomplete:"off",spellcheck:!1,value:c.value,onFocus:()=>a.value=!0,onBlur:()=>a.value=!1,onInput:w=>c.value=w.target.value,onKeydown:w=>{switch(w.key){case"ArrowUp":{x();break}case"ArrowDown":{g();break}case"Enter":{w.preventDefault(),b(f.value);break}}}}),R.value&&ue("ul",{class:"suggestions",onMouseleave:()=>f.value=-1},h.value.map(({link:w,title:D,header:q},ee)=>ue("li",{class:["suggestion",{focus:f.value===ee}],onMouseenter:()=>f.value=ee,onMousedown:()=>b(ee)},ue("a",{href:w,onClick:O=>O.preventDefault()},[ue("span",{class:"page-title"},D),q&&ue("span",{class:"page-header"},`> ${q}`)]))))])}});const pp={"/en/":{placeholder:"Search"},"/zh-cn/":{placeholder:"\u641C\u7D22"}},gp=["s","/"],vp=5,bp=Mt({enhance({app:e}){e.component("SearchBox",t=>ue(mp,{locales:pp,hotKeys:gp,maxSuggestions:vp,...t}))}}),on=[Vd,Bd,Wd,oh,ch,mh,op,bp];var qs=ke(ea),Ks=Ci({key:"",path:"",title:"",lang:"",frontmatter:{},excerpt:"",headers:[]}),gt=ke(Ks),It=()=>gt;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updatePageData=e=>{qs.value[e.key]=()=>Promise.resolve(e),e.key===gt.value.key&&(gt.value=e)});var Ws=Symbol(""),bt=()=>{const e=De(Ws);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},Gs=Symbol(""),_p=()=>{const e=De(Gs);if(!e)throw new Error("usePageHead() is called without provider.");return e},yp=Symbol(""),Ys=Symbol(""),kp=()=>{const e=De(Ys);if(!e)throw new Error("usePageLang() is called without provider.");return e},Vi=Symbol(""),Kl=()=>{const e=De(Vi);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},Pt=ke(Lu),Qs=()=>Pt;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updateSiteData=e=>{Pt.value=e});var Js=Symbol(""),Hi=()=>{const e=De(Js);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},xp=Symbol(""),qt=gl({resolvePageData:async e=>{const t=qs.value[e],l=await(t==null?void 0:t());return l!=null?l:Ks},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,l)=>{const n=_e(t.description)?t.description:l.description,i=[...te(t.head)?t.head:[],...l.head,["title",{},e],["meta",{name:"description",content:n}]];return Ou(i)},resolvePageHeadTitle:(e,t)=>`${e.title?`${e.title} | `:""}${t.title}`,resolvePageLang:e=>e.lang||"en",resolveRouteLocale:(e,t)=>fs(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),ji=he({name:"ClientOnly",setup(e,t){const l=ke(!1);return Ze(()=>{l.value=!0}),()=>{var n,i;return l.value?(i=(n=t.slots).default)==null?void 0:i.call(n):null}}}),Ep=he({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=It(),l=B(()=>ms[e.pageKey||t.value.key]);return()=>l.value?ue(l.value):ue("div","404 Not Found")}}),Cp="Layout",Rp="NotFound",wp=on.reduce((e,t)=>({...e,...t.layouts}),{}),cr=he({name:"Vuepress",setup(){const e=It(),t=B(()=>{let l;if(e.value.path){const n=e.value.frontmatter.layout;_e(n)?l=n:l=Cp}else l=Rp;return wp[l]});return()=>ue(t.value)}}),Bi=e=>ql(e)?e:`${Qs().value.base}${hs(e)}`;const Tp=[["v-8daa1a0e","/",{title:""},["/index.html","/index.md"]],["v-2d0a870d","/en/",{title:"Home"},["/en/index.html","/en/index.md"]],["v-c0c85b84","/zh-cn/",{title:"\u9996\u9875"},["/zh-cn/index.html","/zh-cn/index.md"]],["v-7a15fe3b","/en/about/about.html",{title:"About this Document"},["/en/about/about","/en/about/about.md"]],["v-3f851d14","/en/about/changelog.html",{title:"Changelog"},["/en/about/changelog","/en/about/changelog.md"]],["v-193cf592","/en/about/contacts.html",{title:"Contact Us"},["/en/about/contacts","/en/about/contacts.md"]],["v-ae7b83f2","/en/about/future.html",{title:"Looking for Future"},["/en/about/future","/en/about/future.md"]],["v-c557cfcc","/en/api/features.html",{title:"Features"},["/en/api/features","/en/api/features.md"]],["v-64fc7bb8","/en/api/home.html",{title:"Document Introduce"},["/en/api/home","/en/api/home.md"]],["v-9cfea7fc","/en/config/api-example.html",{title:"API Basic Configs"},["/en/config/api-example","/en/config/api-example.md"]],["v-72c12b7d","/en/config/api-exception.html",{title:"API Exception Handling"},["/en/config/api-exception","/en/config/api-exception.md"]],["v-efb45d4c","/en/guide/home.html",{title:"Introduce"},["/en/guide/home","/en/guide/home.md"]],["v-72889797","/en/guide/quick-start.html",{title:"Quick Start"},["/en/guide/quick-start","/en/guide/quick-start.md"]],["v-41967128","/zh-cn/about/about.html",{title:"\u5173\u4E8E\u6B64\u6587\u6863"},["/zh-cn/about/about","/zh-cn/about/about.md"]],["v-0e6c3476","/zh-cn/about/changelog.html",{title:"\u66F4\u65B0\u65E5\u5FD7"},["/zh-cn/about/changelog","/zh-cn/about/changelog.md"]],["v-6cf86266","/zh-cn/about/contacts.html",{title:"\u8054\u7CFB\u6211\u4EEC"},["/zh-cn/about/contacts","/zh-cn/about/contacts.md"]],["v-3106ca14","/zh-cn/about/future.html",{title:"\u5C55\u671B\u672A\u6765"},["/zh-cn/about/future","/zh-cn/about/future.md"]],["v-47e315ee","/zh-cn/api/features.html",{title:"\u529F\u80FD\u4ECB\u7ECD"},["/zh-cn/api/features","/zh-cn/api/features.md"]],["v-c8deafb2","/zh-cn/api/home.html",{title:"\u6587\u6863\u4ECB\u7ECD"},["/zh-cn/api/home","/zh-cn/api/home.md"]],["v-c6114c9e","/zh-cn/config/api-example.html",{title:"API \u57FA\u672C\u914D\u7F6E"},["/zh-cn/config/api-example","/zh-cn/config/api-example.md"]],["v-5b43296c","/zh-cn/config/api-exception.html",{title:"API \u5F02\u5E38\u5904\u7406"},["/zh-cn/config/api-exception","/zh-cn/config/api-exception.md"]],["v-6a609e09","/zh-cn/guide/home.html",{title:"\u4ECB\u7ECD"},["/zh-cn/guide/home","/zh-cn/guide/home.md"]],["v-24840ff0","/zh-cn/guide/quick-start.html",{title:"\u5FEB\u901F\u5F00\u59CB"},["/zh-cn/guide/quick-start","/zh-cn/guide/quick-start.md"]],["v-23f4d2be","/en/api/public/com/highcapable/yukireflection/YukiReflection.html",{title:"YukiReflection - object"},["/en/api/public/com/highcapable/yukireflection/YukiReflection","/en/api/public/com/highcapable/yukireflection/YukiReflection.md"]],["v-c088ede0","/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html",{title:"YukiReflection - object"},["/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection","/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.md"]],["v-47f17664","/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",{title:"CurrentClass - class"},["/en/api/public/com/highcapable/yukireflection/bean/CurrentClass","/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.md"]],["v-38df33ac","/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html",{title:"GenericClass - class"},["/en/api/public/com/highcapable/yukireflection/bean/GenericClass","/en/api/public/com/highcapable/yukireflection/bean/GenericClass.md"]],["v-3a8666c0","/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html",{title:"VariousClass - class"},["/en/api/public/com/highcapable/yukireflection/bean/VariousClass","/en/api/public/com/highcapable/yukireflection/bean/VariousClass.md"]],["v-728f231c","/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",{title:"ReflectionFactory - kt"},["/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.md"]],["v-406687ff","/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",{title:"CurrentClass - class"},["/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.md"]],["v-c5831246","/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html",{title:"GenericClass - class"},["/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.md"]],["v-c234ac1e","/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html",{title:"VariousClass - class"},["/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.md"]],["v-b3841eba","/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",{title:"ReflectionFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.md"]],["v-740d06da","/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",{title:"BaseFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.md"]],["v-6d6cd473","/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",{title:"DexClassFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.md"]],["v-b3220076","/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",{title:"ConstructorFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.md"]],["v-4b907076","/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",{title:"FieldFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.md"]],["v-012ee5a6","/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",{title:"MethodFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.md"]],["v-30e525ac","/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",{title:"DefinedTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.md"]],["v-7f47f9f8","/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",{title:"ComponentTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.md"]],["v-5a1019d6","/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",{title:"GraphicsTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.md"]],["v-be0e3220","/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",{title:"ViewTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.md"]],["v-12f074b0","/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",{title:"VariableTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.md"]],["v-c945cb6e","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",{title:"BaseFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.md"]],["v-2d13d624","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",{title:"DexClassFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.md"]],["v-722cd474","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",{title:"ConstructorFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.md"]],["v-293ae898","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",{title:"FieldFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.md"]],["v-155c9f97","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",{title:"MethodFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.md"]],["v-6c58c435","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",{title:"ComponentTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.md"]],["v-25cdee85","/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",{title:"GraphicsTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.md"]],["v-12826b1f","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",{title:"ViewTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.md"]],["v-597ac69b","/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",{title:"DefinedTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.md"]],["v-5ad1133e","/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",{title:"VariableTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.md"]],["v-6f96d791","/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",{title:"CountRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.md"]],["v-56071599","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",{title:"ModifierRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.md"]],["v-4ea9e766","/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",{title:"NameRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.md"]],["v-3045c7fe","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",{title:"ObjectRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.md"]],["v-cce2b7b6","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",{title:"ConstructorRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.md"]],["v-82a85036","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",{title:"FieldRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.md"]],["v-71ecb893","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",{title:"MemberRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.md"]],["v-5e7e121a","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",{title:"MethodRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.md"]],["v-3dbf4880","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",{title:"CountRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.md"]],["v-701721ec","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",{title:"ModifierRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.md"]],["v-264e7384","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",{title:"NameRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.md"]],["v-b0f7c49c","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",{title:"ObjectRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.md"]],["v-ec153654","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",{title:"ConstructorRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.md"]],["v-30993156","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",{title:"FieldRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.md"]],["v-3daa8d42","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",{title:"MemberRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.md"]],["v-2a3be6c9","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",{title:"MethodRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.md"]],["v-4f47dfda","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",{title:"MemberRulesResult - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.md"]],["v-503f5f8b","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",{title:"MemberRulesResult - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.md"]],["v-3706649a","/404.html",{title:""},["/404"]]];var Lp=()=>Tp.reduce((e,[t,l,n,i])=>(e.push({name:t,path:l,component:cr,meta:n},...i.map(o=>({path:o,redirect:l}))),e),[{name:"404",path:"/:catchAll(.*)",component:cr}]),Pp=Qu,Op=()=>{const e=Fd({history:Pp(ds(Pt.value.base)),routes:Lp(),scrollBehavior:(t,l,n)=>n||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,l)=>{var n;(t.path!==l.path||l===mt)&&([gt.value]=await Promise.all([qt.resolvePageData(t.name),(n=ms[t.name])==null?void 0:n.__asyncLoader()]))}),e},Ap=e=>{e.component("ClientOnly",ji),e.component("Content",Ep)},Ip=(e,t)=>{const l=B(()=>qt.resolveRouteLocale(Pt.value.locales,t.currentRoute.value.path)),n=B(()=>qt.resolveSiteLocaleData(Pt.value,l.value)),i=B(()=>qt.resolvePageFrontmatter(gt.value)),o=B(()=>qt.resolvePageHeadTitle(gt.value,n.value)),r=B(()=>qt.resolvePageHead(o.value,i.value,n.value)),s=B(()=>qt.resolvePageLang(gt.value));return e.provide(Vi,l),e.provide(Js,n),e.provide(Ws,i),e.provide(yp,o),e.provide(Gs,r),e.provide(Ys,s),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>i.value},$head:{get:()=>r.value},$headTitle:{get:()=>o.value},$lang:{get:()=>s.value},$page:{get:()=>gt.value},$routeLocale:{get:()=>l.value},$site:{get:()=>Pt.value},$siteLocale:{get:()=>n.value},$withBase:{get:()=>Bi}}),{pageData:gt,pageFrontmatter:i,pageHead:r,pageHeadTitle:o,pageLang:s,routeLocale:l,siteData:Pt,siteLocaleData:n}},Fp=()=>{const e=Nt(),t=_p(),l=kp(),n=ke([]),i=()=>{t.value.forEach(r=>{const s=Sp(r);s&&n.value.push(s)})},o=()=>{document.documentElement.lang=l.value,n.value.forEach(r=>{r.parentNode===document.head&&document.head.removeChild(r)}),n.value.splice(0,n.value.length),t.value.forEach(r=>{const s=zp(r);s!==null&&(document.head.appendChild(s),n.value.push(s))})};Qt(xp,o),Ze(()=>{i(),o(),dt(()=>e.path,()=>o())})},Sp=([e,t,l=""])=>{const n=Object.entries(t).map(([s,a])=>_e(a)?`[${s}="${a}"]`:a===!0?`[${s}]`:"").join(""),i=`head > ${e}${n}`;return Array.from(document.querySelectorAll(i)).find(s=>s.innerText===l)||null},zp=([e,t,l])=>{if(!_e(e))return null;const n=document.createElement(e);return Ii(t)&&Object.entries(t).forEach(([i,o])=>{_e(o)?n.setAttribute(i,o):o===!0&&n.setAttribute(i,"")}),_e(l)&&n.appendChild(document.createTextNode(l)),n},Dp=wu,Mp=async()=>{var l;const e=Dp({name:"VuepressApp",setup(){var n;Fp();for(const i of on)(n=i.setup)==null||n.call(i);return()=>[ue(ws),...on.flatMap(({rootComponents:i=[]})=>i.map(o=>ue(o)))]}}),t=Op();Ap(e),Ip(e,t);for(const n of on)await((l=n.enhance)==null?void 0:l.call(n,{app:e,router:t,siteData:Pt}));return e.use(t),{app:e,router:t}};Mp().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Le as _,pe as a,ie as b,X as c,Mp as createVueApp,Dt as d,Hc as e,V as o,yt as r,Me as w}; + */const me={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=me.isStarted();e=Un(e,me.settings.minimum,1),me.status=e===1?null:e;const l=me.render(!t),n=l.querySelector(me.settings.barSelector),i=me.settings.speed,o=me.settings.easing;return l.offsetWidth,rh(r=>{tn(n,{transform:"translate3d("+Go(e)+"%,0,0)",transition:"all "+i+"ms "+o}),e===1?(tn(l,{transition:"none",opacity:"1"}),l.offsetWidth,setTimeout(function(){tn(l,{transition:"all "+i+"ms linear",opacity:"0"}),setTimeout(function(){me.remove(),r()},i)},i)):setTimeout(()=>r(),i)}),me},isStarted:()=>typeof me.status=="number",start:()=>{me.status||me.set(0);const e=()=>{setTimeout(()=>{!me.status||(me.trickle(),e())},me.settings.trickleSpeed)};return me.settings.trickle&&e(),me},done:e=>!e&&!me.status?me:me.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=me.status;return t?(typeof e!="number"&&(e=(1-t)*Un(Math.random()*t,.1,.95)),t=Un(t+e,0,.994),me.set(t)):me.start()},trickle:()=>me.inc(Math.random()*me.settings.trickleRate),render:e=>{if(me.isRendered())return document.getElementById("nprogress");Yo(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=me.settings.template;const l=t.querySelector(me.settings.barSelector),n=e?"-100":Go(me.status||0),i=document.querySelector(me.settings.parent);return tn(l,{transition:"all 0 linear",transform:"translate3d("+n+"%,0,0)"}),i!==document.body&&Yo(i,"nprogress-custom-parent"),i==null||i.appendChild(t),t},remove:()=>{Qo(document.documentElement,"nprogress-busy"),Qo(document.querySelector(me.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&sh(e)},isRendered:()=>!!document.getElementById("nprogress")},Un=(e,t,l)=>el?l:e,Go=e=>(-1+e)*100,rh=function(){const e=[];function t(){const l=e.shift();l&&l(t)}return function(l){e.push(l),e.length===1&&t()}}(),tn=function(){const e=["Webkit","O","Moz","ms"],t={};function l(r){return r.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(s,a){return a.toUpperCase()})}function n(r){const s=document.body.style;if(r in s)return r;let a=e.length;const c=r.charAt(0).toUpperCase()+r.slice(1);let u;for(;a--;)if(u=e[a]+c,u in s)return u;return r}function i(r){return r=l(r),t[r]||(t[r]=n(r))}function o(r,s,a){s=i(s),r.style[s]=a}return function(r,s){for(const a in s){const c=s[a];c!==void 0&&Object.prototype.hasOwnProperty.call(s,a)&&o(r,a,c)}}}(),Ts=(e,t)=>(typeof e=="string"?e:zi(e)).indexOf(" "+t+" ")>=0,Yo=(e,t)=>{const l=zi(e),n=l+t;Ts(l,t)||(e.className=n.substring(1))},Qo=(e,t)=>{const l=zi(e);if(!Ts(e,t))return;const n=l.replace(" "+t+" "," ");e.className=n.substring(1,n.length-1)},zi=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),sh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)};const ah=()=>{Ze(()=>{const e=Xt(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(l=>{t.has(l.path)||me.start()}),e.afterEach(l=>{t.add(l.path),me.done()})})},ch=Mt({setup(){ah()}}),uh=JSON.parse(`{"logo":"/images/logo.png","repo":"https://github.com/fankes/YukiReflection","docsRepo":"https://github.com/fankes/YukiReflection","docsBranch":"master","docsDir":"docs-source/src","editLinkPattern":":repo/edit/:branch/:path","sidebar":{"/en/":[{"text":"Get Started","collapsible":true,"children":["/en/guide/home","/en/guide/quick-start"]},{"text":"Configs","collapsible":true,"children":["/en/config/api-example","/en/config/api-exception"]},{"text":"API Document","collapsible":true,"children":["/en/api/home",{"text":"Public API\xA0","collapsible":true,"children":["/en/api/public/com/highcapable/yukireflection/YukiReflection","/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/en/api/public/com/highcapable/yukireflection/bean/VariousClass","/en/api/public/com/highcapable/yukireflection/bean/CurrentClass","/en/api/public/com/highcapable/yukireflection/bean/GenericClass"]},"/en/api/features"]},{"text":"About","collapsible":true,"children":["/en/about/changelog","/en/about/future","/en/about/contacts","/en/about/about"]}],"/zh-cn/":[{"text":"\u5165\u95E8","collapsible":true,"children":["/zh-cn/guide/home","/zh-cn/guide/quick-start"]},{"text":"\u914D\u7F6E","collapsible":true,"children":["/zh-cn/config/api-example","/zh-cn/config/api-exception"]},{"text":"API \u6587\u6863","collapsible":true,"children":["/zh-cn/api/home",{"text":"Public API\xA0","collapsible":true,"children":["/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass"]},"/zh-cn/api/features"]},{"text":"\u5173\u4E8E","collapsible":true,"children":["/zh-cn/about/changelog","/zh-cn/about/future","/zh-cn/about/contacts","/zh-cn/about/about"]}]},"sidebarDepth":2,"locales":{"/en/":{"navbar":[{"text":"Navigation","children":[{"text":"Get Started","children":[{"text":"Introduce","link":"/en/guide/home"},{"text":"Quick Start","link":"/en/guide/quick-start"}]},{"text":"Configs","children":[{"text":"API Basic Configs","link":"/en/config/api-example"},{"text":"API Exception Handling","link":"/en/config/api-exception"}]},{"text":"API Document","children":[{"text":"Document Introduction","link":"/en/api/home"},{"text":"Public API","link":"/en/api/public/com/highcapable/yukireflection/YukiReflection","activeMatch":"/en/api/public/"},{"text":"Features","link":"/en/api/features"}]},{"text":"About","children":[{"text":"Changelog","link":"/en/about/changelog"},{"text":"Looking for Future","link":"/en/about/future"},{"text":"Contact Us","link":"/en/about/contacts"},{"text":"About this Document","link":"/en/about/about"}]}]},{"text":"Contact Us","link":"/en/about/contacts"}],"selectLanguageText":"English (US)","selectLanguageName":"English","editLinkText":"Edit this page on GitHub","tip":"Tips","warning":"Notice","danger":"Pay Attention"},"/zh-cn/":{"navbar":[{"text":"\u5BFC\u822A","children":[{"text":"\u5165\u95E8","children":[{"text":"\u4ECB\u7ECD","link":"/zh-cn/guide/home"},{"text":"\u5FEB\u901F\u5F00\u59CB","link":"/zh-cn/guide/quick-start"}]},{"text":"\u914D\u7F6E","children":[{"text":"API \u57FA\u672C\u914D\u7F6E","link":"/zh-cn/config/api-example"},{"text":"API \u5F02\u5E38\u5904\u7406","link":"/zh-cn/config/api-exception"}]},{"text":"API \u6587\u6863","children":[{"text":"\u6587\u6863\u4ECB\u7ECD","link":"/zh-cn/api/home"},{"text":"Public API","link":"/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection","activeMatch":"/zh-cn/api/public/"},{"text":"\u529F\u80FD\u4ECB\u7ECD","link":"/zh-cn/api/features"}]},{"text":"\u5173\u4E8E","children":[{"text":"\u66F4\u65B0\u65E5\u5FD7","link":"/zh-cn/about/changelog"},{"text":"\u5C55\u671B\u672A\u6765","link":"/zh-cn/about/future"},{"text":"\u8054\u7CFB\u6211\u4EEC","link":"/zh-cn/about/contacts"},{"text":"\u5173\u4E8E\u6B64\u6587\u6863","link":"/zh-cn/about/about"}]}]},{"text":"\u8054\u7CFB\u6211\u4EEC","link":"/zh-cn/about/contacts"}],"selectLanguageText":"\u7B80\u4F53\u4E2D\u6587 (CN)","selectLanguageName":"\u7B80\u4F53\u4E2D\u6587","editLinkText":"\u5728 GitHub \u4E0A\u7F16\u8F91\u6B64\u9875","notFound":["\u8FD9\u91CC\u4EC0\u4E48\u90FD\u6CA1\u6709","\u6211\u4EEC\u600E\u4E48\u5230\u8FD9\u6765\u4E86\uFF1F","\u8FD9\u662F\u4E00\u4E2A 404 \u9875\u9762","\u770B\u8D77\u6765\u6211\u4EEC\u8FDB\u5165\u4E86\u9519\u8BEF\u7684\u94FE\u63A5"],"backToHome":"\u56DE\u5230\u9996\u9875","contributorsText":"\u8D21\u732E\u8005","lastUpdatedText":"\u4E0A\u6B21\u66F4\u65B0","tip":"\u5C0F\u63D0\u793A","warning":"\u6CE8\u610F","danger":"\u7279\u522B\u6CE8\u610F","openInNewWindow":"\u5728\u65B0\u7A97\u53E3\u4E2D\u6253\u5F00","toggleColorMode":"\u5207\u6362\u989C\u8272\u6A21\u5F0F"},"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),Ls=ke(uh),dh=()=>Ls;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updateThemeData=e=>{Ls.value=e});const Ps=Symbol(""),hh=()=>{const e=De(Ps);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},fh=(e,t)=>{var l;return{...e,...(l=e.locales)==null?void 0:l[t]}},mh=Mt({enhance({app:e}){const t=dh(),l=e._context.provides[Vi],n=B(()=>fh(t.value,l.value));e.provide(Ps,n),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return n.value}}})}}),ph=he({__name:"Badge",props:{type:{type:String,required:!1,default:"tip"},text:{type:String,required:!1,default:""},vertical:{type:String,required:!1,default:void 0}},setup(e){return(t,l)=>(V(),X("span",{class:Ye(["badge",e.type]),style:Nl({verticalAlign:e.vertical})},[Re(t.$slots,"default",{},()=>[Dt(Se(e.text),1)])],6))}}),Le=(e,t)=>{const l=e.__vccOpts||e;for(const[n,i]of t)l[n]=i;return l},gh=Le(ph,[["__file","Badge.vue"]]),vh=he({name:"CodeGroup",setup(e,{slots:t}){const l=ke(-1),n=ke([]),i=(s=l.value)=>{s{s>0?l.value=s-1:l.value=n.value.length-1,n.value[l.value].focus()},r=(s,a)=>{s.key===" "||s.key==="Enter"?(s.preventDefault(),l.value=a):s.key==="ArrowRight"?(s.preventDefault(),i(a)):s.key==="ArrowLeft"&&(s.preventDefault(),o(a))};return()=>{var a;const s=(((a=t.default)==null?void 0:a.call(t))||[]).filter(c=>c.type.name==="CodeGroupItem").map(c=>(c.props===null&&(c.props={}),c));return s.length===0?null:(l.value<0||l.value>s.length-1?(l.value=s.findIndex(c=>c.props.active===""||c.props.active===!0),l.value===-1&&(l.value=0)):s.forEach((c,u)=>{c.props.active=u===l.value}),ue("div",{class:"code-group"},[ue("div",{class:"code-group__nav"},ue("ul",{class:"code-group__ul"},s.map((c,u)=>{const h=u===l.value;return ue("li",{class:"code-group__li"},ue("button",{ref:f=>{f&&(n.value[u]=f)},class:{"code-group__nav-tab":!0,"code-group__nav-tab-active":h},ariaPressed:h,ariaExpanded:h,onClick:()=>l.value=u,onKeydown:f=>r(f,u)},c.props.title))}))),s]))}}}),bh=["aria-selected"],_h=he({name:"CodeGroupItem"}),yh=he({..._h,props:{title:{type:String,required:!0},active:{type:Boolean,required:!1,default:!1}},setup(e){return(t,l)=>(V(),X("div",{class:Ye(["code-group-item",{"code-group-item__active":e.active}]),"aria-selected":e.active},[Re(t.$slots,"default")],10,bh))}}),kh=Le(yh,[["__file","CodeGroupItem.vue"]]);var Jo;const Os=typeof window<"u",xh=e=>typeof e=="function",Eh=e=>typeof e=="string",qn=()=>{};Os&&((Jo=window==null?void 0:window.navigator)==null?void 0:Jo.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function vn(e){return typeof e=="function"?e():A(e)}function Ch(e,t){function l(...n){e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})}return l}const As=e=>e();function Rh(e=As){const t=ke(!0);function l(){t.value=!1}function n(){t.value=!0}return{isActive:t,pause:l,resume:n,eventFilter:(...o)=>{t.value&&e(...o)}}}function wh(e){return e}function Is(e){return pa()?(ga(e),!0):!1}function Th(e,t=!0){Ai()?Wr(e):t?e():Hl(e)}function Lh(e,t=!0){Ai()?Ze(e):t?e():Hl(e)}function Ph(e=!1,t={}){const{truthyValue:l=!0,falsyValue:n=!1}=t,i=ze(e),o=ke(e);function r(s){if(arguments.length)return o.value=s,o.value;{const a=vn(l);return o.value=o.value===a?vn(n):a,o.value}}return i?r:[o,r]}var Zo=Object.getOwnPropertySymbols,Oh=Object.prototype.hasOwnProperty,Ah=Object.prototype.propertyIsEnumerable,Ih=(e,t)=>{var l={};for(var n in e)Oh.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(e!=null&&Zo)for(var n of Zo(e))t.indexOf(n)<0&&Ah.call(e,n)&&(l[n]=e[n]);return l};function Fh(e,t,l={}){const n=l,{eventFilter:i=As}=n,o=Ih(n,["eventFilter"]);return dt(e,Ch(i,t),o)}var Sh=Object.defineProperty,zh=Object.defineProperties,Dh=Object.getOwnPropertyDescriptors,bn=Object.getOwnPropertySymbols,Fs=Object.prototype.hasOwnProperty,Ss=Object.prototype.propertyIsEnumerable,Xo=(e,t,l)=>t in e?Sh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,Mh=(e,t)=>{for(var l in t||(t={}))Fs.call(t,l)&&Xo(e,l,t[l]);if(bn)for(var l of bn(t))Ss.call(t,l)&&Xo(e,l,t[l]);return e},Nh=(e,t)=>zh(e,Dh(t)),$h=(e,t)=>{var l={};for(var n in e)Fs.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(e!=null&&bn)for(var n of bn(e))t.indexOf(n)<0&&Ss.call(e,n)&&(l[n]=e[n]);return l};function Vh(e,t,l={}){const n=l,{eventFilter:i}=n,o=$h(n,["eventFilter"]),{eventFilter:r,pause:s,resume:a,isActive:c}=Rh(i);return{stop:Fh(e,t,Nh(Mh({},o),{eventFilter:r})),pause:s,resume:a,isActive:c}}function Hh(e){var t;const l=vn(e);return(t=l==null?void 0:l.$el)!=null?t:l}const _n=Os?window:void 0;function jh(...e){let t,l,n,i;if(Eh(e[0])?([l,n,i]=e,t=_n):[t,l,n,i]=e,!t)return qn;let o=qn;const r=dt(()=>Hh(t),a=>{o(),a&&(a.addEventListener(l,n,i),o=()=>{a.removeEventListener(l,n,i),o=qn})},{immediate:!0,flush:"post"}),s=()=>{r(),o()};return Is(s),s}function Bh(e,t=!1){const l=ke(),n=()=>l.value=Boolean(e());return n(),Lh(n,t),l}function Uh(e,t={}){const{window:l=_n}=t,n=Bh(()=>l&&"matchMedia"in l&&typeof l.matchMedia=="function");let i;const o=ke(!1),r=()=>{!n.value||(i||(i=l.matchMedia(e)),o.value=i.matches)};return Th(()=>{r(),i&&("addEventListener"in i?i.addEventListener("change",r):i.addListener(r),Is(()=>{"removeEventListener"in i?i.removeEventListener("change",r):i.removeListener(r)}))}),o}const hi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fi="__vueuse_ssr_handlers__";hi[fi]=hi[fi]||{};const qh=hi[fi];function Kh(e,t){return qh[e]||t}function Wh(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}var Gh=Object.defineProperty,er=Object.getOwnPropertySymbols,Yh=Object.prototype.hasOwnProperty,Qh=Object.prototype.propertyIsEnumerable,tr=(e,t,l)=>t in e?Gh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,lr=(e,t)=>{for(var l in t||(t={}))Yh.call(t,l)&&tr(e,l,t[l]);if(er)for(var l of er(t))Qh.call(t,l)&&tr(e,l,t[l]);return e};const Jh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function Zh(e,t,l,n={}){var i;const{flush:o="pre",deep:r=!0,listenToStorageChanges:s=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:u,window:h=_n,eventFilter:f,onError:p=O=>{console.error(O)}}=n,k=(u?Ar:ke)(t);if(!l)try{l=Kh("getDefaultStorage",()=>{var O;return(O=_n)==null?void 0:O.localStorage})()}catch(O){p(O)}if(!l)return k;const R=vn(t),x=Wh(R),g=(i=n.serializer)!=null?i:Jh[x],{pause:b,resume:w}=Vh(k,()=>D(k.value),{flush:o,deep:r,eventFilter:f});return h&&s&&jh(h,"storage",ee),ee(),k;function D(O){try{O==null?l.removeItem(e):l.setItem(e,g.write(O))}catch(v){p(v)}}function q(O){if(!(O&&O.key!==e)){b();try{const v=O?O.newValue:l.getItem(e);if(v==null)return a&&R!==null&&l.setItem(e,g.write(R)),R;if(!O&&c){const G=g.read(v);return xh(c)?c(G,R):x==="object"&&!Array.isArray(G)?lr(lr({},R),G):G}else return typeof v!="string"?v:g.read(v)}catch(v){p(v)}finally{w()}}}function ee(O){O&&O.key!==e||(k.value=q(O))}}function Xh(e){return Uh("(prefers-color-scheme: dark)",e)}var nr;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(nr||(nr={}));var ef=Object.defineProperty,ir=Object.getOwnPropertySymbols,tf=Object.prototype.hasOwnProperty,lf=Object.prototype.propertyIsEnumerable,or=(e,t,l)=>t in e?ef(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,nf=(e,t)=>{for(var l in t||(t={}))tf.call(t,l)&&or(e,l,t[l]);if(ir)for(var l of ir(t))lf.call(t,l)&&or(e,l,t[l]);return e};const of={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};nf({linear:wh},of);const je=()=>hh(),zs=Symbol(""),Di=()=>{const e=De(zs);if(!e)throw new Error("useDarkMode() is called without provider.");return e},rf=()=>{const e=je(),t=Xh(),l=Zh("vuepress-color-scheme",e.value.colorMode),n=B({get(){return e.value.colorModeSwitch?l.value==="auto"?t.value:l.value==="dark":e.value.colorMode==="dark"},set(i){i===t.value?l.value="auto":l.value=i?"dark":"light"}});Qt(zs,n),sf(n)},sf=e=>{const t=(l=e.value)=>{const n=window==null?void 0:window.document.querySelector("html");n==null||n.classList.toggle("dark",l)};Ze(()=>{dt(e,t,{immediate:!0})}),Ln(()=>t())},Ds=(...e)=>{const l=Xt().resolve(...e),n=l.matched[l.matched.length-1];if(!(n!=null&&n.redirect))return l;const{redirect:i}=n,o=re(i)?i(l):i,r=_e(o)?{path:o}:o;return Ds({hash:l.hash,query:l.query,params:l.params,...r})},Mi=e=>{const t=Ds(encodeURI(e));return{text:t.meta.title||e,link:t.name==="404"?e:t.fullPath}};let Kn=null,kl=null;const af={wait:()=>Kn,pending:()=>{Kn=new Promise(e=>kl=e)},resolve:()=>{kl==null||kl(),Kn=null,kl=null}},Ms=()=>af,Ns=Symbol("sidebarItems"),Ni=()=>{const e=De(Ns);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},cf=()=>{const e=je(),t=bt(),l=B(()=>uf(t.value,e.value));Qt(Ns,l)},uf=(e,t)=>{var i,o,r,s;const l=(o=(i=e.sidebar)!=null?i:t.sidebar)!=null?o:"auto",n=(s=(r=e.sidebarDepth)!=null?r:t.sidebarDepth)!=null?s:2;return e.home||l===!1?[]:l==="auto"?hf(n):te(l)?$s(l,n):Ii(l)?ff(l,n):[]},df=(e,t)=>({text:e.title,link:e.link,children:$i(e.children,t)}),$i=(e,t)=>t>0?e.map(l=>df(l,t-1)):[],hf=e=>{const t=It();return[{text:t.value.title,children:$i(t.value.headers,e)}]},$s=(e,t)=>{const l=Nt(),n=It(),i=o=>{var s;let r;if(_e(o)?r=Mi(o):r=o,r.children)return{...r,children:r.children.map(a=>i(a))};if(r.link===l.path){const a=((s=n.value.headers[0])==null?void 0:s.level)===1?n.value.headers[0].children:n.value.headers;return{...r,children:$i(a,t)}}return r};return e.map(o=>i(o))},ff=(e,t)=>{var o;const l=Nt(),n=fs(e,l.path),i=(o=e[n])!=null?o:[];return $s(i,t)},mf={},pf={class:"theme-default-content"};function gf(e,t){const l=yt("Content");return V(),X("div",pf,[ie(l)])}const vf=Le(mf,[["render",gf],["__file","HomeContent.vue"]]),bf={key:0,class:"features"},_f=he({__name:"HomeFeatures",setup(e){const t=bt(),l=B(()=>te(t.value.features)?t.value.features:[]);return(n,i)=>A(l).length?(V(),X("div",bf,[(V(!0),X(we,null,St(A(l),o=>(V(),X("div",{key:o.title,class:"feature"},[pe("h2",null,Se(o.title),1),pe("p",null,Se(o.details),1)]))),128))])):Pe("v-if",!0)}}),yf=Le(_f,[["__file","HomeFeatures.vue"]]),kf=["innerHTML"],xf=["textContent"],Ef=he({__name:"HomeFooter",setup(e){const t=bt(),l=B(()=>t.value.footer),n=B(()=>t.value.footerHtml);return(i,o)=>A(l)?(V(),X(we,{key:0},[Pe(" eslint-disable-next-line vue/no-v-html "),A(n)?(V(),X("div",{key:0,class:"footer",innerHTML:A(l)},null,8,kf)):(V(),X("div",{key:1,class:"footer",textContent:Se(A(l))},null,8,xf))],64)):Pe("v-if",!0)}}),Cf=Le(Ef,[["__file","HomeFooter.vue"]]),Rf=["href","rel","target","aria-label"],wf=he({inheritAttrs:!1}),Tf=he({...wf,__name:"AutoLink",props:{item:{type:Object,required:!0}},setup(e){const t=e,l=Nt(),n=Qs(),{item:i}=Cn(t),o=B(()=>ql(i.value.link)),r=B(()=>Au(i.value.link)||Iu(i.value.link)),s=B(()=>{if(!r.value){if(i.value.target)return i.value.target;if(o.value)return"_blank"}}),a=B(()=>s.value==="_blank"),c=B(()=>!o.value&&!r.value&&!a.value),u=B(()=>{if(!r.value){if(i.value.rel)return i.value.rel;if(a.value)return"noopener noreferrer"}}),h=B(()=>i.value.ariaLabel||i.value.text),f=B(()=>{const R=Object.keys(n.value.locales);return R.length?!R.some(x=>x===i.value.link):i.value.link!=="/"}),p=B(()=>f.value?l.path.startsWith(i.value.link):!1),k=B(()=>c.value?i.value.activeMatch?new RegExp(i.value.activeMatch).test(l.path):p.value:!1);return(R,x)=>{const g=yt("RouterLink"),b=yt("AutoLinkExternalIcon");return A(c)?(V(),Ae(g,ri({key:0,class:{"router-link-active":A(k)},to:A(i).link,"aria-label":A(h)},R.$attrs),{default:Me(()=>[Re(R.$slots,"before"),Dt(" "+Se(A(i).text)+" ",1),Re(R.$slots,"after")]),_:3},16,["class","to","aria-label"])):(V(),X("a",ri({key:1,class:"external-link",href:A(i).link,rel:A(u),target:A(s),"aria-label":A(h)},R.$attrs),[Re(R.$slots,"before"),Dt(" "+Se(A(i).text)+" ",1),A(a)?(V(),Ae(b,{key:0})):Pe("v-if",!0),Re(R.$slots,"after")],16,Rf))}}}),vt=Le(Tf,[["__file","AutoLink.vue"]]),Lf={class:"hero"},Pf={key:0,id:"main-title"},Of={key:1,class:"description"},Af={key:2,class:"actions"},If=he({__name:"HomeHero",setup(e){const t=bt(),l=Hi(),n=Di(),i=B(()=>n.value&&t.value.heroImageDark!==void 0?t.value.heroImageDark:t.value.heroImage),o=B(()=>t.value.heroText===null?null:t.value.heroText||l.value.title||"Hello"),r=B(()=>t.value.heroAlt||o.value||"hero"),s=B(()=>t.value.tagline===null?null:t.value.tagline||l.value.description||"Welcome to your VuePress site"),a=B(()=>te(t.value.actions)?t.value.actions.map(({text:u,link:h,type:f="primary"})=>({text:u,link:h,type:f})):[]),c=()=>{if(!i.value)return null;const u=ue("img",{src:Bi(i.value),alt:r.value});return t.value.heroImageDark===void 0?u:ue(ji,()=>u)};return(u,h)=>(V(),X("header",Lf,[ie(c),A(o)?(V(),X("h1",Pf,Se(A(o)),1)):Pe("v-if",!0),A(s)?(V(),X("p",Of,Se(A(s)),1)):Pe("v-if",!0),A(a).length?(V(),X("p",Af,[(V(!0),X(we,null,St(A(a),f=>(V(),Ae(vt,{key:f.text,class:Ye(["action-button",[f.type]]),item:f},null,8,["class","item"]))),128))])):Pe("v-if",!0)]))}}),Ff=Le(If,[["__file","HomeHero.vue"]]),Sf={class:"home"},zf=he({__name:"Home",setup(e){return(t,l)=>(V(),X("main",Sf,[ie(Ff),ie(yf),ie(vf),ie(Cf)]))}}),Df=Le(zf,[["__file","Home.vue"]]),Mf=he({__name:"NavbarBrand",setup(e){const t=Kl(),l=Hi(),n=je(),i=Di(),o=B(()=>n.value.home||t.value),r=B(()=>l.value.title),s=B(()=>i.value&&n.value.logoDark!==void 0?n.value.logoDark:n.value.logo),a=()=>{if(!s.value)return null;const c=ue("img",{class:"logo",src:Bi(s.value),alt:r.value});return n.value.logoDark===void 0?c:ue(ji,()=>c)};return(c,u)=>{const h=yt("RouterLink");return V(),Ae(h,{to:A(o)},{default:Me(()=>[ie(a),A(r)?(V(),X("span",{key:0,class:Ye(["site-name",{"can-hide":A(s)}])},Se(A(r)),3)):Pe("v-if",!0)]),_:1},8,["to"])}}}),Nf=Le(Mf,[["__file","NavbarBrand.vue"]]),$f=he({__name:"DropdownTransition",setup(e){const t=n=>{n.style.height=n.scrollHeight+"px"},l=n=>{n.style.height=""};return(n,i)=>(V(),Ae(Ul,{name:"dropdown",onEnter:t,onAfterEnter:l,onBeforeLeave:t},{default:Me(()=>[Re(n.$slots,"default")]),_:3}))}}),Vs=Le($f,[["__file","DropdownTransition.vue"]]),Vf=["aria-label"],Hf={class:"title"},jf=pe("span",{class:"arrow down"},null,-1),Bf=["aria-label"],Uf={class:"title"},qf={class:"navbar-dropdown"},Kf={class:"navbar-dropdown-subtitle"},Wf={key:1},Gf={class:"navbar-dropdown-subitem-wrapper"},Yf=he({__name:"NavbarDropdown",props:{item:{type:Object,required:!0}},setup(e){const t=e,{item:l}=Cn(t),n=B(()=>l.value.ariaLabel||l.value.text),i=ke(!1),o=Nt();dt(()=>o.path,()=>{i.value=!1});const r=a=>{a.detail===0?i.value=!i.value:i.value=!1},s=(a,c)=>c[c.length-1]===a;return(a,c)=>(V(),X("div",{class:Ye(["navbar-dropdown-wrapper",{open:i.value}])},[pe("button",{class:"navbar-dropdown-title",type:"button","aria-label":A(n),onClick:r},[pe("span",Hf,Se(A(l).text),1),jf],8,Vf),pe("button",{class:"navbar-dropdown-title-mobile",type:"button","aria-label":A(n),onClick:c[0]||(c[0]=u=>i.value=!i.value)},[pe("span",Uf,Se(A(l).text),1),pe("span",{class:Ye(["arrow",i.value?"down":"right"])},null,2)],8,Bf),ie(Vs,null,{default:Me(()=>[un(pe("ul",qf,[(V(!0),X(we,null,St(A(l).children,u=>(V(),X("li",{key:u.text,class:"navbar-dropdown-item"},[u.children?(V(),X(we,{key:0},[pe("h4",Kf,[u.link?(V(),Ae(vt,{key:0,item:u,onFocusout:h=>s(u,A(l).children)&&u.children.length===0&&(i.value=!1)},null,8,["item","onFocusout"])):(V(),X("span",Wf,Se(u.text),1))]),pe("ul",Gf,[(V(!0),X(we,null,St(u.children,h=>(V(),X("li",{key:h.link,class:"navbar-dropdown-subitem"},[ie(vt,{item:h,onFocusout:f=>s(h,u.children)&&s(u,A(l).children)&&(i.value=!1)},null,8,["item","onFocusout"])]))),128))])],64)):(V(),Ae(vt,{key:1,item:u,onFocusout:h=>s(u,A(l).children)&&(i.value=!1)},null,8,["item","onFocusout"]))]))),128))],512),[[pn,i.value]])]),_:1})],2))}}),Qf=Le(Yf,[["__file","NavbarDropdown.vue"]]),rr=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Jf=(e,t)=>{if(t.hash===e)return!0;const l=rr(t.path),n=rr(e);return l===n},Hs=(e,t)=>e.link&&Jf(e.link,t)?!0:e.children?e.children.some(l=>Hs(l,t)):!1,js=e=>!ql(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Zf={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Xf=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const l=js(e);return l!==null?Zf[l]:null},em=({docsRepo:e,docsBranch:t,docsDir:l,filePathRelative:n,editLinkPattern:i})=>{if(!n)return null;const o=Xf({docsRepo:e,editLinkPattern:i});return o?o.replace(/:repo/,ql(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,hs(`${ds(l)}/${n}`)):null},tm={key:0,class:"navbar-items"},lm=he({__name:"NavbarItems",setup(e){const t=()=>{const c=Xt(),u=Kl(),h=Hi(),f=je();return B(()=>{var b,w,D;const p=Object.keys(h.value.locales);if(p.length<2)return[];const k=c.currentRoute.value.path,R=c.currentRoute.value.fullPath,x=c.currentRoute.value.hash;return[{text:(b=f.value.selectLanguageText)!=null?b:"unknown language",ariaLabel:(D=(w=f.value.selectLanguageAriaLabel)!=null?w:f.value.selectLanguageText)!=null?D:"unknown language",children:p.map(q=>{var Q,E,M,I,se,H;const ee=(E=(Q=h.value.locales)==null?void 0:Q[q])!=null?E:{},O=(I=(M=f.value.locales)==null?void 0:M[q])!=null?I:{},v=`${ee.lang}`,G=(se=O.selectLanguageName)!=null?se:v;let U;if(v===h.value.lang)U=R;else{const le=k.replace(u.value,q);c.getRoutes().some(ae=>ae.path===le)?U=`${le}${x}`:U=(H=O.home)!=null?H:q}return{text:G,link:U}})}]})},l=()=>{const c=je(),u=B(()=>c.value.repo),h=B(()=>u.value?js(u.value):null),f=B(()=>u.value&&!ql(u.value)?`https://github.com/${u.value}`:u.value),p=B(()=>f.value?c.value.repoLabel?c.value.repoLabel:h.value===null?"Source":h.value:null);return B(()=>!f.value||!p.value?[]:[{text:p.value,link:f.value}])},n=c=>_e(c)?Mi(c):c.children?{...c,children:c.children.map(n)}:c,o=(()=>{const c=je();return B(()=>(c.value.navbar||[]).map(n))})(),r=t(),s=l(),a=B(()=>[...o.value,...r.value,...s.value]);return(c,u)=>A(a).length?(V(),X("nav",tm,[(V(!0),X(we,null,St(A(a),h=>(V(),X("div",{key:h.text,class:"navbar-item"},[h.children?(V(),Ae(Qf,{key:0,item:h},null,8,["item"])):(V(),Ae(vt,{key:1,item:h},null,8,["item"]))]))),128))])):Pe("v-if",!0)}}),Bs=Le(lm,[["__file","NavbarItems.vue"]]),nm=["title"],im={class:"icon",focusable:"false",viewBox:"0 0 32 32"},om=Hc('',9),rm=[om],sm={class:"icon",focusable:"false",viewBox:"0 0 32 32"},am=pe("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),cm=[am],um=he({__name:"ToggleColorModeButton",setup(e){const t=je(),l=Di(),n=()=>{l.value=!l.value};return(i,o)=>(V(),X("button",{class:"toggle-color-mode-button",title:A(t).toggleColorMode,onClick:n},[un((V(),X("svg",im,rm,512)),[[pn,!A(l)]]),un((V(),X("svg",sm,cm,512)),[[pn,A(l)]])],8,nm))}}),dm=Le(um,[["__file","ToggleColorModeButton.vue"]]),hm=["title"],fm=pe("div",{class:"icon","aria-hidden":"true"},[pe("span"),pe("span"),pe("span")],-1),mm=[fm],pm=he({__name:"ToggleSidebarButton",emits:["toggle"],setup(e){const t=je();return(l,n)=>(V(),X("div",{class:"toggle-sidebar-button",title:A(t).toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:n[0]||(n[0]=i=>l.$emit("toggle"))},mm,8,hm))}}),gm=Le(pm,[["__file","ToggleSidebarButton.vue"]]),vm=he({__name:"Navbar",emits:["toggle-sidebar"],setup(e){const t=je(),l=ke(null),n=ke(null),i=ke(0),o=B(()=>i.value?{maxWidth:i.value+"px"}:{});Ze(()=>{const a=r(l.value,"paddingLeft")+r(l.value,"paddingRight"),c=()=>{var u;window.innerWidth<=719?i.value=0:i.value=l.value.offsetWidth-a-(((u=n.value)==null?void 0:u.offsetWidth)||0)};c(),window.addEventListener("resize",c,!1),window.addEventListener("orientationchange",c,!1)});function r(s,a){var h,f,p;const c=(p=(f=(h=s==null?void 0:s.ownerDocument)==null?void 0:h.defaultView)==null?void 0:f.getComputedStyle(s,null))==null?void 0:p[a],u=Number.parseInt(c,10);return Number.isNaN(u)?0:u}return(s,a)=>{const c=yt("NavbarSearch");return V(),X("header",{ref_key:"navbar",ref:l,class:"navbar"},[ie(gm,{onToggle:a[0]||(a[0]=u=>s.$emit("toggle-sidebar"))}),pe("span",{ref_key:"navbarBrand",ref:n},[ie(Nf)],512),pe("div",{class:"navbar-items-wrapper",style:Nl(A(o))},[Re(s.$slots,"before"),ie(Bs,{class:"can-hide"}),Re(s.$slots,"after"),A(t).colorModeSwitch?(V(),Ae(dm,{key:0})):Pe("v-if",!0),ie(c)],4)],512)}}}),bm=Le(vm,[["__file","Navbar.vue"]]),_m={class:"page-meta"},ym={key:0,class:"meta-item edit-link"},km={key:1,class:"meta-item last-updated"},xm={class:"meta-item-label"},Em={class:"meta-item-info"},Cm={key:2,class:"meta-item contributors"},Rm={class:"meta-item-label"},wm={class:"meta-item-info"},Tm=["title"],Lm=Dt(", "),Pm=he({__name:"PageMeta",setup(e){const t=()=>{const a=je(),c=It(),u=bt();return B(()=>{var b,w,D;if(!((w=(b=u.value.editLink)!=null?b:a.value.editLink)!=null?w:!0))return null;const{repo:f,docsRepo:p=f,docsBranch:k="main",docsDir:R="",editLinkText:x}=a.value;if(!p)return null;const g=em({docsRepo:p,docsBranch:k,docsDir:R,filePathRelative:c.value.filePathRelative,editLinkPattern:(D=u.value.editLinkPattern)!=null?D:a.value.editLinkPattern});return g?{text:x!=null?x:"Edit this page",link:g}:null})},l=()=>{const a=je(),c=It(),u=bt();return B(()=>{var p,k,R,x;return!((k=(p=u.value.lastUpdated)!=null?p:a.value.lastUpdated)!=null?k:!0)||!((R=c.value.git)!=null&&R.updatedTime)?null:new Date((x=c.value.git)==null?void 0:x.updatedTime).toLocaleString()})},n=()=>{const a=je(),c=It(),u=bt();return B(()=>{var f,p,k,R;return((p=(f=u.value.contributors)!=null?f:a.value.contributors)!=null?p:!0)&&(R=(k=c.value.git)==null?void 0:k.contributors)!=null?R:null})},i=je(),o=t(),r=l(),s=n();return(a,c)=>{const u=yt("ClientOnly");return V(),X("footer",_m,[A(o)?(V(),X("div",ym,[ie(vt,{class:"meta-item-label",item:A(o)},null,8,["item"])])):Pe("v-if",!0),A(r)?(V(),X("div",km,[pe("span",xm,Se(A(i).lastUpdatedText)+": ",1),ie(u,null,{default:Me(()=>[pe("span",Em,Se(A(r)),1)]),_:1})])):Pe("v-if",!0),A(s)&&A(s).length?(V(),X("div",Cm,[pe("span",Rm,Se(A(i).contributorsText)+": ",1),pe("span",wm,[(V(!0),X(we,null,St(A(s),(h,f)=>(V(),X(we,{key:f},[pe("span",{class:"contributor",title:`email: ${h.email}`},Se(h.name),9,Tm),f!==A(s).length-1?(V(),X(we,{key:0},[Lm],64)):Pe("v-if",!0)],64))),128))])])):Pe("v-if",!0)])}}}),Om=Le(Pm,[["__file","PageMeta.vue"]]),Am={key:0,class:"page-nav"},Im={class:"inner"},Fm={key:0,class:"prev"},Sm={key:1,class:"next"},zm=he({__name:"PageNav",setup(e){const t=a=>a===!1?null:_e(a)?Mi(a):Ii(a)?a:!1,l=(a,c,u)=>{const h=a.findIndex(f=>f.link===c);if(h!==-1){const f=a[h+u];return f!=null&&f.link?f:null}for(const f of a)if(f.children){const p=l(f.children,c,u);if(p)return p}return null},n=bt(),i=Ni(),o=Nt(),r=B(()=>{const a=t(n.value.prev);return a!==!1?a:l(i.value,o.path,-1)}),s=B(()=>{const a=t(n.value.next);return a!==!1?a:l(i.value,o.path,1)});return(a,c)=>A(r)||A(s)?(V(),X("nav",Am,[pe("p",Im,[A(r)?(V(),X("span",Fm,[ie(vt,{item:A(r)},null,8,["item"])])):Pe("v-if",!0),A(s)?(V(),X("span",Sm,[ie(vt,{item:A(s)},null,8,["item"])])):Pe("v-if",!0)])])):Pe("v-if",!0)}}),Dm=Le(zm,[["__file","PageNav.vue"]]),Mm={class:"page"},Nm={class:"theme-default-content"},$m=he({__name:"Page",setup(e){return(t,l)=>{const n=yt("Content");return V(),X("main",Mm,[Re(t.$slots,"top"),pe("div",Nm,[Re(t.$slots,"content-top"),ie(n),Re(t.$slots,"content-bottom")]),ie(Om),ie(Dm),Re(t.$slots,"bottom")])}}}),Vm=Le($m,[["__file","Page.vue"]]),Hm=["onKeydown"],jm={class:"sidebar-item-children"},Bm=he({__name:"SidebarItem",props:{item:{type:Object,required:!0},depth:{type:Number,required:!1,default:0}},setup(e){const t=e,{item:l,depth:n}=Cn(t),i=Nt(),o=Xt(),r=B(()=>Hs(l.value,i)),s=B(()=>({"sidebar-item":!0,"sidebar-heading":n.value===0,active:r.value,collapsible:l.value.collapsible})),a=B(()=>l.value.collapsible?r.value:!0),[c,u]=Ph(a.value),h=p=>{l.value.collapsible&&(p.preventDefault(),u())},f=o.afterEach(p=>{Hl(()=>{c.value=a.value})});return Bl(()=>{f()}),(p,k)=>{var x;const R=yt("SidebarItem",!0);return V(),X("li",null,[A(l).link?(V(),Ae(vt,{key:0,class:Ye(A(s)),item:A(l)},null,8,["class","item"])):(V(),X("p",{key:1,tabindex:"0",class:Ye(A(s)),onClick:h,onKeydown:Eu(h,["enter"])},[Dt(Se(A(l).text)+" ",1),A(l).collapsible?(V(),X("span",{key:0,class:Ye(["arrow",A(c)?"down":"right"])},null,2)):Pe("v-if",!0)],42,Hm)),(x=A(l).children)!=null&&x.length?(V(),Ae(Vs,{key:2},{default:Me(()=>[un(pe("ul",jm,[(V(!0),X(we,null,St(A(l).children,g=>(V(),Ae(R,{key:`${A(n)}${g.text}${g.link}`,item:g,depth:A(n)+1},null,8,["item","depth"]))),128))],512),[[pn,A(c)]])]),_:1})):Pe("v-if",!0)])}}}),Um=Le(Bm,[["__file","SidebarItem.vue"]]),qm={key:0,class:"sidebar-items"},Km=he({__name:"SidebarItems",setup(e){const t=Nt(),l=Ni();return Ze(()=>{dt(()=>t.hash,n=>{const i=document.querySelector(".sidebar");if(!i)return;const o=document.querySelector(`.sidebar a.sidebar-item[href="${t.path}${n}"]`);if(!o)return;const{top:r,height:s}=i.getBoundingClientRect(),{top:a,height:c}=o.getBoundingClientRect();ar+s&&o.scrollIntoView(!1)})}),(n,i)=>A(l).length?(V(),X("ul",qm,[(V(!0),X(we,null,St(A(l),o=>(V(),Ae(Um,{key:`${o.text}${o.link}`,item:o},null,8,["item"]))),128))])):Pe("v-if",!0)}}),Wm=Le(Km,[["__file","SidebarItems.vue"]]),Gm={class:"sidebar"},Ym=he({__name:"Sidebar",setup(e){return(t,l)=>(V(),X("aside",Gm,[ie(Bs),Re(t.$slots,"top"),ie(Wm),Re(t.$slots,"bottom")]))}}),Qm=Le(Ym,[["__file","Sidebar.vue"]]),Jm=he({__name:"Layout",setup(e){const t=It(),l=bt(),n=je(),i=B(()=>l.value.navbar!==!1&&n.value.navbar!==!1),o=Ni(),r=ke(!1),s=x=>{r.value=typeof x=="boolean"?x:!r.value},a={x:0,y:0},c=x=>{a.x=x.changedTouches[0].clientX,a.y=x.changedTouches[0].clientY},u=x=>{const g=x.changedTouches[0].clientX-a.x,b=x.changedTouches[0].clientY-a.y;Math.abs(g)>Math.abs(b)&&Math.abs(g)>40&&(g>0&&a.x<=80?s(!0):s(!1))},h=B(()=>[{"no-navbar":!i.value,"no-sidebar":!o.value.length,"sidebar-open":r.value},l.value.pageClass]);let f;Ze(()=>{f=Xt().afterEach(()=>{s(!1)})}),Ln(()=>{f()});const p=Ms(),k=p.resolve,R=p.pending;return(x,g)=>(V(),X("div",{class:Ye(["theme-container",A(h)]),onTouchstart:c,onTouchend:u},[Re(x.$slots,"navbar",{},()=>[A(i)?(V(),Ae(bm,{key:0,onToggleSidebar:s},{before:Me(()=>[Re(x.$slots,"navbar-before")]),after:Me(()=>[Re(x.$slots,"navbar-after")]),_:3})):Pe("v-if",!0)]),pe("div",{class:"sidebar-mask",onClick:g[0]||(g[0]=b=>s(!1))}),Re(x.$slots,"sidebar",{},()=>[ie(Qm,null,{top:Me(()=>[Re(x.$slots,"sidebar-top")]),bottom:Me(()=>[Re(x.$slots,"sidebar-bottom")]),_:3})]),Re(x.$slots,"page",{},()=>[A(l).home?(V(),Ae(Df,{key:0})):(V(),Ae(Ul,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:A(k),onBeforeLeave:A(R)},{default:Me(()=>[(V(),Ae(Vm,{key:A(t).path},{top:Me(()=>[Re(x.$slots,"page-top")]),"content-top":Me(()=>[Re(x.$slots,"page-content-top")]),"content-bottom":Me(()=>[Re(x.$slots,"page-content-bottom")]),bottom:Me(()=>[Re(x.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34))}}),Zm=Le(Jm,[["__file","Layout.vue"]]),Xm={class:"theme-container"},ep={class:"page"},tp={class:"theme-default-content"},lp=pe("h1",null,"404",-1),np=he({__name:"NotFound",setup(e){var s,a,c;const t=Kl(),l=je(),n=(s=l.value.notFound)!=null?s:["Not Found"],i=()=>n[Math.floor(Math.random()*n.length)],o=(a=l.value.home)!=null?a:t.value,r=(c=l.value.backToHome)!=null?c:"Back to home";return(u,h)=>{const f=yt("RouterLink");return V(),X("div",Xm,[pe("main",ep,[pe("div",tp,[lp,pe("blockquote",null,Se(i()),1),ie(f,{to:A(o)},{default:Me(()=>[Dt(Se(A(r)),1)]),_:1},8,["to"])])])])}}}),ip=Le(np,[["__file","NotFound.vue"]]);const op=Mt({enhance({app:e,router:t}){e.component("Badge",gh),e.component("CodeGroup",vh),e.component("CodeGroupItem",kh),e.component("AutoLinkExternalIcon",()=>{const n=e.component("ExternalLinkIcon");return n?ue(n):null}),e.component("NavbarSearch",()=>{const n=e.component("Docsearch")||e.component("SearchBox");return n?ue(n):null});const l=t.options.scrollBehavior;t.options.scrollBehavior=async(...n)=>(await Ms().wait(),l(...n))},setup(){rf(),cf()},layouts:{Layout:Zm,NotFound:ip}}),rp=(e,t)=>t.some(l=>{if(_e(l))return l===e.key;const{key:n,ctrl:i=!1,shift:o=!1,alt:r=!1}=l;return n===e.key&&i===e.ctrlKey&&o===e.shiftKey&&r===e.altKey}),sp=/[^\x00-\x7F]/,ap=e=>e.split(/\s+/g).map(t=>t.trim()).filter(t=>!!t),sr=e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),ar=(e,t)=>{const l=t.join(" "),n=ap(e);if(sp.test(e))return n.some(r=>l.toLowerCase().indexOf(r)>-1);const i=e.endsWith(" ");return new RegExp(n.map((r,s)=>n.length===s+1&&!i?`(?=.*\\b${sr(r)})`:`(?=.*\\b${sr(r)}\\b)`).join("")+".+","gi").test(l)},cp=({input:e,hotKeys:t})=>{if(t.value.length===0)return;const l=n=>{!e.value||rp(n,t.value)&&!e.value.contains(n.target)&&(n.preventDefault(),e.value.focus())};Ze(()=>{document.addEventListener("keydown",l)}),Bl(()=>{document.removeEventListener("keydown",l)})},up=[{title:"Home",headers:[{level:3,title:"Bring it on! Let reflection become poetic and picturesque",slug:"bring-it-on-let-reflection-become-poetic-and-picturesque",link:"#bring-it-on-let-reflection-become-poetic-and-picturesque",children:[]}],path:"/en/",pathLocale:"/en/",extraFields:[]},{title:"\u9996\u9875",headers:[{level:3,title:"\u6765\u5427\uFF01\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F",slug:"\u6765\u5427-\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F",link:"#\u6765\u5427-\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F",children:[]}],path:"/zh-cn/",pathLocale:"/zh-cn/",extraFields:[]},{title:"About this Document",headers:[{level:2,title:"License",slug:"license",link:"#license",children:[]}],path:"/en/about/about.html",pathLocale:"/en/",extraFields:[]},{title:"Changelog",headers:[{level:3,title:"1.0.2 | 2023.04.25",slug:"_1-0-2-2023-04-25",link:"#_1-0-2-2023-04-25",children:[]},{level:3,title:"1.0.1 | 2023.04.16",slug:"_1-0-1-2023-04-16",link:"#_1-0-1-2023-04-16",children:[]},{level:3,title:"1.0.0 | 2023.01.26",slug:"_1-0-0-2023-01-26",link:"#_1-0-0-2023-01-26",children:[]}],path:"/en/about/changelog.html",pathLocale:"/en/",extraFields:[]},{title:"Contact Us",headers:[{level:2,title:"Help with Maintenance",slug:"help-with-maintenance",link:"#help-with-maintenance",children:[]}],path:"/en/about/contacts.html",pathLocale:"/en/",extraFields:[]},{title:"Looking for Future",headers:[{level:2,title:"Future Plans",slug:"future-plans",link:"#future-plans",children:[{level:3,title:"Automatically Generate Reflection Code",slug:"automatically-generate-reflection-code",link:"#automatically-generate-reflection-code",children:[]}]}],path:"/en/about/future.html",pathLocale:"/en/",extraFields:[]},{title:"Features",headers:[{level:2,title:"Class Extensions",slug:"class-extensions",link:"#class-extensions",children:[{level:3,title:"Object Conversion",slug:"object-conversion",link:"#object-conversion",children:[]},{level:3,title:"Existential Judgment",slug:"existential-judgment",link:"#existential-judgment",children:[]},{level:3,title:"Vague Search",slug:"vague-search",link:"#vague-search",children:[]}]},{level:2,title:"Member Extensions",slug:"member-extensions",link:"#member-extensions",children:[{level:3,title:"Find and Reflection",slug:"find-and-reflection",link:"#find-and-reflection",children:[]},{level:3,title:"Optional Find Conditions",slug:"optional-find-conditions",link:"#optional-find-conditions",children:[]},{level:3,title:"Find in Super Class",slug:"find-in-super-class",link:"#find-in-super-class",children:[]},{level:3,title:"Vague Find",slug:"vague-find",link:"#vague-find",children:[]},{level:3,title:"Multiple Find",slug:"multiple-find",link:"#multiple-find",children:[]},{level:3,title:"Static Bytecode",slug:"static-bytecode",link:"#static-bytecode",children:[]},{level:3,title:"Obfuscated Bytecode",slug:"obfuscated-bytecode",link:"#obfuscated-bytecode",children:[]},{level:3,title:"Directly Called",slug:"directly-called",link:"#directly-called",children:[]},{level:3,title:"Find Again",slug:"find-again",link:"#find-again",children:[]},{level:3,title:"Relative Matching",slug:"relative-matching",link:"#relative-matching",children:[]},{level:3,title:"Calling Generics",slug:"calling-generics",link:"#calling-generics",children:[]},{level:3,title:"Pay Attention of Trap",slug:"pay-attention-of-trap",link:"#pay-attention-of-trap",children:[]}]},{level:2,title:"Common Type Extensions",slug:"common-type-extensions",link:"#common-type-extensions",children:[]}],path:"/en/api/features.html",pathLocale:"/en/",extraFields:[]},{title:"Document Introduce",headers:[{level:2,title:"Function Description",slug:"function-description",link:"#function-description",children:[]},{level:2,title:"Function Example Description",slug:"function-example-description",link:"#function-example-description",children:[]},{level:2,title:"Change Record Description",slug:"change-record-description",link:"#change-record-description",children:[]},{level:2,title:"Related Symbols Description",slug:"related-symbols-description",link:"#related-symbols-description",children:[]}],path:"/en/api/home.html",pathLocale:"/en/",extraFields:[]},{title:"API Basic Configs",headers:[{level:2,title:"Get the API Version",slug:"get-the-api-version",link:"#get-the-api-version",children:[]},{level:2,title:"Configure API Related Functions",slug:"configure-api-related-functions",link:"#configure-api-related-functions",children:[{level:3,title:"Custom Debug Log Tag",slug:"custom-debug-log-tag",link:"#custom-debug-log-tag",children:[]},{level:3,title:"Enable or Disable Debug Mode",slug:"enable-or-disable-debug-mode",link:"#enable-or-disable-debug-mode",children:[]},{level:3,title:"Enable or Disable Debug Logs",slug:"enable-or-disable-debug-logs",link:"#enable-or-disable-debug-logs",children:[]},{level:3,title:"Use the configs Method to Configure",slug:"use-the-configs-method-to-configure",link:"#use-the-configs-method-to-configure",children:[]}]}],path:"/en/config/api-example.html",pathLocale:"/en/",extraFields:[]},{title:"API Exception Handling",headers:[{level:2,title:"Non-Blocking Exceptions",slug:"non-blocking-exceptions",link:"#non-blocking-exceptions",children:[]},{level:2,title:"Blocking Exceptions",slug:"blocking-exceptions",link:"#blocking-exceptions",children:[]}],path:"/en/config/api-exception.html",pathLocale:"/en/",extraFields:[]},{title:"Introduce",headers:[{level:2,title:"Background",slug:"background",link:"#background",children:[]},{level:2,title:"Usage",slug:"usage",link:"#usage",children:[]},{level:2,title:"Language Requirement",slug:"language-requirement",link:"#language-requirement",children:[]},{level:2,title:"Source of Inspiration",slug:"source-of-inspiration",link:"#source-of-inspiration",children:[]}],path:"/en/guide/home.html",pathLocale:"/en/",extraFields:[]},{title:"Quick Start",headers:[{level:2,title:"Environment Requirements",slug:"environment-requirements",link:"#environment-requirements",children:[]},{level:2,title:"Project Requirements",slug:"project-requirements",link:"#project-requirements",children:[]},{level:2,title:"Integration Dependencies",slug:"integration-dependencies",link:"#integration-dependencies",children:[]}],path:"/en/guide/quick-start.html",pathLocale:"/en/",extraFields:[]},{title:"\u5173\u4E8E\u6B64\u6587\u6863",headers:[{level:2,title:"License",slug:"license",link:"#license",children:[]}],path:"/zh-cn/about/about.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u66F4\u65B0\u65E5\u5FD7",headers:[{level:3,title:"1.0.2 | 2023.04.25",slug:"_1-0-2-2023-04-25",link:"#_1-0-2-2023-04-25",children:[]},{level:3,title:"1.0.1 | 2023.04.16",slug:"_1-0-1-2023-04-16",link:"#_1-0-1-2023-04-16",children:[]},{level:3,title:"1.0.0 | 2023.01.26",slug:"_1-0-0-2023-01-26",link:"#_1-0-0-2023-01-26",children:[]}],path:"/zh-cn/about/changelog.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u8054\u7CFB\u6211\u4EEC",headers:[{level:2,title:"\u52A9\u529B\u7EF4\u62A4",slug:"\u52A9\u529B\u7EF4\u62A4",link:"#\u52A9\u529B\u7EF4\u62A4",children:[]}],path:"/zh-cn/about/contacts.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u5C55\u671B\u672A\u6765",headers:[{level:2,title:"\u672A\u6765\u7684\u8BA1\u5212",slug:"\u672A\u6765\u7684\u8BA1\u5212",link:"#\u672A\u6765\u7684\u8BA1\u5212",children:[{level:3,title:"\u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801",slug:"\u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801",link:"#\u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801",children:[]}]}],path:"/zh-cn/about/future.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u529F\u80FD\u4ECB\u7ECD",headers:[{level:2,title:"Class \u6269\u5C55",slug:"class-\u6269\u5C55",link:"#class-\u6269\u5C55",children:[{level:3,title:"\u5BF9\u8C61\u8F6C\u6362",slug:"\u5BF9\u8C61\u8F6C\u6362",link:"#\u5BF9\u8C61\u8F6C\u6362",children:[]},{level:3,title:"\u5B58\u5728\u5224\u65AD",slug:"\u5B58\u5728\u5224\u65AD",link:"#\u5B58\u5728\u5224\u65AD",children:[]},{level:3,title:"\u6A21\u7CCA\u67E5\u627E",slug:"\u6A21\u7CCA\u67E5\u627E",link:"#\u6A21\u7CCA\u67E5\u627E",children:[]}]},{level:2,title:"Member \u6269\u5C55",slug:"member-\u6269\u5C55",link:"#member-\u6269\u5C55",children:[{level:3,title:"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528",slug:"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528",link:"#\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528",children:[]},{level:3,title:"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6",slug:"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6",link:"#\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6",children:[]},{level:3,title:"\u5728\u7236\u7C7B\u67E5\u627E",slug:"\u5728\u7236\u7C7B\u67E5\u627E",link:"#\u5728\u7236\u7C7B\u67E5\u627E",children:[]},{level:3,title:"\u6A21\u7CCA\u67E5\u627E",slug:"\u6A21\u7CCA\u67E5\u627E-1",link:"#\u6A21\u7CCA\u67E5\u627E-1",children:[]},{level:3,title:"\u591A\u91CD\u67E5\u627E",slug:"\u591A\u91CD\u67E5\u627E-1",link:"#\u591A\u91CD\u67E5\u627E-1",children:[]},{level:3,title:"\u9759\u6001\u5B57\u8282\u7801",slug:"\u9759\u6001\u5B57\u8282\u7801",link:"#\u9759\u6001\u5B57\u8282\u7801",children:[]},{level:3,title:"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801",slug:"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801",link:"#\u6DF7\u6DC6\u7684\u5B57\u8282\u7801",children:[]},{level:3,title:"\u76F4\u63A5\u8C03\u7528",slug:"\u76F4\u63A5\u8C03\u7528",link:"#\u76F4\u63A5\u8C03\u7528",children:[]},{level:3,title:"\u518D\u6B21\u67E5\u627E",slug:"\u518D\u6B21\u67E5\u627E",link:"#\u518D\u6B21\u67E5\u627E",children:[]},{level:3,title:"\u76F8\u5BF9\u5339\u914D",slug:"\u76F8\u5BF9\u5339\u914D",link:"#\u76F8\u5BF9\u5339\u914D",children:[]},{level:3,title:"\u8C03\u7528\u6CDB\u578B",slug:"\u8C03\u7528\u6CDB\u578B",link:"#\u8C03\u7528\u6CDB\u578B",children:[]},{level:3,title:"\u6CE8\u610F\u8BEF\u533A",slug:"\u6CE8\u610F\u8BEF\u533A",link:"#\u6CE8\u610F\u8BEF\u533A",children:[]}]},{level:2,title:"\u5E38\u7528\u7C7B\u578B\u6269\u5C55",slug:"\u5E38\u7528\u7C7B\u578B\u6269\u5C55",link:"#\u5E38\u7528\u7C7B\u578B\u6269\u5C55",children:[]}],path:"/zh-cn/api/features.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u6587\u6863\u4ECB\u7ECD",headers:[{level:2,title:"\u529F\u80FD\u63CF\u8FF0\u8BF4\u660E",slug:"\u529F\u80FD\u63CF\u8FF0\u8BF4\u660E",link:"#\u529F\u80FD\u63CF\u8FF0\u8BF4\u660E",children:[]},{level:2,title:"\u529F\u80FD\u793A\u4F8B\u8BF4\u660E",slug:"\u529F\u80FD\u793A\u4F8B\u8BF4\u660E",link:"#\u529F\u80FD\u793A\u4F8B\u8BF4\u660E",children:[]},{level:2,title:"\u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E",slug:"\u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E",link:"#\u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E",children:[]},{level:2,title:"\u76F8\u5173\u7B26\u53F7\u8BF4\u660E",slug:"\u76F8\u5173\u7B26\u53F7\u8BF4\u660E",link:"#\u76F8\u5173\u7B26\u53F7\u8BF4\u660E",children:[]}],path:"/zh-cn/api/home.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u4ECB\u7ECD",headers:[{level:2,title:"\u80CC\u666F",slug:"\u80CC\u666F",link:"#\u80CC\u666F",children:[]},{level:2,title:"\u7528\u9014",slug:"\u7528\u9014",link:"#\u7528\u9014",children:[]},{level:2,title:"\u8BED\u8A00\u8981\u6C42",slug:"\u8BED\u8A00\u8981\u6C42",link:"#\u8BED\u8A00\u8981\u6C42",children:[]},{level:2,title:"\u7075\u611F\u6765\u6E90",slug:"\u7075\u611F\u6765\u6E90",link:"#\u7075\u611F\u6765\u6E90",children:[]}],path:"/zh-cn/guide/home.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"\u5FEB\u901F\u5F00\u59CB",headers:[{level:2,title:"\u73AF\u5883\u8981\u6C42",slug:"\u73AF\u5883\u8981\u6C42",link:"#\u73AF\u5883\u8981\u6C42",children:[]},{level:2,title:"\u9879\u76EE\u8981\u6C42",slug:"\u9879\u76EE\u8981\u6C42",link:"#\u9879\u76EE\u8981\u6C42",children:[{level:3,title:"\u96C6\u6210\u4F9D\u8D56",slug:"\u96C6\u6210\u4F9D\u8D56",link:"#\u96C6\u6210\u4F9D\u8D56",children:[]}]}],path:"/zh-cn/guide/quick-start.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"API \u57FA\u672C\u914D\u7F6E",headers:[{level:2,title:"\u83B7\u53D6 API \u7248\u672C",slug:"\u83B7\u53D6-api-\u7248\u672C",link:"#\u83B7\u53D6-api-\u7248\u672C",children:[]},{level:2,title:"\u914D\u7F6E API \u76F8\u5173\u529F\u80FD",slug:"\u914D\u7F6E-api-\u76F8\u5173\u529F\u80FD",link:"#\u914D\u7F6E-api-\u76F8\u5173\u529F\u80FD",children:[{level:3,title:"\u81EA\u5B9A\u4E49\u8C03\u8BD5\u65E5\u5FD7\u6807\u7B7E",slug:"\u81EA\u5B9A\u4E49\u8C03\u8BD5\u65E5\u5FD7\u6807\u7B7E",link:"#\u81EA\u5B9A\u4E49\u8C03\u8BD5\u65E5\u5FD7\u6807\u7B7E",children:[]},{level:3,title:"\u542F\u7528\u6216\u7981\u7528 Debug \u6A21\u5F0F",slug:"\u542F\u7528\u6216\u7981\u7528-debug-\u6A21\u5F0F",link:"#\u542F\u7528\u6216\u7981\u7528-debug-\u6A21\u5F0F",children:[]},{level:3,title:"\u542F\u7528\u6216\u7981\u7528\u8C03\u8BD5\u65E5\u5FD7\u7684\u8F93\u51FA\u529F\u80FD",slug:"\u542F\u7528\u6216\u7981\u7528\u8C03\u8BD5\u65E5\u5FD7\u7684\u8F93\u51FA\u529F\u80FD",link:"#\u542F\u7528\u6216\u7981\u7528\u8C03\u8BD5\u65E5\u5FD7\u7684\u8F93\u51FA\u529F\u80FD",children:[]},{level:3,title:"\u4F7F\u7528 configs \u65B9\u6CD5\u914D\u7F6E",slug:"\u4F7F\u7528-configs-\u65B9\u6CD5\u914D\u7F6E",link:"#\u4F7F\u7528-configs-\u65B9\u6CD5\u914D\u7F6E",children:[]}]}],path:"/zh-cn/config/api-example.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"API \u5F02\u5E38\u5904\u7406",headers:[{level:2,title:"\u975E\u963B\u65AD\u5F02\u5E38",slug:"\u975E\u963B\u65AD\u5F02\u5E38",link:"#\u975E\u963B\u65AD\u5F02\u5E38",children:[]},{level:2,title:"\u963B\u65AD\u5F02\u5E38",slug:"\u963B\u65AD\u5F02\u5E38",link:"#\u963B\u65AD\u5F02\u5E38",children:[]}],path:"/zh-cn/config/api-exception.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"YukiReflection - object",headers:[{level:2,title:"API_VERSION_NAME - field",slug:"api-version-name-field",link:"#api-version-name-field",children:[]},{level:2,title:"API_VERSION_CODE - field",slug:"api-version-code-field",link:"#api-version-code-field",children:[]},{level:2,title:"Configs - object",slug:"configs-object",link:"#configs-object",children:[{level:3,title:"debugTag - field",slug:"debugtag-field",link:"#debugtag-field",children:[]},{level:3,title:"isDebug - field",slug:"isdebug-field",link:"#isdebug-field",children:[]},{level:3,title:"isAllowPrintingLogs - field",slug:"isallowprintinglogs-field",link:"#isallowprintinglogs-field",children:[]}]},{level:2,title:"configs - method",slug:"configs-method",link:"#configs-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/YukiReflection.html",pathLocale:"/en/",extraFields:[]},{title:"YukiReflection - object",headers:[{level:2,title:"API_VERSION_NAME - field",slug:"api-version-name-field",link:"#api-version-name-field",children:[]},{level:2,title:"API_VERSION_CODE - field",slug:"api-version-code-field",link:"#api-version-code-field",children:[]},{level:2,title:"Configs - object",slug:"configs-object",link:"#configs-object",children:[{level:3,title:"debugTag - field",slug:"debugtag-field",link:"#debugtag-field",children:[]},{level:3,title:"isDebug - field",slug:"isdebug-field",link:"#isdebug-field",children:[]},{level:3,title:"isAllowPrintingLogs - field",slug:"isallowprintinglogs-field",link:"#isallowprintinglogs-field",children:[]}]},{level:2,title:"configs - method",slug:"configs-method",link:"#configs-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"CurrentClass - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"generic - method",slug:"generic-method",link:"#generic-method",children:[]},{level:2,title:"generic - method",slug:"generic-method-1",link:"#generic-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"SuperClass - class",slug:"superclass-class",link:"#superclass-class",children:[{level:3,title:"name - field",slug:"name-field-1",link:"#name-field-1",children:[]},{level:3,title:"simpleName - field",slug:"simplename-field-1",link:"#simplename-field-1",children:[]},{level:3,title:"generic - method",slug:"generic-method-2",link:"#generic-method-2",children:[]},{level:3,title:"generic - method",slug:"generic-method-3",link:"#generic-method-3",children:[]},{level:3,title:"field - method",slug:"field-method-1",link:"#field-method-1",children:[]},{level:3,title:"method - method",slug:"method-method-1",link:"#method-method-1",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",pathLocale:"/en/",extraFields:[]},{title:"GenericClass - class",headers:[{level:2,title:"argument - method",slug:"argument-method",link:"#argument-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html",pathLocale:"/en/",extraFields:[]},{title:"VariousClass - class",headers:[{level:2,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:2,title:"getOrNull - method",slug:"getornull-method",link:"#getornull-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html",pathLocale:"/en/",extraFields:[]},{title:"ReflectionFactory - kt",headers:[{level:2,title:"ClassLoader.listOfClasses - ext-method",slug:"classloader-listofclasses-ext-method",link:"#classloader-listofclasses-ext-method",children:[]},{level:2,title:"ClassLoader.searchClass - ext-method",slug:"classloader-searchclass-ext-method",link:"#classloader-searchclass-ext-method",children:[]},{level:2,title:"Class.hasExtends - ext-field",slug:"class-hasextends-ext-field",link:"#class-hasextends-ext-field",children:[]},{level:2,title:"Class?.extends - ext-method",slug:"class-extends-ext-method",link:"#class-extends-ext-method",children:[]},{level:2,title:"Class?.notExtends - ext-method",slug:"class-notextends-ext-method",link:"#class-notextends-ext-method",children:[]},{level:2,title:"Class?.implements - ext-method",slug:"class-implements-ext-method",link:"#class-implements-ext-method",children:[]},{level:2,title:"Class?.notImplements - ext-method",slug:"class-notimplements-ext-method",link:"#class-notimplements-ext-method",children:[]},{level:2,title:"Class.toJavaPrimitiveType - ext-method",slug:"class-tojavaprimitivetype-ext-method",link:"#class-tojavaprimitivetype-ext-method",children:[]},{level:2,title:"String.toClass - ext-method",slug:"string-toclass-ext-method",link:"#string-toclass-ext-method",children:[]},{level:2,title:"String.toClassOrNull - ext-method",slug:"string-toclassornull-ext-method",link:"#string-toclassornull-ext-method",children:[]},{level:2,title:"classOf - method",slug:"classof-method",link:"#classof-method",children:[]},{level:2,title:"String.hasClass - ext-method",slug:"string-hasclass-ext-method",link:"#string-hasclass-ext-method",children:[]},{level:2,title:"Class.hasField - ext-method",slug:"class-hasfield-ext-method",link:"#class-hasfield-ext-method",children:[]},{level:2,title:"Class.hasMethod - ext-method",slug:"class-hasmethod-ext-method",link:"#class-hasmethod-ext-method",children:[]},{level:2,title:"Class.hasConstructor - ext-method",slug:"class-hasconstructor-ext-method",link:"#class-hasconstructor-ext-method",children:[]},{level:2,title:"Member.hasModifiers - ext-method",slug:"member-hasmodifiers-ext-method",link:"#member-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.hasModifiers - ext-method",slug:"class-hasmodifiers-ext-method",link:"#class-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.field - ext-method",slug:"class-field-ext-method",link:"#class-field-ext-method",children:[]},{level:2,title:"Class.method - ext-method",slug:"class-method-ext-method",link:"#class-method-ext-method",children:[]},{level:2,title:"Class.constructor - ext-method",slug:"class-constructor-ext-method",link:"#class-constructor-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method",link:"#class-generic-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method-1",link:"#class-generic-ext-method-1",children:[]},{level:2,title:"Any.current - ext-method",slug:"any-current-ext-method",link:"#any-current-ext-method",children:[]},{level:2,title:"Class.buildOf - ext-method",slug:"class-buildof-ext-method",link:"#class-buildof-ext-method",children:[]},{level:2,title:"Class.allMethods - ext-method",slug:"class-allmethods-ext-method",link:"#class-allmethods-ext-method",children:[]},{level:2,title:"Class.allConstructors - ext-method",slug:"class-allconstructors-ext-method",link:"#class-allconstructors-ext-method",children:[]},{level:2,title:"Class.allFields - ext-method",slug:"class-allfields-ext-method",link:"#class-allfields-ext-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",pathLocale:"/en/",extraFields:[]},{title:"CurrentClass - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"generic - method",slug:"generic-method",link:"#generic-method",children:[]},{level:2,title:"generic - method",slug:"generic-method-1",link:"#generic-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"SuperClass - class",slug:"superclass-class",link:"#superclass-class",children:[{level:3,title:"name - field",slug:"name-field-1",link:"#name-field-1",children:[]},{level:3,title:"simpleName - field",slug:"simplename-field-1",link:"#simplename-field-1",children:[]},{level:3,title:"generic - method",slug:"generic-method-2",link:"#generic-method-2",children:[]},{level:3,title:"generic - method",slug:"generic-method-3",link:"#generic-method-3",children:[]},{level:3,title:"field - method",slug:"field-method-1",link:"#field-method-1",children:[]},{level:3,title:"method - method",slug:"method-method-1",link:"#method-method-1",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"GenericClass - class",headers:[{level:2,title:"argument - method",slug:"argument-method",link:"#argument-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"VariousClass - class",headers:[{level:2,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:2,title:"getOrNull - method",slug:"getornull-method",link:"#getornull-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ReflectionFactory - kt",headers:[{level:2,title:"ClassLoader.listOfClasses - ext-method",slug:"classloader-listofclasses-ext-method",link:"#classloader-listofclasses-ext-method",children:[]},{level:2,title:"ClassLoader.searchClass - ext-method",slug:"classloader-searchclass-ext-method",link:"#classloader-searchclass-ext-method",children:[]},{level:2,title:"Class.hasExtends - ext-field",slug:"class-hasextends-ext-field",link:"#class-hasextends-ext-field",children:[]},{level:2,title:"Class?.extends - ext-method",slug:"class-extends-ext-method",link:"#class-extends-ext-method",children:[]},{level:2,title:"Class?.notExtends - ext-method",slug:"class-notextends-ext-method",link:"#class-notextends-ext-method",children:[]},{level:2,title:"Class?.implements - ext-method",slug:"class-implements-ext-method",link:"#class-implements-ext-method",children:[]},{level:2,title:"Class?.notImplements - ext-method",slug:"class-notimplements-ext-method",link:"#class-notimplements-ext-method",children:[]},{level:2,title:"Class.toJavaPrimitiveType - ext-method",slug:"class-tojavaprimitivetype-ext-method",link:"#class-tojavaprimitivetype-ext-method",children:[]},{level:2,title:"String.toClass - ext-method",slug:"string-toclass-ext-method",link:"#string-toclass-ext-method",children:[]},{level:2,title:"String.toClassOrNull - ext-method",slug:"string-toclassornull-ext-method",link:"#string-toclassornull-ext-method",children:[]},{level:2,title:"classOf - method",slug:"classof-method",link:"#classof-method",children:[]},{level:2,title:"String.hasClass - ext-method",slug:"string-hasclass-ext-method",link:"#string-hasclass-ext-method",children:[]},{level:2,title:"Class.hasField - ext-method",slug:"class-hasfield-ext-method",link:"#class-hasfield-ext-method",children:[]},{level:2,title:"Class.hasMethod - ext-method",slug:"class-hasmethod-ext-method",link:"#class-hasmethod-ext-method",children:[]},{level:2,title:"Class.hasConstructor - ext-method",slug:"class-hasconstructor-ext-method",link:"#class-hasconstructor-ext-method",children:[]},{level:2,title:"Member.hasModifiers - ext-method",slug:"member-hasmodifiers-ext-method",link:"#member-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.hasModifiers - ext-method",slug:"class-hasmodifiers-ext-method",link:"#class-hasmodifiers-ext-method",children:[]},{level:2,title:"Class.field - ext-method",slug:"class-field-ext-method",link:"#class-field-ext-method",children:[]},{level:2,title:"Class.method - ext-method",slug:"class-method-ext-method",link:"#class-method-ext-method",children:[]},{level:2,title:"Class.constructor - ext-method",slug:"class-constructor-ext-method",link:"#class-constructor-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method",link:"#class-generic-ext-method",children:[]},{level:2,title:"Class.generic - ext-method",slug:"class-generic-ext-method-1",link:"#class-generic-ext-method-1",children:[]},{level:2,title:"Any.current - ext-method",slug:"any-current-ext-method",link:"#any-current-ext-method",children:[]},{level:2,title:"Class.buildOf - ext-method",slug:"class-buildof-ext-method",link:"#class-buildof-ext-method",children:[]},{level:2,title:"Class.allMethods - ext-method",slug:"class-allmethods-ext-method",link:"#class-allmethods-ext-method",children:[]},{level:2,title:"Class.allConstructors - ext-method",slug:"class-allconstructors-ext-method",link:"#class-allconstructors-ext-method",children:[]},{level:2,title:"Class.allFields - ext-method",slug:"class-allfields-ext-method",link:"#class-allfields-ext-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"BaseFinder - class",headers:[{level:2,title:"BaseFinder.IndexTypeCondition - class",slug:"basefinder-indextypecondition-class",link:"#basefinder-indextypecondition-class",children:[{level:3,title:"index - method",slug:"index-method",link:"#index-method",children:[]},{level:3,title:"index - method",slug:"index-method-1",link:"#index-method-1",children:[]},{level:3,title:"IndexTypeConditionSort - class",slug:"indextypeconditionsort-class",link:"#indextypeconditionsort-class",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",pathLocale:"/en/",extraFields:[]},{title:"DexClassFinder - class",headers:[{level:2,title:"companion object - object",slug:"companion-object-object",link:"#companion-object-object",children:[{level:3,title:"clearCache - method",slug:"clearcache-method",link:"#clearcache-method",children:[]}]},{level:2,title:"fullName - field",slug:"fullname-field",link:"#fullname-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"singleName - field",slug:"singlename-field",link:"#singlename-field",children:[]},{level:2,title:"from - method",slug:"from-method",link:"#from-method",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method",link:"#fullname-method",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method",link:"#simplename-method",children:[]},{level:2,title:"singleName - method",slug:"singlename-method",link:"#singlename-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method-1",link:"#fullname-method-1",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method-1",link:"#simplename-method-1",children:[]},{level:2,title:"singleName - method",slug:"singlename-method-1",link:"#singlename-method-1",children:[]},{level:2,title:"extends - method",slug:"extends-method",link:"#extends-method",children:[]},{level:2,title:"extends - method",slug:"extends-method-1",link:"#extends-method-1",children:[]},{level:2,title:"implements - method",slug:"implements-method",link:"#implements-method",children:[]},{level:2,title:"implements - method",slug:"implements-method-1",link:"#implements-method-1",children:[]},{level:2,title:"anonymous - method",slug:"anonymous-method",link:"#anonymous-method",children:[]},{level:2,title:"noExtends - method",slug:"noextends-method",link:"#noextends-method",children:[]},{level:2,title:"noImplements - method",slug:"noimplements-method",link:"#noimplements-method",children:[]},{level:2,title:"noSuper - method",slug:"nosuper-method",link:"#nosuper-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method",link:"#enclosing-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method-1",link:"#enclosing-method-1",children:[]},{level:2,title:"FromPackageRules - class",slug:"frompackagerules-class",link:"#frompackagerules-class",children:[{level:3,title:"absolute - method",slug:"absolute-method",link:"#absolute-method",children:[]}]},{level:2,title:"ClassNameRules - class",slug:"classnamerules-class",link:"#classnamerules-class",children:[{level:3,title:"optional - method",slug:"optional-method",link:"#optional-method",children:[]}]},{level:2,title:"member - method",slug:"member-method",link:"#member-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:2,title:"Result - class",slug:"result-class",link:"#result-class",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"all - method",slug:"all-method-1",link:"#all-method-1",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"onNoClassDefFoundError - method",slug:"onnoclassdeffounderror-method",link:"#onnoclassdeffounderror-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",pathLocale:"/en/",extraFields:[]},{title:"ConstructorFinder - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchConstructor - method",slug:"onnosuchconstructor-method",link:"#onnosuchconstructor-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",pathLocale:"/en/",extraFields:[]},{title:"FieldFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]},{level:2,title:"type - method",slug:"type-method-1",link:"#type-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchField - method",slug:"onnosuchfield-method",link:"#onnosuchfield-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",pathLocale:"/en/",extraFields:[]},{title:"MethodFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]},{level:2,title:"returnType - method",slug:"returntype-method-1",link:"#returntype-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchMethod - method",slug:"onnosuchmethod-method",link:"#onnosuchmethod-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]},{level:3,title:"array - method",slug:"array-method",link:"#array-method",children:[]},{level:3,title:"list - method",slug:"list-method",link:"#list-method",children:[]}]}],path:"/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",pathLocale:"/en/",extraFields:[]},{title:"BaseFinder - class",headers:[{level:2,title:"BaseFinder.IndexTypeCondition - class",slug:"basefinder-indextypecondition-class",link:"#basefinder-indextypecondition-class",children:[{level:3,title:"index - method",slug:"index-method",link:"#index-method",children:[]},{level:3,title:"index - method",slug:"index-method-1",link:"#index-method-1",children:[]},{level:3,title:"IndexTypeConditionSort - class",slug:"indextypeconditionsort-class",link:"#indextypeconditionsort-class",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"DexClassFinder - class",headers:[{level:2,title:"companion object - object",slug:"companion-object-object",link:"#companion-object-object",children:[{level:3,title:"clearCache - method",slug:"clearcache-method",link:"#clearcache-method",children:[]}]},{level:2,title:"fullName - field",slug:"fullname-field",link:"#fullname-field",children:[]},{level:2,title:"simpleName - field",slug:"simplename-field",link:"#simplename-field",children:[]},{level:2,title:"singleName - field",slug:"singlename-field",link:"#singlename-field",children:[]},{level:2,title:"from - method",slug:"from-method",link:"#from-method",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method",link:"#fullname-method",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method",link:"#simplename-method",children:[]},{level:2,title:"singleName - method",slug:"singlename-method",link:"#singlename-method",children:[]},{level:2,title:"fullName - method",slug:"fullname-method-1",link:"#fullname-method-1",children:[]},{level:2,title:"simpleName - method",slug:"simplename-method-1",link:"#simplename-method-1",children:[]},{level:2,title:"singleName - method",slug:"singlename-method-1",link:"#singlename-method-1",children:[]},{level:2,title:"extends - method",slug:"extends-method",link:"#extends-method",children:[]},{level:2,title:"extends - method",slug:"extends-method-1",link:"#extends-method-1",children:[]},{level:2,title:"implements - method",slug:"implements-method",link:"#implements-method",children:[]},{level:2,title:"implements - method",slug:"implements-method-1",link:"#implements-method-1",children:[]},{level:2,title:"anonymous - method",slug:"anonymous-method",link:"#anonymous-method",children:[]},{level:2,title:"noExtends - method",slug:"noextends-method",link:"#noextends-method",children:[]},{level:2,title:"noImplements - method",slug:"noimplements-method",link:"#noimplements-method",children:[]},{level:2,title:"noSuper - method",slug:"nosuper-method",link:"#nosuper-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method",link:"#enclosing-method",children:[]},{level:2,title:"enclosing - method",slug:"enclosing-method-1",link:"#enclosing-method-1",children:[]},{level:2,title:"FromPackageRules - class",slug:"frompackagerules-class",link:"#frompackagerules-class",children:[{level:3,title:"absolute - method",slug:"absolute-method",link:"#absolute-method",children:[]}]},{level:2,title:"ClassNameRules - class",slug:"classnamerules-class",link:"#classnamerules-class",children:[{level:3,title:"optional - method",slug:"optional-method",link:"#optional-method",children:[]}]},{level:2,title:"member - method",slug:"member-method",link:"#member-method",children:[]},{level:2,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:2,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:2,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:2,title:"Result - class",slug:"result-class",link:"#result-class",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"all - method",slug:"all-method-1",link:"#all-method-1",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"onNoClassDefFoundError - method",slug:"onnoclassdeffounderror-method",link:"#onnoclassdeffounderror-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ConstructorFinder - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"constructor - method",slug:"constructor-method",link:"#constructor-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchConstructor - method",slug:"onnosuchconstructor-method",link:"#onnosuchconstructor-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"FieldFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]},{level:2,title:"type - method",slug:"type-method-1",link:"#type-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"field - method",slug:"field-method",link:"#field-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchField - method",slug:"onnosuchfield-method",link:"#onnosuchfield-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MethodFinder - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"order - method",slug:"order-method",link:"#order-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"name - method",slug:"name-method-1",link:"#name-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-2",link:"#paramcount-method-2",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]},{level:2,title:"returnType - method",slug:"returntype-method-1",link:"#returntype-method-1",children:[]},{level:2,title:"superClass - method",slug:"superclass-method",link:"#superclass-method",children:[]},{level:2,title:"RemedyPlan - class",slug:"remedyplan-class",link:"#remedyplan-class",children:[{level:3,title:"method - method",slug:"method-method",link:"#method-method",children:[]},{level:3,title:"Result - class",slug:"result-class",link:"#result-class",children:[]}]},{level:2,title:"Result - class",slug:"result-class-1",link:"#result-class-1",children:[{level:3,title:"result - method",slug:"result-method",link:"#result-method",children:[]},{level:3,title:"get - method",slug:"get-method",link:"#get-method",children:[]},{level:3,title:"all - method",slug:"all-method",link:"#all-method",children:[]},{level:3,title:"give - method",slug:"give-method",link:"#give-method",children:[]},{level:3,title:"giveAll - method",slug:"giveall-method",link:"#giveall-method",children:[]},{level:3,title:"wait - method",slug:"wait-method",link:"#wait-method",children:[]},{level:3,title:"waitAll - method",slug:"waitall-method",link:"#waitall-method",children:[]},{level:3,title:"remedys - method",slug:"remedys-method",link:"#remedys-method",children:[]},{level:3,title:"onNoSuchMethod - method",slug:"onnosuchmethod-method",link:"#onnosuchmethod-method",children:[]},{level:3,title:"ignored - method",slug:"ignored-method",link:"#ignored-method",children:[]},{level:3,title:"Instance - class",slug:"instance-class",link:"#instance-class",children:[]},{level:3,title:"array - method",slug:"array-method",link:"#array-method",children:[]},{level:3,title:"list - method",slug:"list-method",link:"#list-method",children:[]}]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ComponentTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"GraphicsTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ViewTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"DefinedTypeFactory - kt",headers:[{level:2,title:"VagueType - field",slug:"vaguetype-field",link:"#vaguetype-field",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"VariableTypeFactory - kt",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"CountRules - class",headers:[{level:2,title:"Int.isZero - i-ext-method",slug:"int-iszero-i-ext-method",link:"#int-iszero-i-ext-method",children:[]},{level:2,title:"Int.moreThan - i-ext-method",slug:"int-morethan-i-ext-method",link:"#int-morethan-i-ext-method",children:[]},{level:2,title:"Int.lessThan - i-ext-method",slug:"int-lessthan-i-ext-method",link:"#int-lessthan-i-ext-method",children:[]},{level:2,title:"Int.inInterval - i-ext-method",slug:"int-ininterval-i-ext-method",link:"#int-ininterval-i-ext-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",pathLocale:"/en/",extraFields:[]},{title:"ModifierRules - class",headers:[{level:2,title:"isPublic - i-ext-field",slug:"ispublic-i-ext-field",link:"#ispublic-i-ext-field",children:[]},{level:2,title:"isPrivate - i-ext-field",slug:"isprivate-i-ext-field",link:"#isprivate-i-ext-field",children:[]},{level:2,title:"isProtected - i-ext-field",slug:"isprotected-i-ext-field",link:"#isprotected-i-ext-field",children:[]},{level:2,title:"isStatic - i-ext-field",slug:"isstatic-i-ext-field",link:"#isstatic-i-ext-field",children:[]},{level:2,title:"isFinal - i-ext-field",slug:"isfinal-i-ext-field",link:"#isfinal-i-ext-field",children:[]},{level:2,title:"isSynchronized - i-ext-field",slug:"issynchronized-i-ext-field",link:"#issynchronized-i-ext-field",children:[]},{level:2,title:"isVolatile - i-ext-field",slug:"isvolatile-i-ext-field",link:"#isvolatile-i-ext-field",children:[]},{level:2,title:"isTransient - i-ext-field",slug:"istransient-i-ext-field",link:"#istransient-i-ext-field",children:[]},{level:2,title:"isNative - i-ext-field",slug:"isnative-i-ext-field",link:"#isnative-i-ext-field",children:[]},{level:2,title:"isInterface - i-ext-field",slug:"isinterface-i-ext-field",link:"#isinterface-i-ext-field",children:[]},{level:2,title:"isAbstract - i-ext-field",slug:"isabstract-i-ext-field",link:"#isabstract-i-ext-field",children:[]},{level:2,title:"isStrict - i-ext-field",slug:"isstrict-i-ext-field",link:"#isstrict-i-ext-field",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",pathLocale:"/en/",extraFields:[]},{title:"NameRules - class",headers:[{level:2,title:"String.isSynthetic - i-ext-method",slug:"string-issynthetic-i-ext-method",link:"#string-issynthetic-i-ext-method",children:[]},{level:2,title:"String.isOnlySymbols - i-ext-method",slug:"string-isonlysymbols-i-ext-method",link:"#string-isonlysymbols-i-ext-method",children:[]},{level:2,title:"String.isOnlyLetters - i-ext-method",slug:"string-isonlyletters-i-ext-method",link:"#string-isonlyletters-i-ext-method",children:[]},{level:2,title:"String.isOnlyNumbers - i-ext-method",slug:"string-isonlynumbers-i-ext-method",link:"#string-isonlynumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLettersNumbers - i-ext-method",slug:"string-isonlylettersnumbers-i-ext-method",link:"#string-isonlylettersnumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLowercase - i-ext-method",slug:"string-isonlylowercase-i-ext-method",link:"#string-isonlylowercase-i-ext-method",children:[]},{level:2,title:"String.isOnlyUppercase - i-ext-method",slug:"string-isonlyuppercase-i-ext-method",link:"#string-isonlyuppercase-i-ext-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",pathLocale:"/en/",extraFields:[]},{title:"ObjectRules - class",headers:[],path:"/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",pathLocale:"/en/",extraFields:[]},{title:"ConstructorRules - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",pathLocale:"/en/",extraFields:[]},{title:"FieldRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",pathLocale:"/en/",extraFields:[]},{title:"MemberRules - class",headers:[{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",pathLocale:"/en/",extraFields:[]},{title:"MethodRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",pathLocale:"/en/",extraFields:[]},{title:"CountRules - class",headers:[{level:2,title:"Int.isZero - i-ext-method",slug:"int-iszero-i-ext-method",link:"#int-iszero-i-ext-method",children:[]},{level:2,title:"Int.moreThan - i-ext-method",slug:"int-morethan-i-ext-method",link:"#int-morethan-i-ext-method",children:[]},{level:2,title:"Int.lessThan - i-ext-method",slug:"int-lessthan-i-ext-method",link:"#int-lessthan-i-ext-method",children:[]},{level:2,title:"Int.inInterval - i-ext-method",slug:"int-ininterval-i-ext-method",link:"#int-ininterval-i-ext-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ModifierRules - class",headers:[{level:2,title:"isPublic - i-ext-field",slug:"ispublic-i-ext-field",link:"#ispublic-i-ext-field",children:[]},{level:2,title:"isPrivate - i-ext-field",slug:"isprivate-i-ext-field",link:"#isprivate-i-ext-field",children:[]},{level:2,title:"isProtected - i-ext-field",slug:"isprotected-i-ext-field",link:"#isprotected-i-ext-field",children:[]},{level:2,title:"isStatic - i-ext-field",slug:"isstatic-i-ext-field",link:"#isstatic-i-ext-field",children:[]},{level:2,title:"isFinal - i-ext-field",slug:"isfinal-i-ext-field",link:"#isfinal-i-ext-field",children:[]},{level:2,title:"isSynchronized - i-ext-field",slug:"issynchronized-i-ext-field",link:"#issynchronized-i-ext-field",children:[]},{level:2,title:"isVolatile - i-ext-field",slug:"isvolatile-i-ext-field",link:"#isvolatile-i-ext-field",children:[]},{level:2,title:"isTransient - i-ext-field",slug:"istransient-i-ext-field",link:"#istransient-i-ext-field",children:[]},{level:2,title:"isNative - i-ext-field",slug:"isnative-i-ext-field",link:"#isnative-i-ext-field",children:[]},{level:2,title:"isInterface - i-ext-field",slug:"isinterface-i-ext-field",link:"#isinterface-i-ext-field",children:[]},{level:2,title:"isAbstract - i-ext-field",slug:"isabstract-i-ext-field",link:"#isabstract-i-ext-field",children:[]},{level:2,title:"isStrict - i-ext-field",slug:"isstrict-i-ext-field",link:"#isstrict-i-ext-field",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"NameRules - class",headers:[{level:2,title:"String.isSynthetic - i-ext-method",slug:"string-issynthetic-i-ext-method",link:"#string-issynthetic-i-ext-method",children:[]},{level:2,title:"String.isOnlySymbols - i-ext-method",slug:"string-isonlysymbols-i-ext-method",link:"#string-isonlysymbols-i-ext-method",children:[]},{level:2,title:"String.isOnlyLetters - i-ext-method",slug:"string-isonlyletters-i-ext-method",link:"#string-isonlyletters-i-ext-method",children:[]},{level:2,title:"String.isOnlyNumbers - i-ext-method",slug:"string-isonlynumbers-i-ext-method",link:"#string-isonlynumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLettersNumbers - i-ext-method",slug:"string-isonlylettersnumbers-i-ext-method",link:"#string-isonlylettersnumbers-i-ext-method",children:[]},{level:2,title:"String.isOnlyLowercase - i-ext-method",slug:"string-isonlylowercase-i-ext-method",link:"#string-isonlylowercase-i-ext-method",children:[]},{level:2,title:"String.isOnlyUppercase - i-ext-method",slug:"string-isonlyuppercase-i-ext-method",link:"#string-isonlyuppercase-i-ext-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ObjectRules - class",headers:[],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"ConstructorRules - class",headers:[{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"FieldRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"type - field",slug:"type-field",link:"#type-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"type - method",slug:"type-method",link:"#type-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MemberRules - class",headers:[{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"MethodRules - class",headers:[{level:2,title:"name - field",slug:"name-field",link:"#name-field",children:[]},{level:2,title:"paramCount - field",slug:"paramcount-field",link:"#paramcount-field",children:[]},{level:2,title:"returnType - field",slug:"returntype-field",link:"#returntype-field",children:[]},{level:2,title:"modifiers - method",slug:"modifiers-method",link:"#modifiers-method",children:[]},{level:2,title:"emptyParam - method",slug:"emptyparam-method",link:"#emptyparam-method",children:[]},{level:2,title:"param - method",slug:"param-method",link:"#param-method",children:[]},{level:2,title:"param - method",slug:"param-method-1",link:"#param-method-1",children:[]},{level:2,title:"name - method",slug:"name-method",link:"#name-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method",link:"#paramcount-method",children:[]},{level:2,title:"paramCount - method",slug:"paramcount-method-1",link:"#paramcount-method-1",children:[]},{level:2,title:"returnType - method",slug:"returntype-method",link:"#returntype-method",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"DefinedTypeFactory - kt",headers:[{level:2,title:"VagueType - field",slug:"vaguetype-field",link:"#vaguetype-field",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"ComponentTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"GraphicsTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"ViewTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"VariableTypeFactory - kt",headers:[],path:"/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",pathLocale:"/en/",extraFields:[]},{title:"MemberRulesResult - class",headers:[{level:2,title:"none - method",slug:"none-method",link:"#none-method",children:[]},{level:2,title:"count - method",slug:"count-method",link:"#count-method",children:[]},{level:2,title:"count - method",slug:"count-method-1",link:"#count-method-1",children:[]},{level:2,title:"count - method",slug:"count-method-2",link:"#count-method-2",children:[]}],path:"/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",pathLocale:"/en/",extraFields:[]},{title:"MemberRulesResult - class",headers:[{level:2,title:"none - method",slug:"none-method",link:"#none-method",children:[]},{level:2,title:"count - method",slug:"count-method",link:"#count-method",children:[]},{level:2,title:"count - method",slug:"count-method-1",link:"#count-method-1",children:[]},{level:2,title:"count - method",slug:"count-method-2",link:"#count-method-2",children:[]}],path:"/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",pathLocale:"/zh-cn/",extraFields:[]},{title:"",headers:[],path:"/404.html",pathLocale:"/",extraFields:[]}],Us=ke(up),dp=()=>Us;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updateSearchIndex=e=>{Us.value=e});const hp=({searchIndex:e,routeLocale:t,query:l,maxSuggestions:n})=>{const i=B(()=>e.value.filter(o=>o.pathLocale===t.value));return B(()=>{const o=l.value.trim().toLowerCase();if(!o)return[];const r=[],s=(a,c)=>{ar(o,[c.title])&&r.push({link:`${a.path}#${c.slug}`,title:a.title,header:c.title});for(const u of c.children){if(r.length>=n.value)return;s(a,u)}};for(const a of i.value){if(r.length>=n.value)break;if(ar(o,[a.title,...a.extraFields])){r.push({link:a.path,title:a.title});continue}for(const c of a.headers){if(r.length>=n.value)break;s(a,c)}}return r})},fp=e=>{const t=ke(0);return{focusIndex:t,focusNext:()=>{t.value{t.value>0?t.value-=1:t.value=e.value.length-1}}},mp=he({name:"SearchBox",props:{locales:{type:Object,required:!1,default:()=>({})},hotKeys:{type:Array,required:!1,default:()=>[]},maxSuggestions:{type:Number,required:!1,default:5}},setup(e){const{locales:t,hotKeys:l,maxSuggestions:n}=Cn(e),i=Xt(),o=Kl(),r=dp(),s=ke(null),a=ke(!1),c=ke(""),u=B(()=>{var w;return(w=t.value[o.value])!=null?w:{}}),h=hp({searchIndex:r,routeLocale:o,query:c,maxSuggestions:n}),{focusIndex:f,focusNext:p,focusPrev:k}=fp(h);cp({input:s,hotKeys:l});const R=B(()=>a.value&&!!h.value.length),x=()=>{!R.value||k()},g=()=>{!R.value||p()},b=w=>{if(!R.value)return;const D=h.value[w];!D||i.push(D.link).then(()=>{c.value="",f.value=0})};return()=>ue("form",{class:"search-box",role:"search"},[ue("input",{ref:s,type:"search",placeholder:u.value.placeholder,autocomplete:"off",spellcheck:!1,value:c.value,onFocus:()=>a.value=!0,onBlur:()=>a.value=!1,onInput:w=>c.value=w.target.value,onKeydown:w=>{switch(w.key){case"ArrowUp":{x();break}case"ArrowDown":{g();break}case"Enter":{w.preventDefault(),b(f.value);break}}}}),R.value&&ue("ul",{class:"suggestions",onMouseleave:()=>f.value=-1},h.value.map(({link:w,title:D,header:q},ee)=>ue("li",{class:["suggestion",{focus:f.value===ee}],onMouseenter:()=>f.value=ee,onMousedown:()=>b(ee)},ue("a",{href:w,onClick:O=>O.preventDefault()},[ue("span",{class:"page-title"},D),q&&ue("span",{class:"page-header"},`> ${q}`)]))))])}});const pp={"/en/":{placeholder:"Search"},"/zh-cn/":{placeholder:"\u641C\u7D22"}},gp=["s","/"],vp=5,bp=Mt({enhance({app:e}){e.component("SearchBox",t=>ue(mp,{locales:pp,hotKeys:gp,maxSuggestions:vp,...t}))}}),on=[Vd,Bd,Wd,oh,ch,mh,op,bp];var qs=ke(ea),Ks=Ci({key:"",path:"",title:"",lang:"",frontmatter:{},excerpt:"",headers:[]}),gt=ke(Ks),It=()=>gt;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updatePageData=e=>{qs.value[e.key]=()=>Promise.resolve(e),e.key===gt.value.key&&(gt.value=e)});var Ws=Symbol(""),bt=()=>{const e=De(Ws);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},Gs=Symbol(""),_p=()=>{const e=De(Gs);if(!e)throw new Error("usePageHead() is called without provider.");return e},yp=Symbol(""),Ys=Symbol(""),kp=()=>{const e=De(Ys);if(!e)throw new Error("usePageLang() is called without provider.");return e},Vi=Symbol(""),Kl=()=>{const e=De(Vi);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},Pt=ke(Lu),Qs=()=>Pt;import.meta.webpackHot&&(__VUE_HMR_RUNTIME__.updateSiteData=e=>{Pt.value=e});var Js=Symbol(""),Hi=()=>{const e=De(Js);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},xp=Symbol(""),qt=gl({resolvePageData:async e=>{const t=qs.value[e],l=await(t==null?void 0:t());return l!=null?l:Ks},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,l)=>{const n=_e(t.description)?t.description:l.description,i=[...te(t.head)?t.head:[],...l.head,["title",{},e],["meta",{name:"description",content:n}]];return Ou(i)},resolvePageHeadTitle:(e,t)=>`${e.title?`${e.title} | `:""}${t.title}`,resolvePageLang:e=>e.lang||"en",resolveRouteLocale:(e,t)=>fs(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),ji=he({name:"ClientOnly",setup(e,t){const l=ke(!1);return Ze(()=>{l.value=!0}),()=>{var n,i;return l.value?(i=(n=t.slots).default)==null?void 0:i.call(n):null}}}),Ep=he({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=It(),l=B(()=>ms[e.pageKey||t.value.key]);return()=>l.value?ue(l.value):ue("div","404 Not Found")}}),Cp="Layout",Rp="NotFound",wp=on.reduce((e,t)=>({...e,...t.layouts}),{}),cr=he({name:"Vuepress",setup(){const e=It(),t=B(()=>{let l;if(e.value.path){const n=e.value.frontmatter.layout;_e(n)?l=n:l=Cp}else l=Rp;return wp[l]});return()=>ue(t.value)}}),Bi=e=>ql(e)?e:`${Qs().value.base}${hs(e)}`;const Tp=[["v-8daa1a0e","/",{title:""},["/index.html","/index.md"]],["v-2d0a870d","/en/",{title:"Home"},["/en/index.html","/en/index.md"]],["v-c0c85b84","/zh-cn/",{title:"\u9996\u9875"},["/zh-cn/index.html","/zh-cn/index.md"]],["v-7a15fe3b","/en/about/about.html",{title:"About this Document"},["/en/about/about","/en/about/about.md"]],["v-3f851d14","/en/about/changelog.html",{title:"Changelog"},["/en/about/changelog","/en/about/changelog.md"]],["v-193cf592","/en/about/contacts.html",{title:"Contact Us"},["/en/about/contacts","/en/about/contacts.md"]],["v-ae7b83f2","/en/about/future.html",{title:"Looking for Future"},["/en/about/future","/en/about/future.md"]],["v-c557cfcc","/en/api/features.html",{title:"Features"},["/en/api/features","/en/api/features.md"]],["v-64fc7bb8","/en/api/home.html",{title:"Document Introduce"},["/en/api/home","/en/api/home.md"]],["v-9cfea7fc","/en/config/api-example.html",{title:"API Basic Configs"},["/en/config/api-example","/en/config/api-example.md"]],["v-72c12b7d","/en/config/api-exception.html",{title:"API Exception Handling"},["/en/config/api-exception","/en/config/api-exception.md"]],["v-efb45d4c","/en/guide/home.html",{title:"Introduce"},["/en/guide/home","/en/guide/home.md"]],["v-72889797","/en/guide/quick-start.html",{title:"Quick Start"},["/en/guide/quick-start","/en/guide/quick-start.md"]],["v-41967128","/zh-cn/about/about.html",{title:"\u5173\u4E8E\u6B64\u6587\u6863"},["/zh-cn/about/about","/zh-cn/about/about.md"]],["v-0e6c3476","/zh-cn/about/changelog.html",{title:"\u66F4\u65B0\u65E5\u5FD7"},["/zh-cn/about/changelog","/zh-cn/about/changelog.md"]],["v-6cf86266","/zh-cn/about/contacts.html",{title:"\u8054\u7CFB\u6211\u4EEC"},["/zh-cn/about/contacts","/zh-cn/about/contacts.md"]],["v-3106ca14","/zh-cn/about/future.html",{title:"\u5C55\u671B\u672A\u6765"},["/zh-cn/about/future","/zh-cn/about/future.md"]],["v-47e315ee","/zh-cn/api/features.html",{title:"\u529F\u80FD\u4ECB\u7ECD"},["/zh-cn/api/features","/zh-cn/api/features.md"]],["v-c8deafb2","/zh-cn/api/home.html",{title:"\u6587\u6863\u4ECB\u7ECD"},["/zh-cn/api/home","/zh-cn/api/home.md"]],["v-6a609e09","/zh-cn/guide/home.html",{title:"\u4ECB\u7ECD"},["/zh-cn/guide/home","/zh-cn/guide/home.md"]],["v-24840ff0","/zh-cn/guide/quick-start.html",{title:"\u5FEB\u901F\u5F00\u59CB"},["/zh-cn/guide/quick-start","/zh-cn/guide/quick-start.md"]],["v-c6114c9e","/zh-cn/config/api-example.html",{title:"API \u57FA\u672C\u914D\u7F6E"},["/zh-cn/config/api-example","/zh-cn/config/api-example.md"]],["v-5b43296c","/zh-cn/config/api-exception.html",{title:"API \u5F02\u5E38\u5904\u7406"},["/zh-cn/config/api-exception","/zh-cn/config/api-exception.md"]],["v-23f4d2be","/en/api/public/com/highcapable/yukireflection/YukiReflection.html",{title:"YukiReflection - object"},["/en/api/public/com/highcapable/yukireflection/YukiReflection","/en/api/public/com/highcapable/yukireflection/YukiReflection.md"]],["v-c088ede0","/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html",{title:"YukiReflection - object"},["/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection","/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.md"]],["v-47f17664","/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",{title:"CurrentClass - class"},["/en/api/public/com/highcapable/yukireflection/bean/CurrentClass","/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.md"]],["v-38df33ac","/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html",{title:"GenericClass - class"},["/en/api/public/com/highcapable/yukireflection/bean/GenericClass","/en/api/public/com/highcapable/yukireflection/bean/GenericClass.md"]],["v-3a8666c0","/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html",{title:"VariousClass - class"},["/en/api/public/com/highcapable/yukireflection/bean/VariousClass","/en/api/public/com/highcapable/yukireflection/bean/VariousClass.md"]],["v-728f231c","/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",{title:"ReflectionFactory - kt"},["/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.md"]],["v-406687ff","/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html",{title:"CurrentClass - class"},["/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.md"]],["v-c5831246","/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html",{title:"GenericClass - class"},["/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.md"]],["v-c234ac1e","/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html",{title:"VariousClass - class"},["/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass","/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.md"]],["v-b3841eba","/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html",{title:"ReflectionFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory","/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.md"]],["v-740d06da","/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",{title:"BaseFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.md"]],["v-6d6cd473","/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",{title:"DexClassFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.md"]],["v-b3220076","/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",{title:"ConstructorFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.md"]],["v-4b907076","/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",{title:"FieldFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.md"]],["v-012ee5a6","/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",{title:"MethodFinder - class"},["/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.md"]],["v-c945cb6e","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html",{title:"BaseFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.md"]],["v-2d13d624","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html",{title:"DexClassFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.md"]],["v-722cd474","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html",{title:"ConstructorFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.md"]],["v-293ae898","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html",{title:"FieldFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.md"]],["v-155c9f97","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html",{title:"MethodFinder - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder","/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.md"]],["v-6c58c435","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",{title:"ComponentTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.md"]],["v-25cdee85","/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",{title:"GraphicsTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.md"]],["v-12826b1f","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",{title:"ViewTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.md"]],["v-597ac69b","/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",{title:"DefinedTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.md"]],["v-5ad1133e","/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",{title:"VariableTypeFactory - kt"},["/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.md"]],["v-6f96d791","/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",{title:"CountRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.md"]],["v-56071599","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",{title:"ModifierRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.md"]],["v-4ea9e766","/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",{title:"NameRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.md"]],["v-3045c7fe","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",{title:"ObjectRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.md"]],["v-cce2b7b6","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",{title:"ConstructorRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.md"]],["v-82a85036","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",{title:"FieldRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.md"]],["v-71ecb893","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",{title:"MemberRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.md"]],["v-5e7e121a","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",{title:"MethodRules - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.md"]],["v-3dbf4880","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html",{title:"CountRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.md"]],["v-701721ec","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html",{title:"ModifierRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.md"]],["v-264e7384","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html",{title:"NameRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.md"]],["v-b0f7c49c","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html",{title:"ObjectRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.md"]],["v-ec153654","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html",{title:"ConstructorRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.md"]],["v-30993156","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html",{title:"FieldRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.md"]],["v-3daa8d42","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html",{title:"MemberRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.md"]],["v-2a3be6c9","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html",{title:"MethodRules - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.md"]],["v-30e525ac","/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html",{title:"DefinedTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory","/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.md"]],["v-7f47f9f8","/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html",{title:"ComponentTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.md"]],["v-5a1019d6","/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html",{title:"GraphicsTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.md"]],["v-be0e3220","/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html",{title:"ViewTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory","/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.md"]],["v-12f074b0","/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html",{title:"VariableTypeFactory - kt"},["/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory","/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.md"]],["v-4f47dfda","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",{title:"MemberRulesResult - class"},["/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.md"]],["v-503f5f8b","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html",{title:"MemberRulesResult - class"},["/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult","/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.md"]],["v-3706649a","/404.html",{title:""},["/404"]]];var Lp=()=>Tp.reduce((e,[t,l,n,i])=>(e.push({name:t,path:l,component:cr,meta:n},...i.map(o=>({path:o,redirect:l}))),e),[{name:"404",path:"/:catchAll(.*)",component:cr}]),Pp=Qu,Op=()=>{const e=Fd({history:Pp(ds(Pt.value.base)),routes:Lp(),scrollBehavior:(t,l,n)=>n||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,l)=>{var n;(t.path!==l.path||l===mt)&&([gt.value]=await Promise.all([qt.resolvePageData(t.name),(n=ms[t.name])==null?void 0:n.__asyncLoader()]))}),e},Ap=e=>{e.component("ClientOnly",ji),e.component("Content",Ep)},Ip=(e,t)=>{const l=B(()=>qt.resolveRouteLocale(Pt.value.locales,t.currentRoute.value.path)),n=B(()=>qt.resolveSiteLocaleData(Pt.value,l.value)),i=B(()=>qt.resolvePageFrontmatter(gt.value)),o=B(()=>qt.resolvePageHeadTitle(gt.value,n.value)),r=B(()=>qt.resolvePageHead(o.value,i.value,n.value)),s=B(()=>qt.resolvePageLang(gt.value));return e.provide(Vi,l),e.provide(Js,n),e.provide(Ws,i),e.provide(yp,o),e.provide(Gs,r),e.provide(Ys,s),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>i.value},$head:{get:()=>r.value},$headTitle:{get:()=>o.value},$lang:{get:()=>s.value},$page:{get:()=>gt.value},$routeLocale:{get:()=>l.value},$site:{get:()=>Pt.value},$siteLocale:{get:()=>n.value},$withBase:{get:()=>Bi}}),{pageData:gt,pageFrontmatter:i,pageHead:r,pageHeadTitle:o,pageLang:s,routeLocale:l,siteData:Pt,siteLocaleData:n}},Fp=()=>{const e=Nt(),t=_p(),l=kp(),n=ke([]),i=()=>{t.value.forEach(r=>{const s=Sp(r);s&&n.value.push(s)})},o=()=>{document.documentElement.lang=l.value,n.value.forEach(r=>{r.parentNode===document.head&&document.head.removeChild(r)}),n.value.splice(0,n.value.length),t.value.forEach(r=>{const s=zp(r);s!==null&&(document.head.appendChild(s),n.value.push(s))})};Qt(xp,o),Ze(()=>{i(),o(),dt(()=>e.path,()=>o())})},Sp=([e,t,l=""])=>{const n=Object.entries(t).map(([s,a])=>_e(a)?`[${s}="${a}"]`:a===!0?`[${s}]`:"").join(""),i=`head > ${e}${n}`;return Array.from(document.querySelectorAll(i)).find(s=>s.innerText===l)||null},zp=([e,t,l])=>{if(!_e(e))return null;const n=document.createElement(e);return Ii(t)&&Object.entries(t).forEach(([i,o])=>{_e(o)?n.setAttribute(i,o):o===!0&&n.setAttribute(i,"")}),_e(l)&&n.appendChild(document.createTextNode(l)),n},Dp=wu,Mp=async()=>{var l;const e=Dp({name:"VuepressApp",setup(){var n;Fp();for(const i of on)(n=i.setup)==null||n.call(i);return()=>[ue(ws),...on.flatMap(({rootComponents:i=[]})=>i.map(o=>ue(o)))]}}),t=Op();Ap(e),Ip(e,t);for(const n of on)await((l=n.enhance)==null?void 0:l.call(n,{app:e,router:t,siteData:Pt}));return e.use(t),{app:e,router:t}};Mp().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Le as _,Hc as a,pe as b,X as c,Mp as createVueApp,ie as d,Dt as e,V as o,yt as r,Me as w}; diff --git a/docs/assets/changelog.html.e5e321f8.js b/docs/assets/changelog.html.36e96eae.js similarity index 95% rename from docs/assets/changelog.html.e5e321f8.js rename to docs/assets/changelog.html.36e96eae.js index 23579d0..4f89a73 100644 --- a/docs/assets/changelog.html.e5e321f8.js +++ b/docs/assets/changelog.html.36e96eae.js @@ -1 +1 @@ -import{_ as a,r as c,o as l,c as d,a as e,b as o,d as t,e as i}from"./app.472fa5e4.js";const r={},_=e("h1",{id:"\u66F4\u65B0\u65E5\u5FD7",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u66F4\u65B0\u65E5\u5FD7","aria-hidden":"true"},"#"),t(" \u66F4\u65B0\u65E5\u5FD7")],-1),h=e("blockquote",null,[e("p",null,[t("\u8FD9\u91CC\u8BB0\u5F55\u4E86 "),e("code",null,"YukiReflection"),t(" \u7684\u7248\u672C\u66F4\u65B0\u5386\u53F2\u3002")])],-1),u=e("div",{class:"custom-container danger"},[e("p",{class:"custom-container-title"},"\u7279\u522B\u6CE8\u610F"),e("p",null,"\u6211\u4EEC\u53EA\u4F1A\u5BF9\u6700\u65B0\u7684 API \u7248\u672C\u8FDB\u884C\u7EF4\u62A4\uFF0C\u82E5\u4F60\u6B63\u5728\u4F7F\u7528\u8FC7\u65F6\u7684 API \u7248\u672C\u5219\u4EE3\u8868\u4F60\u81EA\u613F\u653E\u5F03\u4E00\u5207\u7EF4\u62A4\u7684\u53EF\u80FD\u6027\u3002")],-1),m={id:"_1-0-2-2023-04-25",tabindex:"-1"},p=e("a",{class:"header-anchor",href:"#_1-0-2-2023-04-25","aria-hidden":"true"},"#",-1),f=t(" 1.0.2 | 2023.04.25 \u2002"),b=t("\u4FEE\u590D\u4E00\u4E2A\u4E25\u91CD\u95EE\u9898\uFF0C"),g=e("code",null,"Member",-1),x=t(" \u7F13\u5B58\u672A\u751F\u6548\u4E14\u6301\u7EED\u5B58\u50A8\u6700\u7EC8\u5F15\u53D1 APP \u5185\u5B58\u6EA2\u51FA (OOM)\uFF0C\u611F\u8C22 "),v={href:"https://github.com/Art-Chen",target:"_blank",rel:"noopener noreferrer"},k=t("Art-Chen"),A=i("
  • \u79FB\u9664 Member \u7684\u76F4\u63A5\u7F13\u5B58\u529F\u80FD\u5E76\u4F5C\u5E9F YukiReflection.Configs.isEnableMemberCache\uFF0C\u4FDD\u7559 Class \u7684\u7F13\u5B58\u529F\u80FD
  • \u5BF9\u63A5\u67E5\u627E\u529F\u80FD\u5230 Sequence\uFF0C\u4F18\u5316 Member \u7684\u67E5\u627E\u901F\u5EA6\u4E0E\u6027\u80FD
  • ",2),C={id:"_1-0-1-2023-04-16",tabindex:"-1"},y=e("a",{class:"header-anchor",href:"#_1-0-1-2023-04-16","aria-hidden":"true"},"#",-1),M=t(" 1.0.1 | 2023.04.16 \u2002"),B=e("ul",null,[e("li",null,[t("\u5C06\u4F9D\u8D56\u5E93\u7684\u7C7B\u578B\u7531 "),e("strong",null,"Java Library"),t(" (jar) \u4FEE\u6539\u4E3A "),e("strong",null,"Android Library"),t(" (aar)")]),e("li",null,[t("\u79FB\u9664\u4E86 Android "),e("code",null,"type"),t(" \u4E2D\u7684\u9519\u8BEF "),e("code",null,"Class"),t(" \u5BF9\u8C61\u58F0\u660E")])],-1),E={id:"_1-0-0-2023-01-26",tabindex:"-1"},I=e("a",{class:"header-anchor",href:"#_1-0-0-2023-01-26","aria-hidden":"true"},"#",-1),L=t(" 1.0.0 | 2023.01.26 \u2002"),N=e("ul",null,[e("li",null,"\u9996\u4E2A\u7248\u672C\u63D0\u4EA4\u81F3 Maven")],-1);function P(V,q){const n=c("Badge"),s=c("ExternalLinkIcon");return l(),d("div",null,[_,h,u,e("h3",m,[p,f,o(n,{type:"tip",text:"\u6700\u65B0",vertical:"middle"})]),e("ul",null,[e("li",null,[b,g,x,e("a",v,[k,o(s)])]),A]),e("h3",C,[y,M,o(n,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),B,e("h3",E,[I,L,o(n,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),N])}const O=a(r,[["render",P],["__file","changelog.html.vue"]]);export{O as default}; +import{_ as a,r as c,o as l,c as d,b as e,d as o,e as t,a as i}from"./app.2add9aa5.js";const r={},_=e("h1",{id:"\u66F4\u65B0\u65E5\u5FD7",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u66F4\u65B0\u65E5\u5FD7","aria-hidden":"true"},"#"),t(" \u66F4\u65B0\u65E5\u5FD7")],-1),h=e("blockquote",null,[e("p",null,[t("\u8FD9\u91CC\u8BB0\u5F55\u4E86 "),e("code",null,"YukiReflection"),t(" \u7684\u7248\u672C\u66F4\u65B0\u5386\u53F2\u3002")])],-1),u=e("div",{class:"custom-container danger"},[e("p",{class:"custom-container-title"},"\u7279\u522B\u6CE8\u610F"),e("p",null,"\u6211\u4EEC\u53EA\u4F1A\u5BF9\u6700\u65B0\u7684 API \u7248\u672C\u8FDB\u884C\u7EF4\u62A4\uFF0C\u82E5\u4F60\u6B63\u5728\u4F7F\u7528\u8FC7\u65F6\u7684 API \u7248\u672C\u5219\u4EE3\u8868\u4F60\u81EA\u613F\u653E\u5F03\u4E00\u5207\u7EF4\u62A4\u7684\u53EF\u80FD\u6027\u3002")],-1),m={id:"_1-0-2-2023-04-25",tabindex:"-1"},p=e("a",{class:"header-anchor",href:"#_1-0-2-2023-04-25","aria-hidden":"true"},"#",-1),f=t(" 1.0.2 | 2023.04.25 \u2002"),b=t("\u4FEE\u590D\u4E00\u4E2A\u4E25\u91CD\u95EE\u9898\uFF0C"),g=e("code",null,"Member",-1),x=t(" \u7F13\u5B58\u672A\u751F\u6548\u4E14\u6301\u7EED\u5B58\u50A8\u6700\u7EC8\u5F15\u53D1 APP \u5185\u5B58\u6EA2\u51FA (OOM)\uFF0C\u611F\u8C22 "),v={href:"https://github.com/Art-Chen",target:"_blank",rel:"noopener noreferrer"},k=t("Art-Chen"),A=i("
  • \u79FB\u9664 Member \u7684\u76F4\u63A5\u7F13\u5B58\u529F\u80FD\u5E76\u4F5C\u5E9F YukiReflection.Configs.isEnableMemberCache\uFF0C\u4FDD\u7559 Class \u7684\u7F13\u5B58\u529F\u80FD
  • \u5BF9\u63A5\u67E5\u627E\u529F\u80FD\u5230 Sequence\uFF0C\u4F18\u5316 Member \u7684\u67E5\u627E\u901F\u5EA6\u4E0E\u6027\u80FD
  • ",2),C={id:"_1-0-1-2023-04-16",tabindex:"-1"},y=e("a",{class:"header-anchor",href:"#_1-0-1-2023-04-16","aria-hidden":"true"},"#",-1),M=t(" 1.0.1 | 2023.04.16 \u2002"),B=e("ul",null,[e("li",null,[t("\u5C06\u4F9D\u8D56\u5E93\u7684\u7C7B\u578B\u7531 "),e("strong",null,"Java Library"),t(" (jar) \u4FEE\u6539\u4E3A "),e("strong",null,"Android Library"),t(" (aar)")]),e("li",null,[t("\u79FB\u9664\u4E86 Android "),e("code",null,"type"),t(" \u4E2D\u7684\u9519\u8BEF "),e("code",null,"Class"),t(" \u5BF9\u8C61\u58F0\u660E")])],-1),E={id:"_1-0-0-2023-01-26",tabindex:"-1"},I=e("a",{class:"header-anchor",href:"#_1-0-0-2023-01-26","aria-hidden":"true"},"#",-1),L=t(" 1.0.0 | 2023.01.26 \u2002"),N=e("ul",null,[e("li",null,"\u9996\u4E2A\u7248\u672C\u63D0\u4EA4\u81F3 Maven")],-1);function P(V,q){const n=c("Badge"),s=c("ExternalLinkIcon");return l(),d("div",null,[_,h,u,e("h3",m,[p,f,o(n,{type:"tip",text:"\u6700\u65B0",vertical:"middle"})]),e("ul",null,[e("li",null,[b,g,x,e("a",v,[k,o(s)])]),A]),e("h3",C,[y,M,o(n,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),B,e("h3",E,[I,L,o(n,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),N])}const O=a(r,[["render",P],["__file","changelog.html.vue"]]);export{O as default}; diff --git a/docs/assets/changelog.html.d61e0e73.js b/docs/assets/changelog.html.a0481c52.js similarity index 95% rename from docs/assets/changelog.html.d61e0e73.js rename to docs/assets/changelog.html.a0481c52.js index 41beb23..f650999 100644 --- a/docs/assets/changelog.html.d61e0e73.js +++ b/docs/assets/changelog.html.a0481c52.js @@ -1 +1 @@ -import{_ as s,r as a,o as r,c as l,a as e,b as n,e as c,d as t}from"./app.472fa5e4.js";const d={},h=c('

    Changelog

    The version update history of YukiReflection is recorded here.

    Pay Attention

    We will only maintain the latest API version, if you are using an outdate API version, you voluntarily renounce any possibility of maintenance.

    Notice

    To avoid translation time consumption, Changelog will use Google Translation from Chinese to English, please refer to the original text for actual reference.

    Time zone of version release date: UTC+8

    ',4),_={id:"_1-0-2-2023-04-25",tabindex:"-1"},u=e("a",{class:"header-anchor",href:"#_1-0-2-2023-04-25","aria-hidden":"true"},"#",-1),p=t(" 1.0.2 | 2023.04.25 \u2002"),f=t("Fixed a critical issue where the "),g=e("code",null,"Member",-1),m=t(" cache did not take effect and persistent storage eventually caused app out of memory (OOM), thanks to "),v={href:"https://github.com/Art-Chen",target:"_blank",rel:"noopener noreferrer"},b=t("Art-Chen"),y=e("li",null,[t("Remove the direct cache function of "),e("code",null,"Member"),t(" and deprecated "),e("s",null,[e("code",null,"YukiReflection.Configs.isEnableMemberCache")]),t(", keep the cache function of "),e("code",null,"Class")],-1),x=e("li",null,[t("Modified finder to "),e("code",null,"Sequence"),t(", optimize the finding speed and performance of "),e("code",null,"Member")],-1),k={id:"_1-0-1-2023-04-16",tabindex:"-1"},C=e("a",{class:"header-anchor",href:"#_1-0-1-2023-04-16","aria-hidden":"true"},"#",-1),w=t(" 1.0.1 | 2023.04.16 \u2002"),A=e("ul",null,[e("li",null,[t("Change the type of dependent library from "),e("strong",null,"Java Library"),t(" (jar) to "),e("strong",null,"Android Library"),t(" (aar)")]),e("li",null,[t("Removed wrong "),e("code",null,"Class"),t(" object declaration in Android "),e("code",null,"type")])],-1),M={id:"_1-0-0-2023-01-26",tabindex:"-1"},T=e("a",{class:"header-anchor",href:"#_1-0-0-2023-01-26","aria-hidden":"true"},"#",-1),B=t(" 1.0.0 | 2023.01.26 \u2002"),E=e("ul",null,[e("li",null,"The first version is submitted to Maven")],-1);function N(I,L){const o=a("Badge"),i=a("ExternalLinkIcon");return r(),l("div",null,[h,e("h3",_,[u,p,n(o,{type:"tip",text:"latest",vertical:"middle"})]),e("ul",null,[e("li",null,[f,g,m,e("a",v,[b,n(i)])]),y,x]),e("h3",k,[C,w,n(o,{type:"warning",text:"stale",vertical:"middle"})]),A,e("h3",M,[T,B,n(o,{type:"warning",text:"stale",vertical:"middle"})]),E])}const V=s(d,[["render",N],["__file","changelog.html.vue"]]);export{V as default}; +import{_ as s,r as a,o as r,c as l,b as e,d as n,a as c,e as t}from"./app.2add9aa5.js";const d={},h=c('

    Changelog

    The version update history of YukiReflection is recorded here.

    Pay Attention

    We will only maintain the latest API version, if you are using an outdate API version, you voluntarily renounce any possibility of maintenance.

    Notice

    To avoid translation time consumption, Changelog will use Google Translation from Chinese to English, please refer to the original text for actual reference.

    Time zone of version release date: UTC+8

    ',4),_={id:"_1-0-2-2023-04-25",tabindex:"-1"},u=e("a",{class:"header-anchor",href:"#_1-0-2-2023-04-25","aria-hidden":"true"},"#",-1),p=t(" 1.0.2 | 2023.04.25 \u2002"),f=t("Fixed a critical issue where the "),g=e("code",null,"Member",-1),m=t(" cache did not take effect and persistent storage eventually caused app out of memory (OOM), thanks to "),v={href:"https://github.com/Art-Chen",target:"_blank",rel:"noopener noreferrer"},b=t("Art-Chen"),y=e("li",null,[t("Remove the direct cache function of "),e("code",null,"Member"),t(" and deprecated "),e("s",null,[e("code",null,"YukiReflection.Configs.isEnableMemberCache")]),t(", keep the cache function of "),e("code",null,"Class")],-1),x=e("li",null,[t("Modified finder to "),e("code",null,"Sequence"),t(", optimize the finding speed and performance of "),e("code",null,"Member")],-1),k={id:"_1-0-1-2023-04-16",tabindex:"-1"},C=e("a",{class:"header-anchor",href:"#_1-0-1-2023-04-16","aria-hidden":"true"},"#",-1),w=t(" 1.0.1 | 2023.04.16 \u2002"),A=e("ul",null,[e("li",null,[t("Change the type of dependent library from "),e("strong",null,"Java Library"),t(" (jar) to "),e("strong",null,"Android Library"),t(" (aar)")]),e("li",null,[t("Removed wrong "),e("code",null,"Class"),t(" object declaration in Android "),e("code",null,"type")])],-1),M={id:"_1-0-0-2023-01-26",tabindex:"-1"},T=e("a",{class:"header-anchor",href:"#_1-0-0-2023-01-26","aria-hidden":"true"},"#",-1),B=t(" 1.0.0 | 2023.01.26 \u2002"),E=e("ul",null,[e("li",null,"The first version is submitted to Maven")],-1);function N(I,L){const o=a("Badge"),i=a("ExternalLinkIcon");return r(),l("div",null,[h,e("h3",_,[u,p,n(o,{type:"tip",text:"latest",vertical:"middle"})]),e("ul",null,[e("li",null,[f,g,m,e("a",v,[b,n(i)])]),y,x]),e("h3",k,[C,w,n(o,{type:"warning",text:"stale",vertical:"middle"})]),A,e("h3",M,[T,B,n(o,{type:"warning",text:"stale",vertical:"middle"})]),E])}const V=s(d,[["render",N],["__file","changelog.html.vue"]]);export{V as default}; diff --git a/docs/assets/contacts.html.0e49996d.js b/docs/assets/contacts.html.0e49996d.js deleted file mode 100644 index 675e81c..0000000 --- a/docs/assets/contacts.html.0e49996d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,r as a,o as c,c as i,a as e,b as o,d as t}from"./app.472fa5e4.js";const r={},l=e("h1",{id:"contact-us",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contact-us","aria-hidden":"true"},"#"),t(" Contact Us")],-1),_=e("blockquote",null,[e("p",null,"If you have any questions in use, or have any constructive suggestions, you can contact us.")],-1),h=t("Join us "),u={href:"https://t.me/YukiReflection",target:"_blank",rel:"noopener noreferrer"},d=t("Click to join Telegram group"),f=t("Find me on "),p=e("strong",null,"Twitter",-1),m=t(),k={href:"https://twitter.com/fankesyooni",target:"_blank",rel:"noopener noreferrer"},g=t("@fankesyooni"),y=e("h2",{id:"help-with-maintenance",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#help-with-maintenance","aria-hidden":"true"},"#"),t(" Help with Maintenance")],-1),b=e("p",null,[t("Thank you for choosing and using "),e("code",null,"YukiReflection"),t(".")],-1),x=e("p",null,"If you have code-related suggestions and requests, you can submit a Pull Request on GitHub.",-1);function v(w,q){const n=a("ExternalLinkIcon");return c(),i("div",null,[l,_,e("p",null,[h,e("a",u,[d,o(n)])]),e("p",null,[f,p,m,e("a",k,[g,o(n)])]),y,b,x])}const T=s(r,[["render",v],["__file","contacts.html.vue"]]);export{T as default}; diff --git a/docs/assets/contacts.html.1da5e82b.js b/docs/assets/contacts.html.1da5e82b.js new file mode 100644 index 0000000..63ea160 --- /dev/null +++ b/docs/assets/contacts.html.1da5e82b.js @@ -0,0 +1 @@ +import{_ as s,r,o as _,c,b as e,d as n,e as t}from"./app.2add9aa5.js";const a={},l=e("h1",{id:"\u8054\u7CFB\u6211\u4EEC",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u8054\u7CFB\u6211\u4EEC","aria-hidden":"true"},"#"),t(" \u8054\u7CFB\u6211\u4EEC")],-1),i=e("blockquote",null,[e("p",null,"\u5982\u5728\u4F7F\u7528\u4E2D\u6709\u4EFB\u4F55\u95EE\u9898\uFF0C\u6216\u6709\u4EFB\u4F55\u5EFA\u8BBE\u6027\u7684\u5EFA\u8BAE\uFF0C\u90FD\u53EF\u4EE5\u8054\u7CFB\u6211\u4EEC\u3002")],-1),h=t("\u52A0\u5165\u6211\u4EEC "),d={href:"https://t.me/YukiReflection",target:"_blank",rel:"noopener noreferrer"},u=t("\u70B9\u51FB\u52A0\u5165 Telegram \u7FA4\u7EC4"),p=t("\u3001"),f={href:"https://t.me/HighCapable_Dev",target:"_blank",rel:"noopener noreferrer"},m=t("\u70B9\u51FB\u52A0\u5165 Telegram \u7FA4\u7EC4 (\u5F00\u53D1\u8005)"),k=t("\u3002"),b=t("\u5728 "),x=e("strong",null,"\u9177\u5B89",-1),g=t(" \u627E\u5230\u6211 "),v={href:"http://www.coolapk.com/u/876977",target:"_blank",rel:"noopener noreferrer"},w=t("@\u661F\u591C\u4E0D\u835F"),B=t("\u3002"),E=e("h2",{id:"\u52A9\u529B\u7EF4\u62A4",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u52A9\u529B\u7EF4\u62A4","aria-hidden":"true"},"#"),t(" \u52A9\u529B\u7EF4\u62A4")],-1),N=e("p",null,[t("\u611F\u8C22\u60A8\u9009\u62E9\u5E76\u4F7F\u7528 "),e("code",null,"YukiReflection"),t("\uFF0C\u5982\u6709\u4EE3\u7801\u76F8\u5173\u7684\u5EFA\u8BAE\u548C\u8BF7\u6C42\uFF0C\u53EF\u5728 GitHub \u63D0\u4EA4 Pull Request\u3002")],-1);function R(T,V){const o=r("ExternalLinkIcon");return _(),c("div",null,[l,i,e("p",null,[h,e("a",d,[u,n(o)]),p,e("a",f,[m,n(o)]),k]),e("p",null,[b,x,g,e("a",v,[w,n(o)]),B]),E,N])}const C=s(a,[["render",R],["__file","contacts.html.vue"]]);export{C as default}; diff --git a/docs/assets/contacts.html.f15acc18.js b/docs/assets/contacts.html.3310a645.js similarity index 73% rename from docs/assets/contacts.html.f15acc18.js rename to docs/assets/contacts.html.3310a645.js index e774239..67baa58 100644 --- a/docs/assets/contacts.html.f15acc18.js +++ b/docs/assets/contacts.html.3310a645.js @@ -1 +1 @@ -const t=JSON.parse('{"key":"v-6cf86266","path":"/zh-cn/about/contacts.html","title":"\u8054\u7CFB\u6211\u4EEC","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u52A9\u529B\u7EF4\u62A4","slug":"\u52A9\u529B\u7EF4\u62A4","link":"#\u52A9\u529B\u7EF4\u62A4","children":[]}],"git":{"updatedTime":1682492605000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/about/contacts.md"}');export{t as data}; +const t=JSON.parse('{"key":"v-6cf86266","path":"/zh-cn/about/contacts.html","title":"\u8054\u7CFB\u6211\u4EEC","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u52A9\u529B\u7EF4\u62A4","slug":"\u52A9\u529B\u7EF4\u62A4","link":"#\u52A9\u529B\u7EF4\u62A4","children":[]}],"git":{"updatedTime":1695391325000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":3}]},"filePathRelative":"zh-cn/about/contacts.md"}');export{t as data}; diff --git a/docs/assets/contacts.html.9abe8991.js b/docs/assets/contacts.html.9abe8991.js new file mode 100644 index 0000000..9a7a899 --- /dev/null +++ b/docs/assets/contacts.html.9abe8991.js @@ -0,0 +1 @@ +import{_ as s,r as a,o as c,c as r,b as e,d as n,e as t}from"./app.2add9aa5.js";const i={},_=e("h1",{id:"contact-us",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contact-us","aria-hidden":"true"},"#"),t(" Contact Us")],-1),l=e("blockquote",null,[e("p",null,"If you have any questions in use, or have any constructive suggestions, you can contact us.")],-1),h=t("Join us "),d={href:"https://t.me/YukiReflection",target:"_blank",rel:"noopener noreferrer"},u=t("Click to join Telegram group"),p=t(", "),f={href:"https://t.me/HighCapable_Dev",target:"_blank",rel:"noopener noreferrer"},m=t("Click to join Telegram group (Developer)"),g=t("."),k=t("Find me on "),b=e("strong",null,"Twitter",-1),v=t(),y={href:"https://twitter.com/fankesyooni",target:"_blank",rel:"noopener noreferrer"},x=t("@fankesyooni"),w=t("."),C=e("h2",{id:"help-with-maintenance",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#help-with-maintenance","aria-hidden":"true"},"#"),t(" Help with Maintenance")],-1),T=e("p",null,[t("Thank you for choosing and using "),e("code",null,"YukiReflection"),t(".")],-1),q=e("p",null,"If you have code-related suggestions and requests, you can submit a Pull Request on GitHub.",-1);function I(B,E){const o=a("ExternalLinkIcon");return c(),r("div",null,[_,l,e("p",null,[h,e("a",d,[u,n(o)]),p,e("a",f,[m,n(o)]),g]),e("p",null,[k,b,v,e("a",y,[x,n(o)]),w]),C,T,q])}const N=s(i,[["render",I],["__file","contacts.html.vue"]]);export{N as default}; diff --git a/docs/assets/contacts.html.edcb60f9.js b/docs/assets/contacts.html.edcb60f9.js deleted file mode 100644 index 5e91890..0000000 --- a/docs/assets/contacts.html.edcb60f9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,r as c,o as r,c as a,a as e,b as n,d as t}from"./app.472fa5e4.js";const _={},l=e("h1",{id:"\u8054\u7CFB\u6211\u4EEC",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u8054\u7CFB\u6211\u4EEC","aria-hidden":"true"},"#"),t(" \u8054\u7CFB\u6211\u4EEC")],-1),i=e("blockquote",null,[e("p",null,"\u5982\u5728\u4F7F\u7528\u4E2D\u6709\u4EFB\u4F55\u95EE\u9898\uFF0C\u6216\u6709\u4EFB\u4F55\u5EFA\u8BBE\u6027\u7684\u5EFA\u8BAE\uFF0C\u90FD\u53EF\u4EE5\u8054\u7CFB\u6211\u4EEC\u3002")],-1),d=t("\u52A0\u5165\u6211\u4EEC "),h={href:"https://t.me/YukiReflection",target:"_blank",rel:"noopener noreferrer"},u=t("\u70B9\u51FB\u52A0\u5165 Telegram \u7FA4\u7EC4"),f=t("\u5728 "),p=e("strong",null,"\u9177\u5B89",-1),m=t(" \u627E\u5230\u6211 "),k={href:"http://www.coolapk.com/u/876977",target:"_blank",rel:"noopener noreferrer"},x=t("@\u661F\u591C\u4E0D\u835F"),b=e("h2",{id:"\u52A9\u529B\u7EF4\u62A4",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u52A9\u529B\u7EF4\u62A4","aria-hidden":"true"},"#"),t(" \u52A9\u529B\u7EF4\u62A4")],-1),g=e("p",null,[t("\u611F\u8C22\u60A8\u9009\u62E9\u5E76\u4F7F\u7528 "),e("code",null,"YukiReflection"),t("\uFF0C\u5982\u6709\u4EE3\u7801\u76F8\u5173\u7684\u5EFA\u8BAE\u548C\u8BF7\u6C42\uFF0C\u53EF\u5728 GitHub \u63D0\u4EA4 Pull Request\u3002")],-1);function v(w,B){const o=c("ExternalLinkIcon");return r(),a("div",null,[l,i,e("p",null,[d,e("a",h,[u,n(o)])]),e("p",null,[f,p,m,e("a",k,[x,n(o)])]),b,g])}const N=s(_,[["render",v],["__file","contacts.html.vue"]]);export{N as default}; diff --git a/docs/assets/contacts.html.96dbd22d.js b/docs/assets/contacts.html.f1c02fdf.js similarity index 71% rename from docs/assets/contacts.html.96dbd22d.js rename to docs/assets/contacts.html.f1c02fdf.js index 86abe42..f748469 100644 --- a/docs/assets/contacts.html.96dbd22d.js +++ b/docs/assets/contacts.html.f1c02fdf.js @@ -1 +1 @@ -const t=JSON.parse('{"key":"v-193cf592","path":"/en/about/contacts.html","title":"Contact Us","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Help with Maintenance","slug":"help-with-maintenance","link":"#help-with-maintenance","children":[]}],"git":{"updatedTime":1682492605000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/about/contacts.md"}');export{t as data}; +const t=JSON.parse('{"key":"v-193cf592","path":"/en/about/contacts.html","title":"Contact Us","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Help with Maintenance","slug":"help-with-maintenance","link":"#help-with-maintenance","children":[]}],"git":{"updatedTime":1695391325000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":3}]},"filePathRelative":"en/about/contacts.md"}');export{t as data}; diff --git a/docs/assets/features.html.33ec7f9a.js b/docs/assets/features.html.01536ff8.js similarity index 94% rename from docs/assets/features.html.33ec7f9a.js rename to docs/assets/features.html.01536ff8.js index ea21173..5872d5b 100644 --- a/docs/assets/features.html.33ec7f9a.js +++ b/docs/assets/features.html.01536ff8.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-c557cfcc","path":"/en/api/features.html","title":"Features","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Class Extensions","slug":"class-extensions","link":"#class-extensions","children":[{"level":3,"title":"Object Conversion","slug":"object-conversion","link":"#object-conversion","children":[]},{"level":3,"title":"Existential Judgment","slug":"existential-judgment","link":"#existential-judgment","children":[]},{"level":3,"title":"Vague Search","slug":"vague-search","link":"#vague-search","children":[]}]},{"level":2,"title":"Member Extensions","slug":"member-extensions","link":"#member-extensions","children":[{"level":3,"title":"Find and Reflection","slug":"find-and-reflection","link":"#find-and-reflection","children":[]},{"level":3,"title":"Optional Find Conditions","slug":"optional-find-conditions","link":"#optional-find-conditions","children":[]},{"level":3,"title":"Find in Super Class","slug":"find-in-super-class","link":"#find-in-super-class","children":[]},{"level":3,"title":"Vague Find","slug":"vague-find","link":"#vague-find","children":[]},{"level":3,"title":"Multiple Find","slug":"multiple-find","link":"#multiple-find","children":[]},{"level":3,"title":"Static Bytecode","slug":"static-bytecode","link":"#static-bytecode","children":[]},{"level":3,"title":"Obfuscated Bytecode","slug":"obfuscated-bytecode","link":"#obfuscated-bytecode","children":[]},{"level":3,"title":"Directly Called","slug":"directly-called","link":"#directly-called","children":[]},{"level":3,"title":"Find Again","slug":"find-again","link":"#find-again","children":[]},{"level":3,"title":"Relative Matching","slug":"relative-matching","link":"#relative-matching","children":[]},{"level":3,"title":"Calling Generics","slug":"calling-generics","link":"#calling-generics","children":[]},{"level":3,"title":"Pay Attention of Trap","slug":"pay-attention-of-trap","link":"#pay-attention-of-trap","children":[]}]},{"level":2,"title":"Common Type Extensions","slug":"common-type-extensions","link":"#common-type-extensions","children":[]}],"git":{"updatedTime":1683882145000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/api/features.md"}');export{e as data}; +const e=JSON.parse('{"key":"v-c557cfcc","path":"/en/api/features.html","title":"Features","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Class Extensions","slug":"class-extensions","link":"#class-extensions","children":[{"level":3,"title":"Object Conversion","slug":"object-conversion","link":"#object-conversion","children":[]},{"level":3,"title":"Existential Judgment","slug":"existential-judgment","link":"#existential-judgment","children":[]},{"level":3,"title":"Vague Search","slug":"vague-search","link":"#vague-search","children":[]}]},{"level":2,"title":"Member Extensions","slug":"member-extensions","link":"#member-extensions","children":[{"level":3,"title":"Find and Reflection","slug":"find-and-reflection","link":"#find-and-reflection","children":[]},{"level":3,"title":"Optional Find Conditions","slug":"optional-find-conditions","link":"#optional-find-conditions","children":[]},{"level":3,"title":"Find in Super Class","slug":"find-in-super-class","link":"#find-in-super-class","children":[]},{"level":3,"title":"Vague Find","slug":"vague-find","link":"#vague-find","children":[]},{"level":3,"title":"Multiple Find","slug":"multiple-find","link":"#multiple-find","children":[]},{"level":3,"title":"Static Bytecode","slug":"static-bytecode","link":"#static-bytecode","children":[]},{"level":3,"title":"Obfuscated Bytecode","slug":"obfuscated-bytecode","link":"#obfuscated-bytecode","children":[]},{"level":3,"title":"Directly Called","slug":"directly-called","link":"#directly-called","children":[]},{"level":3,"title":"Find Again","slug":"find-again","link":"#find-again","children":[]},{"level":3,"title":"Relative Matching","slug":"relative-matching","link":"#relative-matching","children":[]},{"level":3,"title":"Calling Generics","slug":"calling-generics","link":"#calling-generics","children":[]},{"level":3,"title":"Pay Attention of Trap","slug":"pay-attention-of-trap","link":"#pay-attention-of-trap","children":[]}]},{"level":2,"title":"Common Type Extensions","slug":"common-type-extensions","link":"#common-type-extensions","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":3}]},"filePathRelative":"en/api/features.md"}');export{e as data}; diff --git a/docs/assets/features.html.57dae594.js b/docs/assets/features.html.2e4ae9d9.js similarity index 95% rename from docs/assets/features.html.57dae594.js rename to docs/assets/features.html.2e4ae9d9.js index 6dc2400..7ea1a41 100644 --- a/docs/assets/features.html.57dae594.js +++ b/docs/assets/features.html.2e4ae9d9.js @@ -1 +1 @@ -const l=JSON.parse('{"key":"v-47e315ee","path":"/zh-cn/api/features.html","title":"\u529F\u80FD\u4ECB\u7ECD","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Class \u6269\u5C55","slug":"class-\u6269\u5C55","link":"#class-\u6269\u5C55","children":[{"level":3,"title":"\u5BF9\u8C61\u8F6C\u6362","slug":"\u5BF9\u8C61\u8F6C\u6362","link":"#\u5BF9\u8C61\u8F6C\u6362","children":[]},{"level":3,"title":"\u5B58\u5728\u5224\u65AD","slug":"\u5B58\u5728\u5224\u65AD","link":"#\u5B58\u5728\u5224\u65AD","children":[]},{"level":3,"title":"\u6A21\u7CCA\u67E5\u627E","slug":"\u6A21\u7CCA\u67E5\u627E","link":"#\u6A21\u7CCA\u67E5\u627E","children":[]}]},{"level":2,"title":"Member \u6269\u5C55","slug":"member-\u6269\u5C55","link":"#member-\u6269\u5C55","children":[{"level":3,"title":"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528","slug":"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528","link":"#\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528","children":[]},{"level":3,"title":"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6","slug":"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6","link":"#\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6","children":[]},{"level":3,"title":"\u5728\u7236\u7C7B\u67E5\u627E","slug":"\u5728\u7236\u7C7B\u67E5\u627E","link":"#\u5728\u7236\u7C7B\u67E5\u627E","children":[]},{"level":3,"title":"\u6A21\u7CCA\u67E5\u627E","slug":"\u6A21\u7CCA\u67E5\u627E-1","link":"#\u6A21\u7CCA\u67E5\u627E-1","children":[]},{"level":3,"title":"\u591A\u91CD\u67E5\u627E","slug":"\u591A\u91CD\u67E5\u627E-1","link":"#\u591A\u91CD\u67E5\u627E-1","children":[]},{"level":3,"title":"\u9759\u6001\u5B57\u8282\u7801","slug":"\u9759\u6001\u5B57\u8282\u7801","link":"#\u9759\u6001\u5B57\u8282\u7801","children":[]},{"level":3,"title":"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801","slug":"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801","link":"#\u6DF7\u6DC6\u7684\u5B57\u8282\u7801","children":[]},{"level":3,"title":"\u76F4\u63A5\u8C03\u7528","slug":"\u76F4\u63A5\u8C03\u7528","link":"#\u76F4\u63A5\u8C03\u7528","children":[]},{"level":3,"title":"\u518D\u6B21\u67E5\u627E","slug":"\u518D\u6B21\u67E5\u627E","link":"#\u518D\u6B21\u67E5\u627E","children":[]},{"level":3,"title":"\u76F8\u5BF9\u5339\u914D","slug":"\u76F8\u5BF9\u5339\u914D","link":"#\u76F8\u5BF9\u5339\u914D","children":[]},{"level":3,"title":"\u8C03\u7528\u6CDB\u578B","slug":"\u8C03\u7528\u6CDB\u578B","link":"#\u8C03\u7528\u6CDB\u578B","children":[]},{"level":3,"title":"\u6CE8\u610F\u8BEF\u533A","slug":"\u6CE8\u610F\u8BEF\u533A","link":"#\u6CE8\u610F\u8BEF\u533A","children":[]}]},{"level":2,"title":"\u5E38\u7528\u7C7B\u578B\u6269\u5C55","slug":"\u5E38\u7528\u7C7B\u578B\u6269\u5C55","link":"#\u5E38\u7528\u7C7B\u578B\u6269\u5C55","children":[]}],"git":{"updatedTime":1674666410000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"zh-cn/api/features.md"}');export{l as data}; +const l=JSON.parse('{"key":"v-47e315ee","path":"/zh-cn/api/features.html","title":"\u529F\u80FD\u4ECB\u7ECD","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Class \u6269\u5C55","slug":"class-\u6269\u5C55","link":"#class-\u6269\u5C55","children":[{"level":3,"title":"\u5BF9\u8C61\u8F6C\u6362","slug":"\u5BF9\u8C61\u8F6C\u6362","link":"#\u5BF9\u8C61\u8F6C\u6362","children":[]},{"level":3,"title":"\u5B58\u5728\u5224\u65AD","slug":"\u5B58\u5728\u5224\u65AD","link":"#\u5B58\u5728\u5224\u65AD","children":[]},{"level":3,"title":"\u6A21\u7CCA\u67E5\u627E","slug":"\u6A21\u7CCA\u67E5\u627E","link":"#\u6A21\u7CCA\u67E5\u627E","children":[]}]},{"level":2,"title":"Member \u6269\u5C55","slug":"member-\u6269\u5C55","link":"#member-\u6269\u5C55","children":[{"level":3,"title":"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528","slug":"\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528","link":"#\u67E5\u627E\u4E0E\u53CD\u5C04\u8C03\u7528","children":[]},{"level":3,"title":"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6","slug":"\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6","link":"#\u53EF\u9009\u7684\u67E5\u627E\u6761\u4EF6","children":[]},{"level":3,"title":"\u5728\u7236\u7C7B\u67E5\u627E","slug":"\u5728\u7236\u7C7B\u67E5\u627E","link":"#\u5728\u7236\u7C7B\u67E5\u627E","children":[]},{"level":3,"title":"\u6A21\u7CCA\u67E5\u627E","slug":"\u6A21\u7CCA\u67E5\u627E-1","link":"#\u6A21\u7CCA\u67E5\u627E-1","children":[]},{"level":3,"title":"\u591A\u91CD\u67E5\u627E","slug":"\u591A\u91CD\u67E5\u627E-1","link":"#\u591A\u91CD\u67E5\u627E-1","children":[]},{"level":3,"title":"\u9759\u6001\u5B57\u8282\u7801","slug":"\u9759\u6001\u5B57\u8282\u7801","link":"#\u9759\u6001\u5B57\u8282\u7801","children":[]},{"level":3,"title":"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801","slug":"\u6DF7\u6DC6\u7684\u5B57\u8282\u7801","link":"#\u6DF7\u6DC6\u7684\u5B57\u8282\u7801","children":[]},{"level":3,"title":"\u76F4\u63A5\u8C03\u7528","slug":"\u76F4\u63A5\u8C03\u7528","link":"#\u76F4\u63A5\u8C03\u7528","children":[]},{"level":3,"title":"\u518D\u6B21\u67E5\u627E","slug":"\u518D\u6B21\u67E5\u627E","link":"#\u518D\u6B21\u67E5\u627E","children":[]},{"level":3,"title":"\u76F8\u5BF9\u5339\u914D","slug":"\u76F8\u5BF9\u5339\u914D","link":"#\u76F8\u5BF9\u5339\u914D","children":[]},{"level":3,"title":"\u8C03\u7528\u6CDB\u578B","slug":"\u8C03\u7528\u6CDB\u578B","link":"#\u8C03\u7528\u6CDB\u578B","children":[]},{"level":3,"title":"\u6CE8\u610F\u8BEF\u533A","slug":"\u6CE8\u610F\u8BEF\u533A","link":"#\u6CE8\u610F\u8BEF\u533A","children":[]}]},{"level":2,"title":"\u5E38\u7528\u7C7B\u578B\u6269\u5C55","slug":"\u5E38\u7528\u7C7B\u578B\u6269\u5C55","link":"#\u5E38\u7528\u7C7B\u578B\u6269\u5C55","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/api/features.md"}');export{l as data}; diff --git a/docs/assets/features.html.392b7366.js b/docs/assets/features.html.65df35ac.js similarity index 98% rename from docs/assets/features.html.392b7366.js rename to docs/assets/features.html.65df35ac.js index 989c617..d274fb0 100644 --- a/docs/assets/features.html.392b7366.js +++ b/docs/assets/features.html.65df35ac.js @@ -1,4 +1,4 @@ -import{_ as e,r as l,o,c as p,a as s,b as t,e as n,d as c}from"./app.472fa5e4.js";const i={},r=n(`

    Features

    This page contains usage examples for all core features of YukiReflection.

    Class Extensions

    Here are the extension functions related to the Class object itself.

    Object Conversion

    Suppose we want to get a Class that cannot be called directly.

    Normally, we can use the standard reflection API to find this Class.

    The following example

    // Class in the default ClassLoader environment
    +import{_ as t,r as e,o as c,c as i,b as s,d as l,a,e as n}from"./app.2add9aa5.js";const r={},d=a(`

    Features

    This page contains usage examples for all core features of YukiReflection.

    Class Extensions

    Here are the extension functions related to the Class object itself.

    Object Conversion

    Suppose we want to get a Class that cannot be called directly.

    Normally, we can use the standard reflection API to find this Class.

    The following example

    // Class in the default ClassLoader environment
     var instance = Class.forName("com.demo.Test")
     // Specify the Class in the ClassLoader environment
     val customClassLoader: ClassLoader? = ... // Assume this is your ClassLoader
    @@ -40,7 +40,7 @@ import{_ as e,r as l,o,c as p,a as s,b as t,e as n,d as c}from"./app.472fa5e4.js
     // ClassLoader where the custom Class is located
     val customClassLoader: ClassLoader? = ... // Assume this is your ClassLoader
     var isExist = "com.demo.Test".hasClass(customClassLoader)
    -

    Tips

    For more functions, please refer to String.hasClass method.

    `,31),d={id:"vague-search",tabindex:"-1"},y=s("a",{class:"header-anchor",href:"#vague-search","aria-hidden":"true"},"#",-1),A=c(" Vague Search\u2002"),u=n(`

    The Class name in the current app's Dex after being obfuscated by tools such as R8 will be difficult to distinguish.

    Its correct position is uncertain, and cannot be obtained directly through Object Conversion.

    At this point, there is DexClassFinder, its role is to determine the instance of this Class by the bytecode features in the Class that need to be searched.

    Notice

    At present, the function of DexClassFinder is still in the experimental stage.

    Since the search function is only implemented through the Java layer, the performance may not reach the optimal level when there are too many current app's Class.

    If something got wrong welcome to feedback.

    Since it is a reflection-level API, currently it can only locate the specified Class through the characteristics of Class and Member, and cannot locate it by specifying the string and method content characteristics in the bytecode.

    The speed of searching Class depends on the performance of the current device.

    At present, the mainstream mobile processors are in the 3~10s range when the conditions are not complicated in the 10~15w number of Class, the fastest speed can reach within 25s under slightly complex conditions.

    Please note that the more the same type Class is matched, the slower the speed.

    Get Started

    Below is a simple usage example.

    Suppose the following Class is what we want, the names are obfuscated and may be different in each version.

    The following example

    package com.demo;
    +

    Tips

    For more functions, please refer to String.hasClass method.

    `,31),y={id:"vague-search",tabindex:"-1"},A=s("a",{class:"header-anchor",href:"#vague-search","aria-hidden":"true"},"#",-1),u=n(" Vague Search\u2002"),m=a('

    The Class name in the current app's Dex after being obfuscated by tools such as R8 will be difficult to distinguish.

    Its correct position is uncertain, and cannot be obtained directly through Object Conversion.

    At this point, there is DexClassFinder, its role is to determine the instance of this Class by the bytecode features in the Class that need to be searched.

    Notice

    This feature is only available on the Android platform.

    At present, the function of DexClassFinder is still in the experimental stage.

    Since the search function is only implemented through the Java layer, the performance may not reach the optimal level when there are too many current app's Class.

    If something got wrong welcome to feedback.

    Since it is a reflection-level API, currently it can only locate the specified Class through the characteristics of Class and Member, and cannot locate it by specifying the string and method content characteristics in the bytecode.

    The speed of searching Class depends on the performance of the current device.

    At present, the mainstream mobile processors are in the 3~10s range when the conditions are not complicated in the 10~15w number of Class, the fastest speed can reach within 25s under slightly complex conditions.

    Please note that the more the same type Class is matched, the slower the speed.

    ',4),v={class:"custom-container danger"},C=s("p",{class:"custom-container-title"},"Pay Attention",-1),h=s("p",null,[n("After "),s("strong",null,"YukiHookAPI"),n(" 2.x.x released, this function will be deprecated and will be removed directly from "),s("strong",null,"YukiReflection"),n(".")],-1),D=n("We welcome all developers to start using "),B={href:"https://github.com/LuckyPray/DexKit",target:"_blank",rel:"noopener noreferrer"},b=n("DexKit"),F=n(", which is a high-performance runtime parsing library for "),g=s("strong",null,"Dex",-1),f=n(" implemented in C++, which is more efficient than the Java layer in terms of performance, efficient and excellent, it is still in the development stage, your valuable suggestions are welcome."),k=a(`

    Get Started

    Below is a simple usage example.

    Suppose the following Class is what we want, the names are obfuscated and may be different in each version.

    The following example

    package com.demo;
     
     public class a extends Activity implements Serializable {
     
    @@ -768,4 +768,4 @@ import{_ as e,r as l,o,c as p,a as s,b as t,e as n,d as c}from"./app.472fa5e4.js
         name = "test"
         type = BooleanType
     }
    -

    The primitive type keywords in common Java types have been encapsulated as Type(Class Name) + Type, such as IntType, FloatType (their bytecode types are int, float).

    Correspondingly, array types also have convenient usage methods, assuming we want to get an array of type String[].

    You need to write java.lang.reflect.Array.newInstance(String::class.java, 0).javaClass to get this type.

    Does it feel very troublesome, at this time we can use the method ArrayClass(StringClass) to get this type.

    At the same time, since String is a common type, you can also directly use StringArrayClass to get this type.

    The methods found in some common requirements have their corresponding encapsulation types for use, in the format Type(Class Name) + Class.

    The following are wrapper names for some special case types in Java represented in YukiReflection.

    • void \u2192 UnitType

    • java.lang.Void \u2192 UnitClass

    • java.lang.Object \u2192 AnyClass

    • java.lang.Integer \u2192 IntClass

    • java.lang.Character \u2192 CharClass

    Notice

    Encapsulating types with Type(Class Name) + Type will and only be represented as Java primitive type keywords.

    Since the concept of primitive types does not exist in Kotlin, they will all be defined as KClass.

    There are 9 primitive type keywords in Java, of which 8 are primitive type, namely boolean, char, byte, short , int, float, long, double, of which the void type is a special case.

    At the same time, they all have their own corresponding package types in Java, such as java.lang.Boolean, java.lang.Integer, these types are unequal, Please note the distinction.

    Similarly, arrays also have corresponding wrapper types, which also need to be distinguished from Java primitive type keywords.

    For example, the encapsulation type of byte[] is ByteArrayType or ArrayClass(ByteType), and the encapsulation type of Byte[] is ByteArrayClass or ArrayClass(ByteClass), these types are also unequal.

    At the same time, you are welcome to contribute more commonly used types.

    `,339);function m(v,C){const a=l("Badge");return o(),p("div",null,[r,s("h3",d,[y,A,t(a,{type:"tip",text:"Beta",vertical:"middle"})]),u])}const D=e(i,[["render",m],["__file","features.html.vue"]]);export{D as default}; +

    The primitive type keywords in common Java types have been encapsulated as Type(Class Name) + Type, such as IntType, FloatType (their bytecode types are int, float).

    Correspondingly, array types also have convenient usage methods, assuming we want to get an array of type String[].

    You need to write java.lang.reflect.Array.newInstance(String::class.java, 0).javaClass to get this type.

    Does it feel very troublesome, at this time we can use the method ArrayClass(StringClass) to get this type.

    At the same time, since String is a common type, you can also directly use StringArrayClass to get this type.

    The methods found in some common requirements have their corresponding encapsulation types for use, in the format Type(Class Name) + Class.

    The following are wrapper names for some special case types in Java represented in YukiReflection.

    • void \u2192 UnitType

    • java.lang.Void \u2192 UnitClass

    • java.lang.Object \u2192 AnyClass

    • java.lang.Integer \u2192 IntClass

    • java.lang.Character \u2192 CharClass

    Notice

    Encapsulating types with Type(Class Name) + Type will and only be represented as Java primitive type keywords.

    Since the concept of primitive types does not exist in Kotlin, they will all be defined as KClass.

    There are 9 primitive type keywords in Java, of which 8 are primitive type, namely boolean, char, byte, short , int, float, long, double, of which the void type is a special case.

    At the same time, they all have their own corresponding package types in Java, such as java.lang.Boolean, java.lang.Integer, these types are unequal, Please note the distinction.

    Similarly, arrays also have corresponding wrapper types, which also need to be distinguished from Java primitive type keywords.

    For example, the encapsulation type of byte[] is ByteArrayType or ArrayClass(ByteType), and the encapsulation type of Byte[] is ByteArrayClass or ArrayClass(ByteClass), these types are also unequal.

    At the same time, you are welcome to contribute more commonly used types.

    `,335);function w(T,q){const o=e("Badge"),p=e("ExternalLinkIcon");return c(),i("div",null,[d,s("h3",y,[A,u,l(o,{type:"tip",text:"Beta",vertical:"middle"})]),m,s("div",v,[C,h,s("p",null,[D,s("a",B,[b,l(p)]),F,g,f])]),k])}const S=t(r,[["render",w],["__file","features.html.vue"]]);export{S as default}; diff --git a/docs/assets/features.html.206ba964.js b/docs/assets/features.html.9a3194da.js similarity index 97% rename from docs/assets/features.html.206ba964.js rename to docs/assets/features.html.9a3194da.js index 59490a0..b0ee0a3 100644 --- a/docs/assets/features.html.206ba964.js +++ b/docs/assets/features.html.9a3194da.js @@ -1,4 +1,4 @@ -import{_ as l,r as e,o as p,c as o,a as s,b as c,e as n,d as r}from"./app.472fa5e4.js";const t={},i=n(`

    \u529F\u80FD\u4ECB\u7ECD

    \u8FD9\u91CC\u5305\u542B\u4E86 YukiReflection \u5168\u90E8\u6838\u5FC3\u529F\u80FD\u7684\u7528\u6CD5\u793A\u4F8B\u3002

    Class \u6269\u5C55

    \u8FD9\u91CC\u662F Class \u5BF9\u8C61\u81EA\u8EAB\u76F8\u5173\u7684\u6269\u5C55\u529F\u80FD\u3002

    \u5BF9\u8C61\u8F6C\u6362

    \u5047\u8BBE\u6211\u4EEC\u8981\u5F97\u5230\u4E00\u4E2A\u4E0D\u80FD\u76F4\u63A5\u8C03\u7528\u7684 Class\uFF0C\u901A\u5E38\u60C5\u51B5\u4E0B\uFF0C\u6211\u4EEC\u53EF\u4EE5\u4F7F\u7528\u6807\u51C6\u7684\u53CD\u5C04 API \u53BB\u67E5\u627E\u8FD9\u4E2A Class\u3002

    \u793A\u4F8B\u5982\u4E0B

    // \u9ED8\u8BA4 ClassLoader \u73AF\u5883\u4E0B\u7684 Class
    +import{_ as c,r as l,o as r,c as t,b as s,d as e,a,e as n}from"./app.2add9aa5.js";const i={},d=a(`

    \u529F\u80FD\u4ECB\u7ECD

    \u8FD9\u91CC\u5305\u542B\u4E86 YukiReflection \u5168\u90E8\u6838\u5FC3\u529F\u80FD\u7684\u7528\u6CD5\u793A\u4F8B\u3002

    Class \u6269\u5C55

    \u8FD9\u91CC\u662F Class \u5BF9\u8C61\u81EA\u8EAB\u76F8\u5173\u7684\u6269\u5C55\u529F\u80FD\u3002

    \u5BF9\u8C61\u8F6C\u6362

    \u5047\u8BBE\u6211\u4EEC\u8981\u5F97\u5230\u4E00\u4E2A\u4E0D\u80FD\u76F4\u63A5\u8C03\u7528\u7684 Class\uFF0C\u901A\u5E38\u60C5\u51B5\u4E0B\uFF0C\u6211\u4EEC\u53EF\u4EE5\u4F7F\u7528\u6807\u51C6\u7684\u53CD\u5C04 API \u53BB\u67E5\u627E\u8FD9\u4E2A Class\u3002

    \u793A\u4F8B\u5982\u4E0B

    // \u9ED8\u8BA4 ClassLoader \u73AF\u5883\u4E0B\u7684 Class
     var instance = Class.forName("com.demo.Test")
     // \u6307\u5B9A ClassLoader \u73AF\u5883\u4E0B\u7684 Class
     val customClassLoader: ClassLoader? = ... // \u5047\u8BBE\u8FD9\u4E2A\u5C31\u662F\u4F60\u7684 ClassLoader
    @@ -40,7 +40,7 @@ import{_ as l,r as e,o as p,c as o,a as s,b as c,e as n,d as r}from"./app.472fa5
     // \u81EA\u5B9A\u4E49 Class \u6240\u5728\u7684 ClassLoader
     val customClassLoader: ClassLoader? = ... // \u5047\u8BBE\u8FD9\u4E2A\u5C31\u662F\u4F60\u7684 ClassLoader
     var isExist = "com.demo.Test".hasClass(customClassLoader)
    -

    \u5C0F\u63D0\u793A

    \u66F4\u591A\u529F\u80FD\u8BF7\u53C2\u8003 String.hasClass \u65B9\u6CD5\u3002

    `,28),d={id:"\u6A21\u7CCA\u67E5\u627E",tabindex:"-1"},y=s("a",{class:"header-anchor",href:"#\u6A21\u7CCA\u67E5\u627E","aria-hidden":"true"},"#",-1),A=r(" \u6A21\u7CCA\u67E5\u627E\u2002"),u=n(`

    \u5728 R8 \u7B49\u5DE5\u5177\u6DF7\u6DC6\u540E\u7684\u5F53\u524D APP Dex \u4E2D\u7684 Class \u540D\u79F0\u5C06\u4F1A\u96BE\u4EE5\u5206\u8FA8\uFF0C\u4E14\u4E0D\u786E\u5B9A\u5176\u6B63\u786E\u4F4D\u7F6E\uFF0C\u4E0D\u80FD\u76F4\u63A5\u901A\u8FC7 \u5BF9\u8C61\u8F6C\u6362 \u6765\u5F97\u5230\u3002

    \u6B64\u65F6\u5C31\u6709\u4E86 DexClassFinder\uFF0C\u5B83\u7684\u4F5C\u7528\u662F\u901A\u8FC7\u9700\u8981\u67E5\u627E\u7684 Class \u4E2D\u7684\u5B57\u8282\u7801\u7279\u5F81\u6765\u786E\u5B9A\u8FD9\u4E2A Class \u7684\u5B9E\u4F8B\u3002

    \u6CE8\u610F

    \u76EE\u524D DexClassFinder \u7684\u529F\u80FD\u5C1A\u5728\u8BD5\u9A8C\u9636\u6BB5\uFF0C\u7531\u4E8E\u4EC5\u901A\u8FC7 Java \u5C42\u5B9E\u73B0\u67E5\u627E\u529F\u80FD\uFF0C\u5728\u5F53\u524D APP Class \u8FC7\u591A\u65F6\u6027\u80FD\u53EF\u80FD\u4E0D\u80FD\u8FBE\u5230\u6700\u4F73\u6C34\u5E73\uFF0C\u5982\u679C\u53D1\u751F\u67E5\u627E\u4E0D\u5230\u3001\u5B9A\u4F4D\u6709\u8BEF\u7684\u95EE\u9898\u6B22\u8FCE\u5411\u6211\u4EEC\u53CD\u9988\u3002

    \u7531\u4E8E\u662F\u53CD\u5C04\u5C42\u9762\u7684 API\uFF0C\u76EE\u524D\u5B83\u53EA\u80FD\u901A\u8FC7\u7C7B\u4E0E\u6210\u5458\u7684\u7279\u5F81\u6765\u5B9A\u4F4D\u6307\u5B9A\u7684 Class\uFF0C\u4E0D\u80FD\u901A\u8FC7\u6307\u5B9A\u5B57\u8282\u7801\u4E2D\u7684\u5B57\u7B26\u4E32\u548C\u65B9\u6CD5\u5185\u5BB9\u7279\u5F81\u6765\u8FDB\u884C\u5B9A\u4F4D\u3002

    \u67E5\u627E Class \u7684\u901F\u5EA6\u53D6\u51B3\u4E8E\u5F53\u524D\u8BBE\u5907\u7684\u6027\u80FD\uFF0C\u76EE\u524D\u4E3B\u6D41\u7684\u79FB\u52A8\u7AEF\u5904\u7406\u5668\u5728 10~15w \u6570\u91CF\u7684 Class \u4E2D\u6761\u4EF6\u4E0D\u7B97\u590D\u6742\u7684\u60C5\u51B5\u4E0B\u5927\u6982\u5728 3~10s \u533A\u95F4\uFF0C\u6761\u4EF6\u7A0D\u5FAE\u590D\u6742\u7684\u60C5\u51B5\u4E0B\u6700\u5FEB\u901F\u5EA6\u80FD\u8FBE\u5230 25s \u4EE5\u5185\uFF0C\u5339\u914D\u5230\u7684\u540C\u7C7B\u578B Class \u8D8A\u591A\u901F\u5EA6\u8D8A\u6162\u3002

    \u5F00\u59CB\u4F7F\u7528

    \u4E0B\u9762\u662F\u4E00\u4E2A\u7B80\u5355\u7684\u7528\u6CD5\u793A\u4F8B\u3002

    \u5047\u8BBE\u4E0B\u9762\u8FD9\u4E2A Class \u662F\u6211\u4EEC\u60F3\u8981\u5F97\u5230\u7684\uFF0C\u5176\u4E2D\u7684\u540D\u79F0\u7ECF\u8FC7\u4E86\u6DF7\u6DC6\uFF0C\u5728\u6BCF\u4E2A\u7248\u672C\u53EF\u80FD\u90FD\u4E0D\u4E00\u6837\u3002

    \u793A\u4F8B\u5982\u4E0B

    package com.demo;
    +

    \u5C0F\u63D0\u793A

    \u66F4\u591A\u529F\u80FD\u8BF7\u53C2\u8003 String.hasClass \u65B9\u6CD5\u3002

    `,28),y={id:"\u6A21\u7CCA\u67E5\u627E",tabindex:"-1"},A=s("a",{class:"header-anchor",href:"#\u6A21\u7CCA\u67E5\u627E","aria-hidden":"true"},"#",-1),u=n(" \u6A21\u7CCA\u67E5\u627E\u2002"),v=a('

    \u5728 R8 \u7B49\u5DE5\u5177\u6DF7\u6DC6\u540E\u7684\u5F53\u524D APP Dex \u4E2D\u7684 Class \u540D\u79F0\u5C06\u4F1A\u96BE\u4EE5\u5206\u8FA8\uFF0C\u4E14\u4E0D\u786E\u5B9A\u5176\u6B63\u786E\u4F4D\u7F6E\uFF0C\u4E0D\u80FD\u76F4\u63A5\u901A\u8FC7 \u5BF9\u8C61\u8F6C\u6362 \u6765\u5F97\u5230\u3002

    \u6B64\u65F6\u5C31\u6709\u4E86 DexClassFinder\uFF0C\u5B83\u7684\u4F5C\u7528\u662F\u901A\u8FC7\u9700\u8981\u67E5\u627E\u7684 Class \u4E2D\u7684\u5B57\u8282\u7801\u7279\u5F81\u6765\u786E\u5B9A\u8FD9\u4E2A Class \u7684\u5B9E\u4F8B\u3002

    \u6CE8\u610F

    \u6B64\u529F\u80FD\u4EC5\u9002\u7528\u4E8E Android \u5E73\u53F0\u3002

    \u76EE\u524D DexClassFinder \u7684\u529F\u80FD\u5C1A\u5728\u8BD5\u9A8C\u9636\u6BB5\uFF0C\u7531\u4E8E\u4EC5\u901A\u8FC7 Java \u5C42\u5B9E\u73B0\u67E5\u627E\u529F\u80FD\uFF0C\u5728\u5F53\u524D APP Class \u8FC7\u591A\u65F6\u6027\u80FD\u53EF\u80FD\u4E0D\u80FD\u8FBE\u5230\u6700\u4F73\u6C34\u5E73\uFF0C\u5982\u679C\u53D1\u751F\u67E5\u627E\u4E0D\u5230\u3001\u5B9A\u4F4D\u6709\u8BEF\u7684\u95EE\u9898\u6B22\u8FCE\u5411\u6211\u4EEC\u53CD\u9988\u3002

    \u7531\u4E8E\u662F\u53CD\u5C04\u5C42\u9762\u7684 API\uFF0C\u76EE\u524D\u5B83\u53EA\u80FD\u901A\u8FC7\u7C7B\u4E0E\u6210\u5458\u7684\u7279\u5F81\u6765\u5B9A\u4F4D\u6307\u5B9A\u7684 Class\uFF0C\u4E0D\u80FD\u901A\u8FC7\u6307\u5B9A\u5B57\u8282\u7801\u4E2D\u7684\u5B57\u7B26\u4E32\u548C\u65B9\u6CD5\u5185\u5BB9\u7279\u5F81\u6765\u8FDB\u884C\u5B9A\u4F4D\u3002

    \u67E5\u627E Class \u7684\u901F\u5EA6\u53D6\u51B3\u4E8E\u5F53\u524D\u8BBE\u5907\u7684\u6027\u80FD\uFF0C\u76EE\u524D\u4E3B\u6D41\u7684\u79FB\u52A8\u7AEF\u5904\u7406\u5668\u5728 10~15w \u6570\u91CF\u7684 Class \u4E2D\u6761\u4EF6\u4E0D\u7B97\u590D\u6742\u7684\u60C5\u51B5\u4E0B\u5927\u6982\u5728 3~10s \u533A\u95F4\uFF0C\u6761\u4EF6\u7A0D\u5FAE\u590D\u6742\u7684\u60C5\u51B5\u4E0B\u6700\u5FEB\u901F\u5EA6\u80FD\u8FBE\u5230 25s \u4EE5\u5185\uFF0C\u5339\u914D\u5230\u7684\u540C\u7C7B\u578B Class \u8D8A\u591A\u901F\u5EA6\u8D8A\u6162\u3002

    ',3),C={class:"custom-container danger"},D=s("p",{class:"custom-container-title"},"\u7279\u522B\u6CE8\u610F",-1),B=s("p",null,[n("\u5728 "),s("strong",null,"YukiHookAPI"),n(" \u53D1\u5E03 2.x.x \u7248\u672C\u540E\uFF0C\u6B64\u529F\u80FD\u5C06\u88AB\u6807\u8BB0\u4E3A\u4F5C\u5E9F\uFF0C\u4E14\u5C06\u4F1A\u76F4\u63A5\u4ECE "),s("strong",null,"YukiReflection"),n(" \u4E2D\u79FB\u9664\u3002")],-1),m=n("\u6211\u4EEC\u6B22\u8FCE\u5404\u4F4D\u5F00\u53D1\u8005\u5F00\u59CB\u4F7F\u7528 "),b={href:"https://github.com/LuckyPray/DexKit",target:"_blank",rel:"noopener noreferrer"},F=n("DexKit"),g=n("\uFF0C\u5B83\u662F\u4E00\u4E2A\u4F7F\u7528 C++ \u5B9E\u73B0\u7684 "),k=s("strong",null,"Dex",-1),h=n(" \u9AD8\u6027\u80FD\u8FD0\u884C\u65F6\u89E3\u6790\u5E93\uFF0C\u5728\u6027\u80FD\u65B9\u9762\u6BD4 Java \u5C42\u66F4\u52A0\u9AD8\u6548\u4E0E\u4F18\u79C0\uFF0C\u76EE\u524D\u5C1A\u5728\u5F00\u53D1\u9636\u6BB5\uFF0C\u6B22\u8FCE\u63D0\u51FA\u5B9D\u8D35\u5EFA\u8BAE\u3002"),q=a(`

    \u5F00\u59CB\u4F7F\u7528

    \u4E0B\u9762\u662F\u4E00\u4E2A\u7B80\u5355\u7684\u7528\u6CD5\u793A\u4F8B\u3002

    \u5047\u8BBE\u4E0B\u9762\u8FD9\u4E2A Class \u662F\u6211\u4EEC\u60F3\u8981\u5F97\u5230\u7684\uFF0C\u5176\u4E2D\u7684\u540D\u79F0\u7ECF\u8FC7\u4E86\u6DF7\u6DC6\uFF0C\u5728\u6BCF\u4E2A\u7248\u672C\u53EF\u80FD\u90FD\u4E0D\u4E00\u6837\u3002

    \u793A\u4F8B\u5982\u4E0B

    package com.demo;
     
     public class a extends Activity implements Serializable {
     
    @@ -743,4 +743,4 @@ import{_ as l,r as e,o as p,c as o,a as s,b as c,e as n,d as r}from"./app.472fa5
         name = "test"
         type = BooleanType
     }
    -

    \u5728 Java \u5E38\u89C1\u7C7B\u578B\u4E2D\u7684\u539F\u59CB\u7C7B\u578B (\u6216\u57FA\u672C\u7C7B\u578B) \u5173\u952E\u5B57\u90FD\u5DF2\u88AB\u5C01\u88C5\u4E3A \u7C7B\u578B + Type \u7684\u65B9\u5F0F\uFF0C\u4F8B\u5982 IntType\u3001FloatType (\u5B83\u4EEC\u7684\u5B57\u8282\u7801\u7C7B\u578B\u4E3A int\u3001float)\u3002

    \u76F8\u5E94\u5730\uFF0C\u6570\u7EC4\u7C7B\u578B\u4E5F\u6709\u65B9\u4FBF\u7684\u4F7F\u7528\u65B9\u6CD5\uFF0C\u5047\u8BBE\u6211\u4EEC\u8981\u83B7\u5F97 String[] \u7C7B\u578B\u7684\u6570\u7EC4\u3002

    \u9700\u8981\u5199\u505A java.lang.reflect.Array.newInstance(String::class.java, 0).javaClass \u624D\u80FD\u5F97\u5230\u8FD9\u4E2A\u7C7B\u578B\u3002

    \u611F\u89C9\u662F\u4E0D\u662F\u5F88\u9EBB\u70E6\uFF0C\u8FD9\u4E2A\u65F6\u5019\u6211\u4EEC\u53EF\u4EE5\u4F7F\u7528\u65B9\u6CD5 ArrayClass(StringClass) \u6765\u5F97\u5230\u8FD9\u4E2A\u7C7B\u578B\u3002

    \u540C\u65F6\u7531\u4E8E String \u662F\u5E38\u89C1\u7C7B\u578B\uFF0C\u6240\u4EE5\u8FD8\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 StringArrayClass \u6765\u5F97\u5230\u8FD9\u4E2A\u7C7B\u578B\u3002

    \u4E00\u4E9B\u5E38\u89C1\u9700\u6C42\u4E2D\u67E5\u627E\u7684\u65B9\u6CD5\uFF0C\u90FD\u6709\u5176\u5BF9\u5E94\u7684\u5C01\u88C5\u7C7B\u578B\u4EE5\u4F9B\u4F7F\u7528\uFF0C\u683C\u5F0F\u4E3A \u7C7B\u578B + Class\u3002

    \u4EE5\u4E0B\u662F Java \u4E2D\u4E00\u4E9B\u7279\u4F8B\u7C7B\u578B\u5728 YukiReflection \u4E2D\u7684\u5C01\u88C5\u540D\u79F0\u3002

    • void \u2192 UnitType

    • java.lang.Void \u2192 UnitClass

    • java.lang.Object \u2192 AnyClass

    • java.lang.Integer \u2192 IntClass

    • java.lang.Character \u2192 CharClass

    \u6CE8\u610F

    \u4EE5 \u7C7B\u578B + Type \u5C01\u88C5\u7C7B\u578B\u4F1A\u4E14\u4EC5\u4F1A\u8868\u793A\u4E3A Java \u539F\u59CB\u7C7B\u578B\u5173\u952E\u5B57\uFF0C\u7531\u4E8E Kotlin \u4E2D\u4E0D\u5B58\u5728\u539F\u59CB\u7C7B\u578B\u8FD9\u4E2A\u6982\u5FF5\uFF0C\u6240\u4EE5\u5B83\u4EEC\u90FD\u4F1A\u88AB\u5B9A\u4E49\u4E3A KClass\u3002

    Java \u4E2D\u5171\u6709 9 \u4E2A\u539F\u59CB\u7C7B\u578B\u5173\u952E\u5B57\uFF0C\u5176\u4E2D 8 \u4E2A\u4E3A\u539F\u59CB\u7C7B\u578B\uFF0C\u5206\u522B\u4E3A boolean\u3001char\u3001byte\u3001short\u3001int\u3001float\u3001long\u3001double\uFF0C\u5176\u4E2D void \u7C7B\u578B\u662F\u4E00\u4E2A\u7279\u4F8B\u3002

    \u540C\u65F6\u5B83\u4EEC\u90FD\u6709 Java \u81EA\u8EAB\u5BF9\u5E94\u7684\u5C01\u88C5\u7C7B\u578B\uFF0C\u4F8B\u5982 java.lang.Boolean\u3001java.lang.Integer\uFF0C\u8FD9\u4E9B\u7C7B\u578B\u662F\u4E0D\u76F8\u7B49\u7684\uFF0C\u8BF7\u6CE8\u610F\u533A\u5206\u3002

    \u540C\u6837\u5730\uFF0C\u6570\u7EC4\u4E5F\u6709\u5BF9\u5E94\u7684\u5C01\u88C5\u7C7B\u578B\uFF0C\u5B83\u4EEC\u4E5F\u9700\u8981\u4E0E Java \u539F\u59CB\u7C7B\u578B\u5173\u952E\u5B57 \u8FDB\u884C\u533A\u5206\u3002

    \u4F8B\u5982 byte[] \u7684\u5C01\u88C5\u7C7B\u578B\u4E3A ByteArrayType \u6216 ArrayClass(ByteType)\uFF0C\u800C Byte[] \u7684\u5C01\u88C5\u7C7B\u578B\u4E3A ByteArrayClass \u6216 ArrayClass(ByteClass)\uFF0C\u8FD9\u4E9B\u7C7B\u578B\u4E5F\u662F\u4E0D\u76F8\u7B49\u7684\u3002

    \u5C0F\u63D0\u793A

    \u66F4\u591A\u7C7B\u578B\u53EF\u67E5\u770B ComponentTypeFactory\u3001GraphicsTypeFactory\u3001ViewTypeFactory\u3001VariableTypeFactory\u3002

    \u540C\u65F6\uFF0C\u6B22\u8FCE\u4F60\u80FD\u8D21\u732E\u66F4\u591A\u7684\u5E38\u7528\u7C7B\u578B\u3002

    `,330);function v(C,D){const a=e("Badge");return p(),o("div",null,[i,s("h3",d,[y,A,c(a,{type:"tip",text:"Beta",vertical:"middle"})]),u])}const m=l(t,[["render",v],["__file","features.html.vue"]]);export{m as default}; +

    \u5728 Java \u5E38\u89C1\u7C7B\u578B\u4E2D\u7684\u539F\u59CB\u7C7B\u578B (\u6216\u57FA\u672C\u7C7B\u578B) \u5173\u952E\u5B57\u90FD\u5DF2\u88AB\u5C01\u88C5\u4E3A \u7C7B\u578B + Type \u7684\u65B9\u5F0F\uFF0C\u4F8B\u5982 IntType\u3001FloatType (\u5B83\u4EEC\u7684\u5B57\u8282\u7801\u7C7B\u578B\u4E3A int\u3001float)\u3002

    \u76F8\u5E94\u5730\uFF0C\u6570\u7EC4\u7C7B\u578B\u4E5F\u6709\u65B9\u4FBF\u7684\u4F7F\u7528\u65B9\u6CD5\uFF0C\u5047\u8BBE\u6211\u4EEC\u8981\u83B7\u5F97 String[] \u7C7B\u578B\u7684\u6570\u7EC4\u3002

    \u9700\u8981\u5199\u505A java.lang.reflect.Array.newInstance(String::class.java, 0).javaClass \u624D\u80FD\u5F97\u5230\u8FD9\u4E2A\u7C7B\u578B\u3002

    \u611F\u89C9\u662F\u4E0D\u662F\u5F88\u9EBB\u70E6\uFF0C\u8FD9\u4E2A\u65F6\u5019\u6211\u4EEC\u53EF\u4EE5\u4F7F\u7528\u65B9\u6CD5 ArrayClass(StringClass) \u6765\u5F97\u5230\u8FD9\u4E2A\u7C7B\u578B\u3002

    \u540C\u65F6\u7531\u4E8E String \u662F\u5E38\u89C1\u7C7B\u578B\uFF0C\u6240\u4EE5\u8FD8\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 StringArrayClass \u6765\u5F97\u5230\u8FD9\u4E2A\u7C7B\u578B\u3002

    \u4E00\u4E9B\u5E38\u89C1\u9700\u6C42\u4E2D\u67E5\u627E\u7684\u65B9\u6CD5\uFF0C\u90FD\u6709\u5176\u5BF9\u5E94\u7684\u5C01\u88C5\u7C7B\u578B\u4EE5\u4F9B\u4F7F\u7528\uFF0C\u683C\u5F0F\u4E3A \u7C7B\u578B + Class\u3002

    \u4EE5\u4E0B\u662F Java \u4E2D\u4E00\u4E9B\u7279\u4F8B\u7C7B\u578B\u5728 YukiReflection \u4E2D\u7684\u5C01\u88C5\u540D\u79F0\u3002

    • void \u2192 UnitType

    • java.lang.Void \u2192 UnitClass

    • java.lang.Object \u2192 AnyClass

    • java.lang.Integer \u2192 IntClass

    • java.lang.Character \u2192 CharClass

    \u6CE8\u610F

    \u4EE5 \u7C7B\u578B + Type \u5C01\u88C5\u7C7B\u578B\u4F1A\u4E14\u4EC5\u4F1A\u8868\u793A\u4E3A Java \u539F\u59CB\u7C7B\u578B\u5173\u952E\u5B57\uFF0C\u7531\u4E8E Kotlin \u4E2D\u4E0D\u5B58\u5728\u539F\u59CB\u7C7B\u578B\u8FD9\u4E2A\u6982\u5FF5\uFF0C\u6240\u4EE5\u5B83\u4EEC\u90FD\u4F1A\u88AB\u5B9A\u4E49\u4E3A KClass\u3002

    Java \u4E2D\u5171\u6709 9 \u4E2A\u539F\u59CB\u7C7B\u578B\u5173\u952E\u5B57\uFF0C\u5176\u4E2D 8 \u4E2A\u4E3A\u539F\u59CB\u7C7B\u578B\uFF0C\u5206\u522B\u4E3A boolean\u3001char\u3001byte\u3001short\u3001int\u3001float\u3001long\u3001double\uFF0C\u5176\u4E2D void \u7C7B\u578B\u662F\u4E00\u4E2A\u7279\u4F8B\u3002

    \u540C\u65F6\u5B83\u4EEC\u90FD\u6709 Java \u81EA\u8EAB\u5BF9\u5E94\u7684\u5C01\u88C5\u7C7B\u578B\uFF0C\u4F8B\u5982 java.lang.Boolean\u3001java.lang.Integer\uFF0C\u8FD9\u4E9B\u7C7B\u578B\u662F\u4E0D\u76F8\u7B49\u7684\uFF0C\u8BF7\u6CE8\u610F\u533A\u5206\u3002

    \u540C\u6837\u5730\uFF0C\u6570\u7EC4\u4E5F\u6709\u5BF9\u5E94\u7684\u5C01\u88C5\u7C7B\u578B\uFF0C\u5B83\u4EEC\u4E5F\u9700\u8981\u4E0E Java \u539F\u59CB\u7C7B\u578B\u5173\u952E\u5B57 \u8FDB\u884C\u533A\u5206\u3002

    \u4F8B\u5982 byte[] \u7684\u5C01\u88C5\u7C7B\u578B\u4E3A ByteArrayType \u6216 ArrayClass(ByteType)\uFF0C\u800C Byte[] \u7684\u5C01\u88C5\u7C7B\u578B\u4E3A ByteArrayClass \u6216 ArrayClass(ByteClass)\uFF0C\u8FD9\u4E9B\u7C7B\u578B\u4E5F\u662F\u4E0D\u76F8\u7B49\u7684\u3002

    \u5C0F\u63D0\u793A

    \u66F4\u591A\u7C7B\u578B\u53EF\u67E5\u770B ComponentTypeFactory\u3001GraphicsTypeFactory\u3001ViewTypeFactory\u3001VariableTypeFactory\u3002

    \u540C\u65F6\uFF0C\u6B22\u8FCE\u4F60\u80FD\u8D21\u732E\u66F4\u591A\u7684\u5E38\u7528\u7C7B\u578B\u3002

    `,327);function f(T,x){const p=l("Badge"),o=l("ExternalLinkIcon");return r(),t("div",null,[d,s("h3",y,[A,u,e(p,{type:"tip",text:"Beta",vertical:"middle"})]),v,s("div",C,[D,B,s("p",null,[m,s("a",b,[F,e(o)]),g,k,h])]),q])}const P=c(i,[["render",f],["__file","features.html.vue"]]);export{P as default}; diff --git a/docs/assets/future.html.a0527b71.js b/docs/assets/future.html.18e105a7.js similarity index 99% rename from docs/assets/future.html.a0527b71.js rename to docs/assets/future.html.18e105a7.js index 8f06157..d0f5f5e 100644 --- a/docs/assets/future.html.a0527b71.js +++ b/docs/assets/future.html.18e105a7.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as a,e as l}from"./app.472fa5e4.js";const p={},o=l(`

    \u5C55\u671B\u672A\u6765

    \u672A\u6765\u662F\u7F8E\u597D\u7684\uFF0C\u4E5F\u662F\u4E0D\u786E\u5B9A\u7684\uFF0C\u8BA9\u6211\u4EEC\u5171\u540C\u671F\u5F85 YukiReflection \u5728\u672A\u6765\u7684\u53D1\u5C55\u7A7A\u95F4\u3002

    \u672A\u6765\u7684\u8BA1\u5212

    \u8FD9\u91CC\u6536\u5F55\u4E86 YukiReflection \u53EF\u80FD\u4F1A\u5728\u540E\u671F\u6DFB\u52A0\u7684\u529F\u80FD\u3002

    \u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801

    \u4F7F\u7528 stub \u7684\u65B9\u5F0F\u521B\u5EFA\u4E00\u4E2A Kotlin \u7C7B\uFF0C\u5E76\u58F0\u660E\u5176\u4E2D\u7684\u53C2\u6570\uFF0C\u4EE5\u53CA\u5176\u5728\u5404\u4E2A\u7248\u672C\u4E2D\u7684\u4E0D\u540C\u72B6\u6001\u3002

    \u6BD4\u5982\u4E0B\u9762\u7684\u8FD9\u4E2A Java \u7C7B\u5C31\u662F\u6211\u4EEC\u9700\u8981\u53CD\u5C04\u7684\u76EE\u6807\u7C7B\u3002

    \u793A\u4F8B\u5982\u4E0B

    package com.example.test;
    +import{_ as s,o as n,c as a,a as l}from"./app.2add9aa5.js";const p={},o=l(`

    \u5C55\u671B\u672A\u6765

    \u672A\u6765\u662F\u7F8E\u597D\u7684\uFF0C\u4E5F\u662F\u4E0D\u786E\u5B9A\u7684\uFF0C\u8BA9\u6211\u4EEC\u5171\u540C\u671F\u5F85 YukiReflection \u5728\u672A\u6765\u7684\u53D1\u5C55\u7A7A\u95F4\u3002

    \u672A\u6765\u7684\u8BA1\u5212

    \u8FD9\u91CC\u6536\u5F55\u4E86 YukiReflection \u53EF\u80FD\u4F1A\u5728\u540E\u671F\u6DFB\u52A0\u7684\u529F\u80FD\u3002

    \u81EA\u52A8\u751F\u6210\u53CD\u5C04\u4EE3\u7801

    \u4F7F\u7528 stub \u7684\u65B9\u5F0F\u521B\u5EFA\u4E00\u4E2A Kotlin \u7C7B\uFF0C\u5E76\u58F0\u660E\u5176\u4E2D\u7684\u53C2\u6570\uFF0C\u4EE5\u53CA\u5176\u5728\u5404\u4E2A\u7248\u672C\u4E2D\u7684\u4E0D\u540C\u72B6\u6001\u3002

    \u6BD4\u5982\u4E0B\u9762\u7684\u8FD9\u4E2A Java \u7C7B\u5C31\u662F\u6211\u4EEC\u9700\u8981\u53CD\u5C04\u7684\u76EE\u6807\u7C7B\u3002

    \u793A\u4F8B\u5982\u4E0B

    package com.example.test;
     
     public class MyClass {
         
    diff --git a/docs/assets/future.html.1e8feb6c.js b/docs/assets/future.html.47405c37.js
    similarity index 99%
    rename from docs/assets/future.html.1e8feb6c.js
    rename to docs/assets/future.html.47405c37.js
    index 9af3a41..578257a 100644
    --- a/docs/assets/future.html.1e8feb6c.js
    +++ b/docs/assets/future.html.47405c37.js
    @@ -1,4 +1,4 @@
    -import{_ as s,o as n,c as a,e as l}from"./app.472fa5e4.js";const e={},o=l(`

    Looking for Future

    The future is bright and uncertain, let us look forward to the future development space of YukiReflection.

    Future Plans

    Features that YukiReflection may add later are included here.

    Automatically Generate Reflection Code

    Use stub to create a Kotlin class, and declare the parameters in it, as well as its different states in each version.

    For example, the Java class below is the target class we need to reflect.

    The following example

    package com.example.test;
    +import{_ as s,o as n,c as a,a as l}from"./app.2add9aa5.js";const e={},o=l(`

    Looking for Future

    The future is bright and uncertain, let us look forward to the future development space of YukiReflection.

    Future Plans

    Features that YukiReflection may add later are included here.

    Automatically Generate Reflection Code

    Use stub to create a Kotlin class, and declare the parameters in it, as well as its different states in each version.

    For example, the Java class below is the target class we need to reflect.

    The following example

    package com.example.test;
     
     public class MyClass {
         
    diff --git a/docs/assets/home.html.996f3d8b.js b/docs/assets/home.html.385ffce1.js
    similarity index 97%
    rename from docs/assets/home.html.996f3d8b.js
    rename to docs/assets/home.html.385ffce1.js
    index 59c5ce9..73008da 100644
    --- a/docs/assets/home.html.996f3d8b.js
    +++ b/docs/assets/home.html.385ffce1.js
    @@ -1 +1 @@
    -import{_ as e,o,c as t,e as i}from"./app.472fa5e4.js";const n={},d=i('

    Document Introduce

    The document here will synchronize the relevant usage of the latest API version, please keep YukiReflection as the latest version to use the latest version of the function.

    Function Description

    The function description mainly introduces the related usage and purpose of the current API.

    Function Example Description

    The function examples mainly show the basic usage examples of the current API for reference.

    Change Record Description

    The function of the first version will be marked as v<version> first;

    New function added later will be marked as v<version> added;

    Later modified function will be appended as v<version> modified;

    Later deprecated function will be marked as v<version> deprecated and strikethrough;

    Later removed function will be marked as v<version> removed and strikethrough.

    • kt \xA0Kotlin Static File

    • annotation \xA0Annotation Class

    • interface \xA0Interface Class

    • object \xA0Class (Singleton)

    • class \xA0Class

    • field \xA0Field or get / set method or read-only get method

    • method \xA0Method

    • enum \xA0Enum constant

    • ext-field \xA0Extension field (global)

    • ext-method \xA0Extension method (global)

    • i-ext-field \xA0Extension field (internal)

    • i-ext-method \xA0Extension method (internal)

    ',14),c=[d];function a(r,l){return o(),t("div",null,c)}const p=e(n,[["render",a],["__file","home.html.vue"]]);export{p as default}; +import{_ as e,o,c as t,a as i}from"./app.2add9aa5.js";const n={},d=i('

    Document Introduce

    The document here will synchronize the relevant usage of the latest API version, please keep YukiReflection as the latest version to use the latest version of the function.

    Function Description

    The function description mainly introduces the related usage and purpose of the current API.

    Function Example Description

    The function examples mainly show the basic usage examples of the current API for reference.

    Change Record Description

    The function of the first version will be marked as v<version> first;

    New function added later will be marked as v<version> added;

    Later modified function will be appended as v<version> modified;

    Later deprecated function will be marked as v<version> deprecated and strikethrough;

    Later removed function will be marked as v<version> removed and strikethrough.

    • kt \xA0Kotlin Static File

    • annotation \xA0Annotation Class

    • interface \xA0Interface Class

    • object \xA0Class (Singleton)

    • class \xA0Class

    • field \xA0Field or get / set method or read-only get method

    • method \xA0Method

    • enum \xA0Enum constant

    • ext-field \xA0Extension field (global)

    • ext-method \xA0Extension method (global)

    • i-ext-field \xA0Extension field (internal)

    • i-ext-method \xA0Extension method (internal)

    ',14),c=[d];function a(r,l){return o(),t("div",null,c)}const p=e(n,[["render",a],["__file","home.html.vue"]]);export{p as default}; diff --git a/docs/assets/home.html.77f6fdb1.js b/docs/assets/home.html.6d4e805a.js similarity index 83% rename from docs/assets/home.html.77f6fdb1.js rename to docs/assets/home.html.6d4e805a.js index 1ac34be..118b3c4 100644 --- a/docs/assets/home.html.77f6fdb1.js +++ b/docs/assets/home.html.6d4e805a.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-6a609e09","path":"/zh-cn/guide/home.html","title":"\u4ECB\u7ECD","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u80CC\u666F","slug":"\u80CC\u666F","link":"#\u80CC\u666F","children":[]},{"level":2,"title":"\u7528\u9014","slug":"\u7528\u9014","link":"#\u7528\u9014","children":[]},{"level":2,"title":"\u8BED\u8A00\u8981\u6C42","slug":"\u8BED\u8A00\u8981\u6C42","link":"#\u8BED\u8A00\u8981\u6C42","children":[]},{"level":2,"title":"\u7075\u611F\u6765\u6E90","slug":"\u7075\u611F\u6765\u6E90","link":"#\u7075\u611F\u6765\u6E90","children":[]}],"git":{"updatedTime":1674666805000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/guide/home.md"}');export{e as data}; +const e=JSON.parse('{"key":"v-6a609e09","path":"/zh-cn/guide/home.html","title":"\u4ECB\u7ECD","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u80CC\u666F","slug":"\u80CC\u666F","link":"#\u80CC\u666F","children":[]},{"level":2,"title":"\u7528\u9014","slug":"\u7528\u9014","link":"#\u7528\u9014","children":[]},{"level":2,"title":"\u8BED\u8A00\u8981\u6C42","slug":"\u8BED\u8A00\u8981\u6C42","link":"#\u8BED\u8A00\u8981\u6C42","children":[]},{"level":2,"title":"\u7075\u611F\u6765\u6E90","slug":"\u7075\u611F\u6765\u6E90","link":"#\u7075\u611F\u6765\u6E90","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":3}]},"filePathRelative":"zh-cn/guide/home.md"}');export{e as data}; diff --git a/docs/assets/home.html.823dad43.js b/docs/assets/home.html.823dad43.js deleted file mode 100644 index 0151c22..0000000 --- a/docs/assets/home.html.823dad43.js +++ /dev/null @@ -1,10 +0,0 @@ -import{_ as r,r as l,o as d,c as u,a as e,b as n,w as t,e as i,d as o}from"./app.472fa5e4.js";const p={},h=i('

    Introduce

    YukiReflection is a Reflection API based on the Android platform.

    Background

    This is a set of simple and efficient Reflection API rebuilt based on Java native Reflection API using Kotlin.

    ',4),_=e("code",null,"YukiReflection",-1),m=o(" is also the core functionality that "),f={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},y=o("YukiHookAPI"),A=o(" is using."),b=o("The name is taken from "),g={href:"https://www.bilibili.com/bangumi/play/ss5016",target:"_blank",rel:"noopener noreferrer"},k=o('"\u3082\u3082\u304F\u308A" heroine Yuki Kurihara'),C=o("."),D=e("h2",{id:"usage",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#usage","aria-hidden":"true"},"#"),o(" Usage")],-1),B=e("p",null,[e("code",null,"YukiReflection"),o(" is fully built with "),e("code",null,"Kotlin"),o(),e("code",null,"lambda"),o(" syntax.")],-1),F=o("It can replace "),v={href:"https://www.oracle.com/technical-resources/articles/java/javareflection.html",target:"_blank",rel:"noopener noreferrer"},w=o("Java's native Reflection API"),I=o(" and implement a more complete reflection solution in a more human-friendly language."),x=i('

    Language Requirement

    Please use Kotlin, the code composition of the API part is also compatible with Java, but the implementation of the basic reflection scene may not be used at all.

    All Demo sample codes in the document will be described using Kotlin, if you don\u2019t know how to use Kotlin at all, you may not be able to use YukiReflection.

    Source of Inspiration

    ',4),R=e("code",null,"YukiReflection",-1),P=o(" was originally the core function integrated in the "),Y={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},S=o("YukiHookAPI"),K=o(" project, and now it is decoupled so that this Reflection API can be used in any Android platform project."),j=e("p",null,"Now, we only need to write a small amount of code to implement a simple reflection call.",-1),q=e("p",null,[o("With "),e("code",null,"Kotlin"),o(" elegant "),e("code",null,"lambda"),o(" and "),e("code",null,"YukiReflection"),o(", you can make your reflection logic more beautiful and clear.")],-1),N=e("blockquote",null,[e("p",null,"The following example")],-1),G=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},".toClass()")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .method {")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," name "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#96D0FF"}},'"get"')]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," param("),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," }.get().call("),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1),H=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#F69D50"}},"Class"),e("span",{style:{color:"#ADBAC7"}},".forName("),e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .getDeclaredMethod("),e("span",{style:{color:"#96D0FF"}},'"get"'),e("span",{style:{color:"#ADBAC7"}},", String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java, String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java)")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," ."),e("span",{style:{color:"#6CB6FF"}},"apply"),e("span",{style:{color:"#ADBAC7"}}," { isAccessible "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#6CB6FF"}},"true"),e("span",{style:{color:"#ADBAC7"}}," }")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .invoke("),e("span",{style:{color:"#6CB6FF"}},"null"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1);function J(T,V){const s=l("ExternalLinkIcon"),a=l("CodeGroupItem"),c=l("CodeGroup");return d(),u("div",null,[h,e("p",null,[_,m,e("a",f,[y,n(s)]),A]),e("p",null,[b,e("a",g,[k,n(s)]),C]),D,B,e("p",null,[F,e("a",v,[w,n(s)]),I]),x,e("p",null,[R,P,e("a",Y,[S,n(s)]),K]),j,q,N,n(c,null,{default:t(()=>[n(a,{title:"Yuki Reflection"},{default:t(()=>[G]),_:1}),n(a,{title:"Java Reflection"},{default:t(()=>[H]),_:1})]),_:1})])}const L=r(p,[["render",J],["__file","home.html.vue"]]);export{L as default}; diff --git a/docs/assets/home.html.7d3cafa2.js b/docs/assets/home.html.922e31fa.js similarity index 98% rename from docs/assets/home.html.7d3cafa2.js rename to docs/assets/home.html.922e31fa.js index 28d472c..533ad5e 100644 --- a/docs/assets/home.html.7d3cafa2.js +++ b/docs/assets/home.html.922e31fa.js @@ -1 +1 @@ -import{_ as e,o,c as i,e as c}from"./app.472fa5e4.js";const d={},t=c('

    \u6587\u6863\u4ECB\u7ECD

    \u8FD9\u91CC\u7684\u6587\u6863\u5C06\u540C\u6B65\u6700\u65B0 API \u7248\u672C\u7684\u76F8\u5173\u7528\u6CD5\uFF0C\u8BF7\u4FDD\u6301 YukiReflection \u4E3A\u6700\u65B0\u7248\u672C\u4EE5\u4F7F\u7528\u6700\u65B0\u7248\u672C\u7684\u529F\u80FD\u3002

    \u529F\u80FD\u63CF\u8FF0\u8BF4\u660E

    \u529F\u80FD\u63CF\u8FF0\u4E3B\u8981\u4ECB\u7ECD\u5F53\u524D API \u7684\u76F8\u5173\u7528\u6CD5\u548C\u7528\u9014\u3002

    \u529F\u80FD\u793A\u4F8B\u8BF4\u660E

    \u529F\u80FD\u793A\u4F8B\u4E3B\u8981\u5C55\u793A\u4E86\u5F53\u524D API \u7684\u57FA\u672C\u7528\u6CD5\u793A\u4F8B\uFF0C\u53EF\u4F9B\u53C2\u8003\u3002

    \u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E

    \u9996\u4E2A\u7248\u672C\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u6DFB\u52A0\uFF1B

    \u540E\u671F\u65B0\u589E\u52A0\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u65B0\u589E\uFF1B

    \u540E\u671F\u4FEE\u6539\u7684\u529F\u80FD\u5C06\u88AB\u8FFD\u52A0\u4E3A v<version> \u4FEE\u6539\uFF1B

    \u540E\u671F\u88AB\u4F5C\u5E9F\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u4F5C\u5E9F \u5E76\u4F1A\u6807\u6CE8\u5220\u9664\u7EBF\uFF1B

    \u540E\u671F\u88AB\u5220\u9664\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u79FB\u9664 \u5E76\u4F1A\u6807\u6CE8\u5220\u9664\u7EBF\u3002

    \u76F8\u5173\u7B26\u53F7\u8BF4\u660E

    • kt \xA0Kotlin Static File

    • annotation \xA0\u6CE8\u89E3

    • interface \xA0\u63A5\u53E3

    • object \xA0\u7C7B (\u5355\u4F8B)

    • class \xA0\u7C7B

    • field \xA0\u53D8\u91CF\u6216 get\u3001set \u65B9\u6CD5\u6216\u53EA\u8BFB\u7684 get \u65B9\u6CD5

    • method \xA0\u65B9\u6CD5

    • enum \xA0Enum \u5E38\u91CF

    • ext-field \xA0\u6269\u5C55\u7684\u53D8\u91CF (\u5168\u5C40)

    • ext-method \xA0\u6269\u5C55\u7684\u65B9\u6CD5 (\u5168\u5C40)

    • i-ext-field \xA0\u6269\u5C55\u7684\u53D8\u91CF (\u8C03\u7528\u57DF\u9650\u5236)

    • i-ext-method \xA0\u6269\u5C55\u7684\u65B9\u6CD5 (\u8C03\u7528\u57DF\u9650\u5236)

    ',14),l=[t];function a(p,r){return o(),i("div",null,l)}const h=e(d,[["render",a],["__file","home.html.vue"]]);export{h as default}; +import{_ as e,o,c as i,a as c}from"./app.2add9aa5.js";const d={},t=c('

    \u6587\u6863\u4ECB\u7ECD

    \u8FD9\u91CC\u7684\u6587\u6863\u5C06\u540C\u6B65\u6700\u65B0 API \u7248\u672C\u7684\u76F8\u5173\u7528\u6CD5\uFF0C\u8BF7\u4FDD\u6301 YukiReflection \u4E3A\u6700\u65B0\u7248\u672C\u4EE5\u4F7F\u7528\u6700\u65B0\u7248\u672C\u7684\u529F\u80FD\u3002

    \u529F\u80FD\u63CF\u8FF0\u8BF4\u660E

    \u529F\u80FD\u63CF\u8FF0\u4E3B\u8981\u4ECB\u7ECD\u5F53\u524D API \u7684\u76F8\u5173\u7528\u6CD5\u548C\u7528\u9014\u3002

    \u529F\u80FD\u793A\u4F8B\u8BF4\u660E

    \u529F\u80FD\u793A\u4F8B\u4E3B\u8981\u5C55\u793A\u4E86\u5F53\u524D API \u7684\u57FA\u672C\u7528\u6CD5\u793A\u4F8B\uFF0C\u53EF\u4F9B\u53C2\u8003\u3002

    \u53D8\u66F4\u8BB0\u5F55\u8BF4\u660E

    \u9996\u4E2A\u7248\u672C\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u6DFB\u52A0\uFF1B

    \u540E\u671F\u65B0\u589E\u52A0\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u65B0\u589E\uFF1B

    \u540E\u671F\u4FEE\u6539\u7684\u529F\u80FD\u5C06\u88AB\u8FFD\u52A0\u4E3A v<version> \u4FEE\u6539\uFF1B

    \u540E\u671F\u88AB\u4F5C\u5E9F\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u4F5C\u5E9F \u5E76\u4F1A\u6807\u6CE8\u5220\u9664\u7EBF\uFF1B

    \u540E\u671F\u88AB\u5220\u9664\u7684\u529F\u80FD\u5C06\u6807\u8BB0\u4E3A v<version> \u79FB\u9664 \u5E76\u4F1A\u6807\u6CE8\u5220\u9664\u7EBF\u3002

    \u76F8\u5173\u7B26\u53F7\u8BF4\u660E

    • kt \xA0Kotlin Static File

    • annotation \xA0\u6CE8\u89E3

    • interface \xA0\u63A5\u53E3

    • object \xA0\u7C7B (\u5355\u4F8B)

    • class \xA0\u7C7B

    • field \xA0\u53D8\u91CF\u6216 get\u3001set \u65B9\u6CD5\u6216\u53EA\u8BFB\u7684 get \u65B9\u6CD5

    • method \xA0\u65B9\u6CD5

    • enum \xA0Enum \u5E38\u91CF

    • ext-field \xA0\u6269\u5C55\u7684\u53D8\u91CF (\u5168\u5C40)

    • ext-method \xA0\u6269\u5C55\u7684\u65B9\u6CD5 (\u5168\u5C40)

    • i-ext-field \xA0\u6269\u5C55\u7684\u53D8\u91CF (\u8C03\u7528\u57DF\u9650\u5236)

    • i-ext-method \xA0\u6269\u5C55\u7684\u65B9\u6CD5 (\u8C03\u7528\u57DF\u9650\u5236)

    ',14),l=[t];function a(p,r){return o(),i("div",null,l)}const h=e(d,[["render",a],["__file","home.html.vue"]]);export{h as default}; diff --git a/docs/assets/home.html.9b4cb86d.js b/docs/assets/home.html.9b4cb86d.js new file mode 100644 index 0000000..94b4775 --- /dev/null +++ b/docs/assets/home.html.9b4cb86d.js @@ -0,0 +1,10 @@ +import{_ as i,r as l,o as d,c as p,b as e,d as s,w as t,a as c,e as o}from"./app.2add9aa5.js";const h={},_=c('

    \u4ECB\u7ECD

    YukiReflection \u662F\u4E00\u4E2A\u57FA\u4E8E Java \u548C Android \u5E73\u53F0\u7684\u53CD\u5C04 API\u3002

    \u80CC\u666F

    \u8FD9\u662F\u4E00\u4E2A\u4F7F\u7528 Kotlin \u57FA\u4E8E Java \u539F\u751F\u53CD\u5C04 API \u91CD\u65B0\u6253\u9020\u7684\u4E00\u5957\u7B80\u6D01\u3001\u9AD8\u6548\u7684\u53CD\u5C04 API\u3002

    ',4),u=e("code",null,"YukiReflection",-1),A=o(" \u540C\u65F6\u4E5F\u662F "),y={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},m=o("YukiHookAPI"),b=o(" \u6B63\u5728\u4F7F\u7528\u7684\u6838\u5FC3\u529F\u80FD\u3002"),C=o("\u540D\u79F0\u53D6\u81EA "),k={href:"https://www.bilibili.com/bangumi/play/ss5016",target:"_blank",rel:"noopener noreferrer"},f=o("\u300A\u3082\u3082\u304F\u308A\u300B\u5973\u4E3B \u6817\u539F \u96EA(Yuki)"),D=o("\u3002"),B=e("h2",{id:"\u7528\u9014",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u7528\u9014","aria-hidden":"true"},"#"),o(" \u7528\u9014")],-1),F=e("p",null,[e("code",null,"YukiReflection"),o(" \u5B8C\u5168\u91C7\u7528 "),e("code",null,"Kotlin"),o(),e("code",null,"lambda"),o(" \u8BED\u6CD5\u6784\u5EFA\u3002")],-1),v=o("\u5B83\u80FD\u53D6\u4EE3 "),g={href:"https://pdai.tech/md/java/basic/java-basic-x-reflection.html",target:"_blank",rel:"noopener noreferrer"},x=o("Java \u539F\u751F\u7684\u53CD\u5C04 API"),I=o("\uFF0C\u4F7F\u7528\u66F4\u52A0\u4EBA\u6027\u5316\u7684\u8BED\u8A00\u5B9E\u73B0\u4E00\u5957\u66F4\u52A0\u5B8C\u5584\u7684\u53CD\u5C04\u65B9\u6848\u3002"),P=c('

    \u8BED\u8A00\u8981\u6C42

    \u8BF7\u4F7F\u7528 Kotlin\uFF0CAPI \u90E8\u5206\u4EE3\u7801\u6784\u6210\u540C\u6837\u517C\u5BB9 Java \u4F46\u57FA\u7840\u53CD\u5C04\u573A\u666F\u7684\u5B9E\u73B0\u53EF\u80FD\u5B8C\u5168\u65E0\u6CD5\u4F7F\u7528\u3002

    \u6587\u6863\u5168\u90E8\u7684 Demo \u793A\u4F8B\u4EE3\u7801\u90FD\u5C06\u4F7F\u7528 Kotlin \u8FDB\u884C\u63CF\u8FF0\uFF0C\u5982\u679C\u4F60\u5B8C\u5168\u4E0D\u4F1A\u4F7F\u7528 Kotlin \u90A3\u4F60\u5C06\u6709\u53EF\u80FD\u65E0\u6CD5\u4F7F\u7528 YukiReflection\u3002

    \u7075\u611F\u6765\u6E90

    ',4),Y=e("code",null,"YukiReflection",-1),R=o(" \u6700\u521D\u662F\u96C6\u6210\u5728 "),S={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},J=o("YukiHookAPI"),K=o(" \u9879\u76EE\u4E2D\u7684\u6838\u5FC3\u529F\u80FD\uFF0C\u73B0\u5728\u8FDB\u884C\u4E86\u89E3\u8026\u5408\uFF0C\u4F7F\u5F97\u8FD9\u5957\u53CD\u5C04 API \u53EF\u4EE5\u5728\u4EFB\u4F55 Java \u548C Android \u5E73\u53F0\u7684\u9879\u76EE\u4E2D\u4F7F\u7528\u3002"),w=e("p",null,"\u73B0\u5728\uFF0C\u6211\u4EEC\u53EA\u9700\u8981\u7F16\u5199\u5C11\u91CF\u7684\u4EE3\u7801\uFF0C\u5C31\u80FD\u5B9E\u73B0\u4E00\u4E2A\u7B80\u5355\u7684\u53CD\u5C04\u8C03\u7528\u3002",-1),N=e("p",null,[o("\u501F\u52A9 "),e("code",null,"Kotlin"),o(" \u4F18\u96C5\u7684 "),e("code",null,"lambda"),o(" \u5199\u6CD5\u4EE5\u53CA "),e("code",null,"YukiReflection"),o("\uFF0C\u53EF\u4EE5\u8BA9\u4F60\u7684\u53CD\u5C04\u903B\u8F91\u66F4\u52A0\u7F8E\u89C2\u6E05\u6670\u3002")],-1),j=e("blockquote",null,[e("p",null,"\u793A\u4F8B\u5982\u4E0B")],-1),G=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},".toClass()")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .method {")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," name "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#96D0FF"}},'"get"')]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," param("),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," }.get().call("),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1),H=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#F69D50"}},"Class"),e("span",{style:{color:"#ADBAC7"}},".forName("),e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .getDeclaredMethod("),e("span",{style:{color:"#96D0FF"}},'"get"'),e("span",{style:{color:"#ADBAC7"}},", String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java, String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java)")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," ."),e("span",{style:{color:"#6CB6FF"}},"apply"),e("span",{style:{color:"#ADBAC7"}}," { isAccessible "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#6CB6FF"}},"true"),e("span",{style:{color:"#ADBAC7"}}," }")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .invoke("),e("span",{style:{color:"#6CB6FF"}},"null"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1);function V(q,E){const n=l("ExternalLinkIcon"),a=l("CodeGroupItem"),r=l("CodeGroup");return d(),p("div",null,[_,e("p",null,[u,A,e("a",y,[m,s(n)]),b]),e("p",null,[C,e("a",k,[f,s(n)]),D]),B,F,e("p",null,[v,e("a",g,[x,s(n)]),I]),P,e("p",null,[Y,R,e("a",S,[J,s(n)]),K]),w,N,j,s(r,null,{default:t(()=>[s(a,{title:"Yuki Reflection"},{default:t(()=>[G]),_:1}),s(a,{title:"Java Reflection"},{default:t(()=>[H]),_:1})]),_:1})])}const M=i(h,[["render",V],["__file","home.html.vue"]]);export{M as default}; diff --git a/docs/assets/home.html.9c97a44a.js b/docs/assets/home.html.9c97a44a.js new file mode 100644 index 0000000..a966f9b --- /dev/null +++ b/docs/assets/home.html.9c97a44a.js @@ -0,0 +1,10 @@ +import{_ as r,r as l,o as d,c as u,b as e,d as n,w as t,a as i,e as o}from"./app.2add9aa5.js";const p={},h=i('

    Introduce

    YukiReflection is a Reflection API based on the Java and Android platform.

    Background

    This is a set of simple and efficient Reflection API rebuilt based on Java native Reflection API using Kotlin.

    ',4),_=e("code",null,"YukiReflection",-1),m=o(" is also the core functionality that "),f={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},y=o("YukiHookAPI"),A=o(" is using."),b=o("The name is taken from "),g={href:"https://www.bilibili.com/bangumi/play/ss5016",target:"_blank",rel:"noopener noreferrer"},k=o('"\u3082\u3082\u304F\u308A" heroine Yuki Kurihara'),C=o("."),D=e("h2",{id:"usage",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#usage","aria-hidden":"true"},"#"),o(" Usage")],-1),B=e("p",null,[e("code",null,"YukiReflection"),o(" is fully built with "),e("code",null,"Kotlin"),o(),e("code",null,"lambda"),o(" syntax.")],-1),F=o("It can replace "),v={href:"https://www.oracle.com/technical-resources/articles/java/javareflection.html",target:"_blank",rel:"noopener noreferrer"},w=o("Java's native Reflection API"),I=o(" and implement a more complete reflection solution in a more human-friendly language."),x=i('

    Language Requirement

    Please use Kotlin, the code composition of the API part is also compatible with Java, but the implementation of the basic reflection scene may not be used at all.

    All Demo sample codes in the document will be described using Kotlin, if you don\u2019t know how to use Kotlin at all, you may not be able to use YukiReflection.

    Source of Inspiration

    ',4),R=e("code",null,"YukiReflection",-1),P=o(" was originally the core function integrated in the "),Y={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},S=o("YukiHookAPI"),K=o(" project, and now it is decoupled so that this Reflection API can be used in any Java and Android platform project."),j=e("p",null,"Now, we only need to write a small amount of code to implement a simple reflection call.",-1),q=e("p",null,[o("With "),e("code",null,"Kotlin"),o(" elegant "),e("code",null,"lambda"),o(" and "),e("code",null,"YukiReflection"),o(", you can make your reflection logic more beautiful and clear.")],-1),J=e("blockquote",null,[e("p",null,"The following example")],-1),N=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},".toClass()")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .method {")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," name "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#96D0FF"}},'"get"')]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," param("),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," }.get().call("),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1),G=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#F69D50"}},"Class"),e("span",{style:{color:"#ADBAC7"}},".forName("),e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .getDeclaredMethod("),e("span",{style:{color:"#96D0FF"}},'"get"'),e("span",{style:{color:"#ADBAC7"}},", String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java, String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java)")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," ."),e("span",{style:{color:"#6CB6FF"}},"apply"),e("span",{style:{color:"#ADBAC7"}}," { isAccessible "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#6CB6FF"}},"true"),e("span",{style:{color:"#ADBAC7"}}," }")]),o(` +`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .invoke("),e("span",{style:{color:"#6CB6FF"}},"null"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` +`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1);function H(T,V){const s=l("ExternalLinkIcon"),a=l("CodeGroupItem"),c=l("CodeGroup");return d(),u("div",null,[h,e("p",null,[_,m,e("a",f,[y,n(s)]),A]),e("p",null,[b,e("a",g,[k,n(s)]),C]),D,B,e("p",null,[F,e("a",v,[w,n(s)]),I]),x,e("p",null,[R,P,e("a",Y,[S,n(s)]),K]),j,q,J,n(c,null,{default:t(()=>[n(a,{title:"Yuki Reflection"},{default:t(()=>[N]),_:1}),n(a,{title:"Java Reflection"},{default:t(()=>[G]),_:1})]),_:1})])}const L=r(p,[["render",H],["__file","home.html.vue"]]);export{L as default}; diff --git a/docs/assets/home.html.89a39f8e.js b/docs/assets/home.html.eef2381c.js similarity index 73% rename from docs/assets/home.html.89a39f8e.js rename to docs/assets/home.html.eef2381c.js index d5b8a86..ea4a634 100644 --- a/docs/assets/home.html.89a39f8e.js +++ b/docs/assets/home.html.eef2381c.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-efb45d4c","path":"/en/guide/home.html","title":"Introduce","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Background","slug":"background","link":"#background","children":[]},{"level":2,"title":"Usage","slug":"usage","link":"#usage","children":[]},{"level":2,"title":"Language Requirement","slug":"language-requirement","link":"#language-requirement","children":[]},{"level":2,"title":"Source of Inspiration","slug":"source-of-inspiration","link":"#source-of-inspiration","children":[]}],"git":{"updatedTime":1674666805000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/guide/home.md"}');export{e as data}; +const e=JSON.parse('{"key":"v-efb45d4c","path":"/en/guide/home.html","title":"Introduce","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Background","slug":"background","link":"#background","children":[]},{"level":2,"title":"Usage","slug":"usage","link":"#usage","children":[]},{"level":2,"title":"Language Requirement","slug":"language-requirement","link":"#language-requirement","children":[]},{"level":2,"title":"Source of Inspiration","slug":"source-of-inspiration","link":"#source-of-inspiration","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":3}]},"filePathRelative":"en/guide/home.md"}');export{e as data}; diff --git a/docs/assets/home.html.f65c2bf1.js b/docs/assets/home.html.f65c2bf1.js deleted file mode 100644 index 0ed5b3e..0000000 --- a/docs/assets/home.html.f65c2bf1.js +++ /dev/null @@ -1,10 +0,0 @@ -import{_ as i,r as l,o as d,c as p,a as e,b as s,w as t,e as c,d as o}from"./app.472fa5e4.js";const h={},_=c('

    \u4ECB\u7ECD

    YukiReflection \u662F\u4E00\u4E2A\u57FA\u4E8E Android \u5E73\u53F0\u7684\u53CD\u5C04 API\u3002

    \u80CC\u666F

    \u8FD9\u662F\u4E00\u4E2A\u4F7F\u7528 Kotlin \u57FA\u4E8E Java \u539F\u751F\u53CD\u5C04 API \u91CD\u65B0\u6253\u9020\u7684\u4E00\u5957\u7B80\u6D01\u3001\u9AD8\u6548\u7684\u53CD\u5C04 API\u3002

    ',4),u=e("code",null,"YukiReflection",-1),A=o(" \u540C\u65F6\u4E5F\u662F "),y={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},m=o("YukiHookAPI"),b=o(" \u6B63\u5728\u4F7F\u7528\u7684\u6838\u5FC3\u529F\u80FD\u3002"),C=o("\u540D\u79F0\u53D6\u81EA "),k={href:"https://www.bilibili.com/bangumi/play/ss5016",target:"_blank",rel:"noopener noreferrer"},f=o("\u300A\u3082\u3082\u304F\u308A\u300B\u5973\u4E3B \u6817\u539F \u96EA(Yuki)"),D=o("\u3002"),B=e("h2",{id:"\u7528\u9014",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u7528\u9014","aria-hidden":"true"},"#"),o(" \u7528\u9014")],-1),F=e("p",null,[e("code",null,"YukiReflection"),o(" \u5B8C\u5168\u91C7\u7528 "),e("code",null,"Kotlin"),o(),e("code",null,"lambda"),o(" \u8BED\u6CD5\u6784\u5EFA\u3002")],-1),g=o("\u5B83\u80FD\u53D6\u4EE3 "),v={href:"https://pdai.tech/md/java/basic/java-basic-x-reflection.html",target:"_blank",rel:"noopener noreferrer"},x=o("Java \u539F\u751F\u7684\u53CD\u5C04 API"),I=o("\uFF0C\u4F7F\u7528\u66F4\u52A0\u4EBA\u6027\u5316\u7684\u8BED\u8A00\u5B9E\u73B0\u4E00\u5957\u66F4\u52A0\u5B8C\u5584\u7684\u53CD\u5C04\u65B9\u6848\u3002"),P=c('

    \u8BED\u8A00\u8981\u6C42

    \u8BF7\u4F7F\u7528 Kotlin\uFF0CAPI \u90E8\u5206\u4EE3\u7801\u6784\u6210\u540C\u6837\u517C\u5BB9 Java \u4F46\u57FA\u7840\u53CD\u5C04\u573A\u666F\u7684\u5B9E\u73B0\u53EF\u80FD\u5B8C\u5168\u65E0\u6CD5\u4F7F\u7528\u3002

    \u6587\u6863\u5168\u90E8\u7684 Demo \u793A\u4F8B\u4EE3\u7801\u90FD\u5C06\u4F7F\u7528 Kotlin \u8FDB\u884C\u63CF\u8FF0\uFF0C\u5982\u679C\u4F60\u5B8C\u5168\u4E0D\u4F1A\u4F7F\u7528 Kotlin \u90A3\u4F60\u5C06\u6709\u53EF\u80FD\u65E0\u6CD5\u4F7F\u7528 YukiReflection\u3002

    \u7075\u611F\u6765\u6E90

    ',4),Y=e("code",null,"YukiReflection",-1),R=o(" \u6700\u521D\u662F\u96C6\u6210\u5728 "),S={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},K=o("YukiHookAPI"),w=o(" \u9879\u76EE\u4E2D\u7684\u6838\u5FC3\u529F\u80FD\uFF0C\u73B0\u5728\u8FDB\u884C\u4E86\u89E3\u8026\u5408\uFF0C\u4F7F\u5F97\u8FD9\u5957\u53CD\u5C04 API \u53EF\u4EE5\u5728\u4EFB\u4F55 Android \u5E73\u53F0\u7684\u9879\u76EE\u4E2D\u4F7F\u7528\u3002"),N=e("p",null,"\u73B0\u5728\uFF0C\u6211\u4EEC\u53EA\u9700\u8981\u7F16\u5199\u5C11\u91CF\u7684\u4EE3\u7801\uFF0C\u5C31\u80FD\u5B9E\u73B0\u4E00\u4E2A\u7B80\u5355\u7684\u53CD\u5C04\u8C03\u7528\u3002",-1),j=e("p",null,[o("\u501F\u52A9 "),e("code",null,"Kotlin"),o(" \u4F18\u96C5\u7684 "),e("code",null,"lambda"),o(" \u5199\u6CD5\u4EE5\u53CA "),e("code",null,"YukiReflection"),o("\uFF0C\u53EF\u4EE5\u8BA9\u4F60\u7684\u53CD\u5C04\u903B\u8F91\u66F4\u52A0\u7F8E\u89C2\u6E05\u6670\u3002")],-1),G=e("blockquote",null,[e("p",null,"\u793A\u4F8B\u5982\u4E0B")],-1),H=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},".toClass()")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .method {")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," name "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#96D0FF"}},'"get"')]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," param("),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#F69D50"}},"StringClass"),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," }.get().call("),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1),J=e("div",{class:"language-kotlin ext-kt line-numbers-mode"},[e("pre",{class:"shiki",style:{"background-color":"#22272e"}},[e("code",null,[e("span",{class:"line"},[e("span",{style:{color:"#F69D50"}},"Class"),e("span",{style:{color:"#ADBAC7"}},".forName("),e("span",{style:{color:"#96D0FF"}},'"android.os.SystemProperties"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .getDeclaredMethod("),e("span",{style:{color:"#96D0FF"}},'"get"'),e("span",{style:{color:"#ADBAC7"}},", String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java, String::"),e("span",{style:{color:"#6CB6FF"}},"class"),e("span",{style:{color:"#ADBAC7"}},".java)")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," ."),e("span",{style:{color:"#6CB6FF"}},"apply"),e("span",{style:{color:"#ADBAC7"}}," { isAccessible "),e("span",{style:{color:"#F47067"}},"="),e("span",{style:{color:"#ADBAC7"}}," "),e("span",{style:{color:"#6CB6FF"}},"true"),e("span",{style:{color:"#ADBAC7"}}," }")]),o(` -`),e("span",{class:"line"},[e("span",{style:{color:"#ADBAC7"}}," .invoke("),e("span",{style:{color:"#6CB6FF"}},"null"),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"ro.system.build.fingerprint"'),e("span",{style:{color:"#ADBAC7"}},", "),e("span",{style:{color:"#96D0FF"}},'"none"'),e("span",{style:{color:"#ADBAC7"}},")")]),o(` -`),e("span",{class:"line"})])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"}),e("div",{class:"line-number"})])],-1);function V(q,E){const n=l("ExternalLinkIcon"),a=l("CodeGroupItem"),r=l("CodeGroup");return d(),p("div",null,[_,e("p",null,[u,A,e("a",y,[m,s(n)]),b]),e("p",null,[C,e("a",k,[f,s(n)]),D]),B,F,e("p",null,[g,e("a",v,[x,s(n)]),I]),P,e("p",null,[Y,R,e("a",S,[K,s(n)]),w]),N,j,G,s(r,null,{default:t(()=>[s(a,{title:"Yuki Reflection"},{default:t(()=>[H]),_:1}),s(a,{title:"Java Reflection"},{default:t(()=>[J]),_:1})]),_:1})])}const M=i(h,[["render",V],["__file","home.html.vue"]]);export{M as default}; diff --git a/docs/assets/index.html.0336a74d.js b/docs/assets/index.html.0336a74d.js new file mode 100644 index 0000000..8a857dd --- /dev/null +++ b/docs/assets/index.html.0336a74d.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-c0c85b84","path":"/zh-cn/","title":"\u9996\u9875","lang":"zh-CN","frontmatter":{"home":true,"title":"\u9996\u9875","heroImage":"/images/logo.png","actions":[{"text":"\u5FEB\u901F\u4E0A\u624B","link":"/zh-cn/guide/home","type":"primary"},{"text":"\u66F4\u65B0\u65E5\u5FD7","link":"/zh-cn/about/changelog","type":"secondary"}],"features":[{"title":"\u8F7B\u91CF\u4F18\u96C5","details":"\u62E5\u6709\u4E00\u5957\u5F3A\u5927\u3001\u4F18\u96C5\u3001\u4EBA\u6027\u5316\u3001\u5B8C\u5168\u4F7F\u7528 Kotlin lambda \u6253\u9020\u7684 API\uFF0C\u53EF\u4EE5\u5E2E\u4F60\u5FEB\u901F\u5B9E\u73B0\u5B57\u8282\u7801\u7684\u67E5\u627E\u4EE5\u53CA\u53CD\u5C04\u529F\u80FD\u3002"},{"title":"\u53EF\u8DE8\u5E73\u53F0","details":"\u4E0D\u4EC5\u4EC5\u662F Android \u5E73\u53F0\uFF0C\u5B83\u4E0E Java API \u9AD8\u5EA6\u517C\u5BB9\uFF0C\u53EF\u4F7F\u7528\u5728\u4EFB\u4F55 Kotlin on JVM \u7684\u9879\u76EE\u4E0A\uFF0C\u6709 Java \u7684\u5730\u65B9\u5C31\u53EF\u4EE5\u4F7F\u7528\u3002"},{"title":"\u5FEB\u901F\u4E0A\u624B","details":"\u7B80\u5355\u6613\u7528\uFF0C\u4E0D\u9700\u8981\u7E41\u7410\u7684\u914D\u7F6E\uFF0C\u4E0D\u9700\u8981\u5341\u8DB3\u7684\u5F00\u53D1\u7ECF\u9A8C\uFF0C\u642D\u5EFA\u73AF\u5883\u96C6\u6210\u4F9D\u8D56\u5373\u53EF\u7ACB\u5373\u5F00\u59CB\u4F7F\u7528\u3002"}],"footer":"MIT License | Copyright (C) 2019-2023 HighCapable"},"excerpt":"","headers":[{"level":3,"title":"\u6765\u5427\uFF01\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F","slug":"\u6765\u5427-\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F","link":"#\u6765\u5427-\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/index.md"}');export{e as data}; diff --git a/docs/assets/index.html.1339d5c2.js b/docs/assets/index.html.1339d5c2.js new file mode 100644 index 0000000..c3bf424 --- /dev/null +++ b/docs/assets/index.html.1339d5c2.js @@ -0,0 +1,13 @@ +import{_ as s,o as n,c as a,a as l}from"./app.2add9aa5.js";const e={},o=l(`

    Bring it on! Let reflection become poetic and picturesque

    public class World {
    +
    +    private void sayHello(String content) {
    +        System.out.println("Hello " + content + "!");
    +    }
    +}
    +
    val newWorld = World()
    +classOf<World>().method {
    +    name = "sayHello"
    +    param(StringClass)
    +    type = UnitType
    +}.get(newWorld).call("YukiReflection")
    +
    `,3),p=[o];function c(t,r){return n(),a("div",null,p)}const d=s(e,[["render",c],["__file","index.html.vue"]]);export{d as default}; diff --git a/docs/assets/index.html.1356aa63.js b/docs/assets/index.html.1356aa63.js deleted file mode 100644 index a7fb57f..0000000 --- a/docs/assets/index.html.1356aa63.js +++ /dev/null @@ -1 +0,0 @@ -const e=JSON.parse('{"key":"v-c0c85b84","path":"/zh-cn/","title":"\u9996\u9875","lang":"zh-CN","frontmatter":{"home":true,"title":"\u9996\u9875","heroImage":"/images/logo.png","actions":[{"text":"\u5FEB\u901F\u4E0A\u624B","link":"/zh-cn/guide/home","type":"primary"},{"text":"\u66F4\u65B0\u65E5\u5FD7","link":"/zh-cn/about/changelog","type":"secondary"}],"footer":"MIT License | Copyright (C) 2019-2023 HighCapable"},"excerpt":"","headers":[],"git":{"updatedTime":1674666410000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"zh-cn/index.md"}');export{e as data}; diff --git a/docs/assets/index.html.52fbcda7.js b/docs/assets/index.html.52fbcda7.js deleted file mode 100644 index 7fd46ab..0000000 --- a/docs/assets/index.html.52fbcda7.js +++ /dev/null @@ -1 +0,0 @@ -const e=JSON.parse('{"key":"v-2d0a870d","path":"/en/","title":"Home","lang":"en-US","frontmatter":{"home":true,"title":"Home","heroImage":"/images/logo.png","actions":[{"text":"Get Started","link":"/en/guide/home","type":"primary"},{"text":"Changelog","link":"/en/about/changelog","type":"secondary"}],"footer":"MIT License | Copyright (C) 2019-2023 HighCapable"},"excerpt":"","headers":[],"git":{"updatedTime":1674666410000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"en/index.md"}');export{e as data}; diff --git a/docs/assets/index.html.5f733852.js b/docs/assets/index.html.5f733852.js deleted file mode 100644 index 793596c..0000000 --- a/docs/assets/index.html.5f733852.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as c,c as t}from"./app.472fa5e4.js";const n={};function _(o,r){return c(),t("div")}const a=e(n,[["render",_],["__file","index.html.vue"]]);export{a as default}; diff --git a/docs/assets/index.html.b541ea38.js b/docs/assets/index.html.b541ea38.js new file mode 100644 index 0000000..666fbb2 --- /dev/null +++ b/docs/assets/index.html.b541ea38.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-2d0a870d","path":"/en/","title":"Home","lang":"en-US","frontmatter":{"home":true,"title":"Home","heroImage":"/images/logo.png","actions":[{"text":"Get Started","link":"/en/guide/home","type":"primary"},{"text":"Changelog","link":"/en/about/changelog","type":"secondary"}],"features":[{"title":"Light and Elegant","details":"A powerful, elegant, beautiful API built with Kotlin lambda can help you quickly implement bytecode finding and reflection functions."},{"title":"Cross-Platform Available","details":"Not only the Android platform, it is highly compatible with the Java API and can be used on any Kotlin on JVM project, wherever Java is available."},{"title":"Quickly Started","details":"Simple and easy to use it now! Do not need complex configuration and full development experience, Integrate dependencies and enjoy yourself."}],"footer":"MIT License | Copyright (C) 2019-2023 HighCapable"},"excerpt":"","headers":[{"level":3,"title":"Bring it on! Let reflection become poetic and picturesque","slug":"bring-it-on-let-reflection-become-poetic-and-picturesque","link":"#bring-it-on-let-reflection-become-poetic-and-picturesque","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/index.md"}');export{e as data}; diff --git a/docs/assets/index.html.d29ef018.js b/docs/assets/index.html.d29ef018.js deleted file mode 100644 index 793596c..0000000 --- a/docs/assets/index.html.d29ef018.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as c,c as t}from"./app.472fa5e4.js";const n={};function _(o,r){return c(),t("div")}const a=e(n,[["render",_],["__file","index.html.vue"]]);export{a as default}; diff --git a/docs/assets/index.html.e2792c5f.js b/docs/assets/index.html.e2792c5f.js new file mode 100644 index 0000000..fce95ef --- /dev/null +++ b/docs/assets/index.html.e2792c5f.js @@ -0,0 +1,13 @@ +import{_ as s,o as n,c as a,a as l}from"./app.2add9aa5.js";const e={},o=l(`

    \u6765\u5427\uFF01\u8BA9\u53CD\u5C04\u4E5F\u53D8\u5F97\u8BD7\u60C5\u753B\u610F

    public class World {
    +
    +    private void sayHello(String content) {
    +        System.out.println("Hello " + content + "!");
    +    }
    +}
    +
    val newWorld = World()
    +classOf<World>().method {
    +    name = "sayHello"
    +    param(StringClass)
    +    type = UnitType
    +}.get(newWorld).call("YukiReflection")
    +
    `,3),p=[o];function c(r,t){return n(),a("div",null,p)}const d=s(e,[["render",c],["__file","index.html.vue"]]);export{d as default}; diff --git a/docs/assets/index.html.47752e9d.js b/docs/assets/index.html.ed5036c6.js similarity index 63% rename from docs/assets/index.html.47752e9d.js rename to docs/assets/index.html.ed5036c6.js index 793596c..5d68c15 100644 --- a/docs/assets/index.html.47752e9d.js +++ b/docs/assets/index.html.ed5036c6.js @@ -1 +1 @@ -import{_ as e,o as c,c as t}from"./app.472fa5e4.js";const n={};function _(o,r){return c(),t("div")}const a=e(n,[["render",_],["__file","index.html.vue"]]);export{a as default}; +import{_ as e,o as c,c as t}from"./app.2add9aa5.js";const n={};function _(o,r){return c(),t("div")}const a=e(n,[["render",_],["__file","index.html.vue"]]);export{a as default}; diff --git a/docs/assets/quick-start.html.49d48274.js b/docs/assets/quick-start.html.5cdc09d9.js similarity index 51% rename from docs/assets/quick-start.html.49d48274.js rename to docs/assets/quick-start.html.5cdc09d9.js index 11a6270..6e23f0a 100644 --- a/docs/assets/quick-start.html.49d48274.js +++ b/docs/assets/quick-start.html.5cdc09d9.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-24840ff0","path":"/zh-cn/guide/quick-start.html","title":"\u5FEB\u901F\u5F00\u59CB","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u73AF\u5883\u8981\u6C42","slug":"\u73AF\u5883\u8981\u6C42","link":"#\u73AF\u5883\u8981\u6C42","children":[]},{"level":2,"title":"\u9879\u76EE\u8981\u6C42","slug":"\u9879\u76EE\u8981\u6C42","link":"#\u9879\u76EE\u8981\u6C42","children":[]},{"level":2,"title":"\u96C6\u6210\u4F9D\u8D56","slug":"\u96C6\u6210\u4F9D\u8D56","link":"#\u96C6\u6210\u4F9D\u8D56","children":[]}],"git":{"updatedTime":1674666410000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"zh-cn/guide/quick-start.md"}');export{e as data}; +const e=JSON.parse('{"key":"v-24840ff0","path":"/zh-cn/guide/quick-start.html","title":"\u5FEB\u901F\u5F00\u59CB","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u73AF\u5883\u8981\u6C42","slug":"\u73AF\u5883\u8981\u6C42","link":"#\u73AF\u5883\u8981\u6C42","children":[]},{"level":2,"title":"\u9879\u76EE\u8981\u6C42","slug":"\u9879\u76EE\u8981\u6C42","link":"#\u9879\u76EE\u8981\u6C42","children":[{"level":3,"title":"\u96C6\u6210\u4F9D\u8D56","slug":"\u96C6\u6210\u4F9D\u8D56","link":"#\u96C6\u6210\u4F9D\u8D56","children":[]}]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/guide/quick-start.md"}');export{e as data}; diff --git a/docs/assets/quick-start.html.83b3f2af.js b/docs/assets/quick-start.html.83b3f2af.js new file mode 100644 index 0000000..f25c1ad --- /dev/null +++ b/docs/assets/quick-start.html.83b3f2af.js @@ -0,0 +1,52 @@ +import{_ as o,r as i,o as p,c,b as s,d as a,a as l,e as n}from"./app.2add9aa5.js";const r={},t=l('

    \u5FEB\u901F\u5F00\u59CB

    \u96C6\u6210 YukiReflection \u5230\u4F60\u7684\u9879\u76EE\u4E2D\u3002

    \u73AF\u5883\u8981\u6C42

    • Windows 7 \u53CA\u4EE5\u4E0A/macOS 10.14 \u53CA\u4EE5\u4E0A/Linux \u53D1\u884C\u7248 (Arch/Debian)

    • Android Studio 2021.1 \u53CA\u4EE5\u4E0A

    • IntelliJ IDEA 2021.1 \u53CA\u4EE5\u4E0A

    • Kotlin 1.7.0 \u53CA\u4EE5\u4E0A

    • Android Gradle Plugin 7.0 \u53CA\u4EE5\u4E0A

    • Gradle 7.0 \u53CA\u4EE5\u4E0A

    • Java 11 \u53CA\u4EE5\u4E0A

    \u9879\u76EE\u8981\u6C42

    \u9879\u76EE\u9700\u8981\u4F7F\u7528 Android Studio \u6216 IntelliJ IDEA \u521B\u5EFA\u4E14\u7C7B\u578B\u4E3A Java \u6216 Android \u9879\u76EE\u5E76\u5DF2\u96C6\u6210 Kotlin \u73AF\u5883\u4F9D\u8D56\u3002

    \u96C6\u6210\u4F9D\u8D56

    ',7),d=n("\u6211\u4EEC\u63A8\u8350\u4F7F\u7528 Kotlin DSL \u4F5C\u4E3A Gradle \u6784\u5EFA\u811A\u672C\u8BED\u8A00\u5E76\u63A8\u8350\u4F7F\u7528 "),u={href:"https://github.com/HighCapable/SweetDependency",target:"_blank",rel:"noopener noreferrer"},v=n("SweetDependency"),A=n(" \u6765\u7BA1\u7406\u4F9D\u8D56\u3002"),y=l(`

    SweetDependency \u65B9\u5F0F

    \u5728\u4F60\u7684\u9879\u76EE SweetDependency \u914D\u7F6E\u6587\u4EF6\u4E2D\u6DFB\u52A0\u5B58\u50A8\u5E93\u548C\u4F9D\u8D56\u3002

    \u793A\u4F8B\u5982\u4E0B

    repositories:
    +  # MavenCentral \u6709 2 \u5C0F\u65F6\u7F13\u5B58\uFF0C\u82E5\u65E0\u6CD5\u96C6\u6210\u6700\u65B0\u7248\u672C\u8BF7\u6DFB\u52A0
    +  sonatype-oss-releases:
    +
    +libraries:
    +  com.highcapable.yukireflection:
    +    api:
    +      version: +
    +  ...
    +

    \u6DFB\u52A0\u5B8C\u6210\u540E\u8FD0\u884C\u4E00\u6B21 Gradle Sync\uFF0C\u6240\u6709\u4F9D\u8D56\u7248\u672C\u5C06\u81EA\u52A8\u88C5\u914D\u3002

    \u63A5\u4E0B\u6765\uFF0C\u5728\u4F60\u7684\u9879\u76EE build.gradle.kts \u4E2D\u90E8\u7F72\u4F9D\u8D56\u3002

    \u793A\u4F8B\u5982\u4E0B

    dependencies {
    +    implementation(com.highcapable.yukireflection.api)
    +    // ...
    +}
    +

    \u4F20\u7EDF\u65B9\u5F0F (\u4E0D\u63A8\u8350)

    \u5728\u4F60\u7684\u9879\u76EE build.gradle.kts \u6216 build.gradle \u4E2D\u6DFB\u52A0\u5B58\u50A8\u5E93\u3002

    Kotlin DSL

    repositories {
    +    google()
    +    mavenCentral()
    +    // MavenCentral \u6709 2 \u5C0F\u65F6\u7F13\u5B58\uFF0C\u82E5\u65E0\u6CD5\u96C6\u6210\u6700\u65B0\u7248\u672C\u8BF7\u6DFB\u52A0\u6B64\u5730\u5740
    +    maven { url("https://s01.oss.sonatype.org/content/repositories/releases/") }
    +}
    +

    Groovy DSL

    repositories {
    +    google()
    +    mavenCentral()
    +    // MavenCentral \u6709 2 \u5C0F\u65F6\u7F13\u5B58\uFF0C\u82E5\u65E0\u6CD5\u96C6\u6210\u6700\u65B0\u7248\u672C\u8BF7\u6DFB\u52A0\u6B64\u5730\u5740
    +    maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' }
    +}
    +

    \u5728\u4F60\u7684\u9879\u76EE build.gradle.kts \u6216 build.gradle \u4E2D\u6DFB\u52A0\u4F9D\u8D56\u3002

    Kotlin DSL

    dependencies {
    +    implementation("com.highcapable.yukireflection:api:<yuki-version>")
    +    // ...
    +}
    +

    Groovy DSL

    dependencies {
    +    implementation 'com.highcapable.yukireflection:api:<yuki-version>'
    +    // ...
    +}
    +

    \u8BF7\u5C06 <yuki-version> \u4FEE\u6539\u4E3A \u8FD9\u91CC \u7684\u6700\u65B0\u7248\u672C\u3002

    `,20),b={class:"custom-container danger"},m=s("p",{class:"custom-container-title"},"\u7279\u522B\u6CE8\u610F",-1),h=n("\u5982\u679C\u4F60\u7684\u9879\u76EE\u76EE\u524D\u6B63\u5728\u4F7F\u7528 "),D={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},k=n("YukiHookAPI"),C=n(" \u7684 1.x.x \u7248\u672C\uFF0C\u8BF7\u4E0D\u8981\u91CD\u590D\u96C6\u6210 "),B=s("strong",null,"YukiReflection",-1),g=n("\uFF0C\u56E0\u4E3A "),_=s("strong",null,"YukiHookAPI",-1),f=n(" \u5DF2\u7ECF\u5305\u542B\u4E86\u5176\u4E2D\u7684\u529F\u80FD\u4E14\u5B58\u5728\u9488\u5BF9\u76F8\u5173\u529F\u80FD\u7684\u6539\u52A8\uFF0C\u91CD\u590D\u96C6\u6210\u4F1A\u9020\u6210\u529F\u80FD\u6027\u51B2\u7A81\u5F15\u53D1\u5F02\u5E38\uFF0C\u6B64\u65F6\u4F60\u5E94\u8BE5\u524D\u5F80 "),F=s("strong",null,"YukiHookAPI",-1),q=n(" \u7684 "),x={href:"https://fankes.github.io/YukiHookAPI/zh-cn/",target:"_blank",rel:"noopener noreferrer"},S=n("\u6587\u6863"),I=n(" \u67E5\u770B\u5BF9\u5E94\u7684\u4F7F\u7528\u6559\u7A0B\u3002"),V=s("p",null,[s("strong",null,"YukiHookAPI"),n(" \u5C06\u5728 2.x.x \u7248\u672C\u5B8C\u5168\u5206\u79BB "),s("strong",null,"YukiReflection"),n("\uFF0C\u5C4A\u65F6\u4F60\u53EF\u4EE5\u540C\u65F6\u4E0E "),s("strong",null,"YukiHookAPI"),n(" \u4F7F\u7528\u3002")],-1),J=l(`

    \u914D\u7F6E Java \u7248\u672C

    \u5728\u4F60\u7684\u9879\u76EE build.gradle.kts \u6216 build.gradle \u4E2D\u4FEE\u6539 Kotlin \u7684 Java \u7248\u672C\u4E3A 11 \u53CA\u4EE5\u4E0A\u3002

    Kotlin DSL

    android {
    +    compileOptions {
    +        sourceCompatibility = JavaVersion.VERSION_11
    +        targetCompatibility = JavaVersion.VERSION_11
    +    }
    +    kotlinOptions {
    +        jvmTarget = "11"
    +    }
    +}
    +

    Groovy DSL

    android {
    +    compileOptions {
    +        sourceCompatibility JavaVersion.VERSION_11
    +        targetCompatibility JavaVersion.VERSION_11
    +    }
    +    kotlinOptions {
    +        jvmTarget = '11'
    +    }
    +}
    +
    `,6);function L(Y,E){const e=i("ExternalLinkIcon");return p(),c("div",null,[t,s("p",null,[d,s("a",u,[v,a(e)]),A]),y,s("div",b,[m,s("p",null,[h,s("a",D,[k,a(e)]),C,B,g,_,f,F,q,s("a",x,[S,a(e)]),I]),V]),J])}const H=o(r,[["render",L],["__file","quick-start.html.vue"]]);export{H as default}; diff --git a/docs/assets/quick-start.html.a839f1ea.js b/docs/assets/quick-start.html.a839f1ea.js new file mode 100644 index 0000000..adb884f --- /dev/null +++ b/docs/assets/quick-start.html.a839f1ea.js @@ -0,0 +1,53 @@ +import{_ as o,r as i,o as t,c,b as s,d as a,a as l,e}from"./app.2add9aa5.js";const p={},r=l('

    Quick Start

    Integrate YukiReflection into your project.

    Environment Requirements

    • Windows 7 and above / macOS 10.14 and above / Linux distributions (Arch/Debian)

    • Android Studio 2021.1 and above

    • IntelliJ IDEA 2021.1 and above

    • Kotlin 1.7.0 and above

    • Android Gradle Plugin 7.0 and above

    • Gradle 7.0 and above

    • Java 11 and above

    Project Requirements

    The project needs to be created using Android Studio or IntelliJ IDEA and the type is an Java or Android project and the Kotlin environment dependency has been integrated.

    Integration Dependencies

    ',7),d=e("We recommend using Kotlin DSL as the Gradle build script language and "),u={href:"https://github.com/HighCapable/SweetDependency",target:"_blank",rel:"noopener noreferrer"},v=e("SweetDependency"),y=e(" to manage dependencies."),h=l(`

    SweetDependency Method

    Add the repositories and dependencies in your project's SweetDependency configuration file.

    The following example

    repositories:
    +  # MavenCentral has a 2-hour cache,
    +  # if the latest version cannot be integrated, please add this
    +  sonatype-oss-releases:
    +
    +libraries:
    +  com.highcapable.yukireflection:
    +    api:
    +      version: +
    +  ...
    +

    After adding it, run Gradle Sync and all dependencies will be autowired.

    Next, deploy dependencies in your project build.gradle.kts.

    The following example

    dependencies {
    +    implementation(com.highcapable.yukireflection.api)
    +    // ...
    +}
    +

    Add repositories in your project build.gradle.kts or build.gradle.

    Kotlin DSL

    repositories {
    +    google()
    +    mavenCentral()
    +    // MavenCentral has a 2-hour cache, if the latest version cannot be integrated, please add this URL
    +    maven { url("https://s01.oss.sonatype.org/content/repositories/releases/") }
    +}
    +

    Groovy DSL

    repositories {
    +    google()
    +    mavenCentral()
    +    // MavenCentral has a 2-hour cache, if the latest version cannot be integrated, please add this URL
    +    maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' }
    +}
    +

    Add dependencies in your project build.gradle.kts or build.gradle.

    Kotlin DSL

    dependencies {
    +    implementation("com.highcapable.yukireflection:api:<yuki-version>")
    +    // ...
    +}
    +

    Groovy DSL

    dependencies {
    +    implementation 'com.highcapable.yukireflection:api:<yuki-version>'
    +    // ...
    +}
    +

    Please change <yuki-version> to the latest version here.

    `,20),b={class:"custom-container danger"},A=s("p",{class:"custom-container-title"},"Pay Attention",-1),m=e("If your project is currently using the 1.x.x version of "),D={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},g=e("YukiHookAPI"),k=e(", please do not integrate "),C=s("strong",null,"YukiReflection",-1),B=e(" repeatedly, because "),_=s("strong",null,"YukiHookAPI",-1),f=e(" already includes it functions and there are changes to related functions."),q=s("p",null,"Repeated integration will cause functional conflicts and cause exceptions.",-1),x=e("In this case, you should go to the "),F={href:"https://fankes.github.io/YukiHookAPI/zh-cn/",target:"_blank",rel:"noopener noreferrer"},S=e("Documentation"),I=e(" of "),j=s("strong",null,"YukiHookAPI",-1),w=e(" view the corresponding usage tutorial."),R=s("p",null,[s("strong",null,"YukiHookAPI"),e(" will be completely separated from "),s("strong",null,"YukiReflection"),e(" in version 2.x.x, by which time you can use it with "),s("strong",null,"YukiHookAPI"),e(" at the same time.")],-1),V=l(`

    Configure Java Version

    Modify the Java version of Kotlin in your project build.gradle.kts or build.gradle to 11 or above.

    Kotlin DSL

    android {
    +    compileOptions {
    +        sourceCompatibility = JavaVersion.VERSION_11
    +        targetCompatibility = JavaVersion.VERSION_11
    +    }
    +    kotlinOptions {
    +        jvmTarget = "11"
    +    }
    +}
    +

    Groovy DSL

    android {
    +    compileOptions {
    +        sourceCompatibility JavaVersion.VERSION_11
    +        targetCompatibility JavaVersion.VERSION_11
    +    }
    +    kotlinOptions {
    +        jvmTarget = '11'
    +    }
    +}
    +
    `,6);function L(P,E){const n=i("ExternalLinkIcon");return t(),c("div",null,[r,s("p",null,[d,s("a",u,[v,a(n)]),y]),h,s("div",b,[A,s("p",null,[m,s("a",D,[g,a(n)]),k,C,B,_,f]),q,s("p",null,[x,s("a",F,[S,a(n)]),I,j,w]),R]),V])}const N=o(p,[["render",L],["__file","quick-start.html.vue"]]);export{N as default}; diff --git a/docs/assets/quick-start.html.fb6e2746.js b/docs/assets/quick-start.html.cdfe78bb.js similarity index 82% rename from docs/assets/quick-start.html.fb6e2746.js rename to docs/assets/quick-start.html.cdfe78bb.js index 84f9c6f..9decd24 100644 --- a/docs/assets/quick-start.html.fb6e2746.js +++ b/docs/assets/quick-start.html.cdfe78bb.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-72889797","path":"/en/guide/quick-start.html","title":"Quick Start","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Environment Requirements","slug":"environment-requirements","link":"#environment-requirements","children":[]},{"level":2,"title":"Project Requirements","slug":"project-requirements","link":"#project-requirements","children":[]},{"level":2,"title":"Integration Dependencies","slug":"integration-dependencies","link":"#integration-dependencies","children":[]}],"git":{"updatedTime":1674666410000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"en/guide/quick-start.md"}');export{e as data}; +const e=JSON.parse('{"key":"v-72889797","path":"/en/guide/quick-start.html","title":"Quick Start","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Environment Requirements","slug":"environment-requirements","link":"#environment-requirements","children":[]},{"level":2,"title":"Project Requirements","slug":"project-requirements","link":"#project-requirements","children":[]},{"level":2,"title":"Integration Dependencies","slug":"integration-dependencies","link":"#integration-dependencies","children":[]}],"git":{"updatedTime":1695391160000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/guide/quick-start.md"}');export{e as data}; diff --git a/docs/assets/quick-start.html.d49f699c.js b/docs/assets/quick-start.html.d49f699c.js deleted file mode 100644 index 7fef35e..0000000 --- a/docs/assets/quick-start.html.d49f699c.js +++ /dev/null @@ -1,20 +0,0 @@ -import{_ as i,r as l,o as t,c as r,a as e,b as a,e as o,d as n}from"./app.472fa5e4.js";const c={},d=o(`

    Quick Start

    Integrate YukiReflection into your project.

    Environment Requirements

    • Windows 7 and above / macOS 10.14 and above / Linux distributions (Arch/Debian)

    • Android Studio 2021.1 and above

    • IntelliJ IDEA 2021.1 and above

    • Kotlin 1.7.0 and above

    • Android Gradle Plugin 7.0 and above

    • Gradle 7.0 and above

    • JVM 11 and above

    Project Requirements

    The project needs to be created using Android Studio or IntelliJ IDEA and the type is an Android project and the Kotlin environment dependency has been integrated.

    Integration Dependencies

    (Optional) Add dependencies to your project build.gradle.

    The following example

    repositories {
    -    google()
    -    mavenCentral()
    -    // MavenCentral has a 2-hour cache, if you cannot integrate the latest version, please add this address
    -    maven { url "https://s01.oss.sonatype.org/content/repositories/releases" }
    -}
    -

    Add dependencies to your app build.gradle.

    The following example

    dependencies {
    -    // Base dependencies
    -    implementation 'com.highcapable.yukireflection:api:<yuki-version>'
    -}
    -

    Please change <yuki-version> to the latest version from here.

    `,14),p={class:"custom-container danger"},u=e("p",{class:"custom-container-title"},"Pay Attention",-1),v=n("If your project is currently using "),h={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},b=n("YukiHookAPI"),m=n(", please do not repeatedly integrate "),y=e("strong",null,"YukiReflection",-1),g=n(", because "),A=e("strong",null,"YukiHookAPI",-1),_=n(" already contains the functions and exists for related functional changes and repeated integration will cause functional conflicts and cause exceptions."),k=n("At this time, you should go to the "),f={href:"https://fankes.github.io/YukiHookAPI/en/",target:"_blank",rel:"noopener noreferrer"},C=n("documentation"),D=n(" of "),B=e("strong",null,"YukiHookAPI",-1),q=n(" to view the corresponding tutorial."),x=o(`

    Modify the Kotlin Jvm version to 11 and above in your app build.gradle.

    The following example

    android {
    -    compileOptions {
    -        sourceCompatibility JavaVersion.VERSION_11
    -        targetCompatibility JavaVersion.VERSION_11
    -    }
    -    kotlinOptions {
    -        jvmTarget = '11'
    -    }
    -}
    -
    `,3);function I(F,j){const s=l("ExternalLinkIcon");return t(),r("div",null,[d,e("div",p,[u,e("p",null,[v,e("a",h,[b,a(s)]),m,y,g,A,_]),e("p",null,[k,e("a",f,[C,a(s)]),D,B,q])]),x])}const V=i(c,[["render",I],["__file","quick-start.html.vue"]]);export{V as default}; diff --git a/docs/assets/quick-start.html.e5d2ccbb.js b/docs/assets/quick-start.html.e5d2ccbb.js deleted file mode 100644 index e1a8af7..0000000 --- a/docs/assets/quick-start.html.e5d2ccbb.js +++ /dev/null @@ -1,20 +0,0 @@ -import{_ as o,r as i,o as c,c as t,a as s,b as a,e as l,d as n}from"./app.472fa5e4.js";const r={},p=l(`

    \u5FEB\u901F\u5F00\u59CB

    \u96C6\u6210 YukiReflection \u5230\u4F60\u7684\u9879\u76EE\u4E2D\u3002

    \u73AF\u5883\u8981\u6C42

    • Windows 7 \u53CA\u4EE5\u4E0A/macOS 10.14 \u53CA\u4EE5\u4E0A/Linux \u53D1\u884C\u7248(Arch/Debian)

    • Android Studio 2021.1 \u53CA\u4EE5\u4E0A

    • IntelliJ IDEA 2021.1 \u53CA\u4EE5\u4E0A

    • Kotlin 1.7.0 \u53CA\u4EE5\u4E0A

    • Android Gradle Plugin 7.0 \u53CA\u4EE5\u4E0A

    • Gradle 7.0 \u53CA\u4EE5\u4E0A

    • Jvm 11 \u53CA\u4EE5\u4E0A

    \u9879\u76EE\u8981\u6C42

    \u9879\u76EE\u9700\u8981\u4F7F\u7528 Android Studio \u6216 IntelliJ IDEA \u521B\u5EFA\u4E14\u7C7B\u578B\u4E3A Android \u9879\u76EE\u5E76\u5DF2\u96C6\u6210 Kotlin \u73AF\u5883\u4F9D\u8D56\u3002

    \u96C6\u6210\u4F9D\u8D56

    (\u53EF\u9009) \u5728\u4F60\u7684\u9879\u76EE build.gradle \u4E2D\u6DFB\u52A0\u4F9D\u8D56\u3002

    \u793A\u4F8B\u5982\u4E0B

    repositories {
    -    google()
    -    mavenCentral()
    -    // MavenCentral \u6709 2 \u5C0F\u65F6\u7F13\u5B58\uFF0C\u82E5\u65E0\u6CD5\u96C6\u6210\u6700\u65B0\u7248\u672C\u8BF7\u6DFB\u52A0\u6B64\u5730\u5740
    -    maven { url "https://s01.oss.sonatype.org/content/repositories/releases" }
    -}
    -

    \u5728\u4F60\u7684 app build.gradle \u4E2D\u6DFB\u52A0\u4F9D\u8D56\u3002

    \u793A\u4F8B\u5982\u4E0B

    dependencies {
    -    // \u57FA\u7840\u4F9D\u8D56
    -    implementation 'com.highcapable.yukireflection:api:<yuki-version>'
    -}
    -

    \u8BF7\u5C06 <yuki-version> \u4FEE\u6539\u4E3A \u8FD9\u91CC \u7684\u6700\u65B0\u7248\u672C\u3002

    `,14),d={class:"custom-container danger"},u=s("p",{class:"custom-container-title"},"\u7279\u522B\u6CE8\u610F",-1),v=n("\u5982\u679C\u4F60\u7684\u9879\u76EE\u76EE\u524D\u6B63\u5728\u4F7F\u7528 "),h={href:"https://github.com/fankes/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},A=n("YukiHookAPI"),b=n("\uFF0C\u8BF7\u4E0D\u8981\u91CD\u590D\u96C6\u6210 "),_=s("strong",null,"YukiReflection",-1),m=n("\uFF0C\u56E0\u4E3A "),y=s("strong",null,"YukiHookAPI",-1),g=n(" \u5DF2\u7ECF\u5305\u542B\u4E86\u5176\u4E2D\u7684\u529F\u80FD\u4E14\u5B58\u5728\u9488\u5BF9\u76F8\u5173\u529F\u80FD\u7684\u6539\u52A8\uFF0C\u91CD\u590D\u96C6\u6210\u4F1A\u9020\u6210\u529F\u80FD\u6027\u51B2\u7A81\u5F15\u53D1\u5F02\u5E38\uFF0C\u6B64\u65F6\u4F60\u5E94\u8BE5\u524D\u5F80 "),k=s("strong",null,"YukiHookAPI",-1),C=n(" \u7684 "),D={href:"https://fankes.github.io/YukiHookAPI/zh-cn/",target:"_blank",rel:"noopener noreferrer"},B=n("\u6587\u6863"),f=n(" \u67E5\u770B\u5BF9\u5E94\u4F7F\u7528\u6559\u7A0B\u3002"),x=l(`

    \u5728\u4F60\u7684 app build.gradle \u4E2D\u4FEE\u6539 Kotlin \u7684 Jvm \u7248\u672C\u4E3A 11 \u53CA\u4EE5\u4E0A\u3002

    \u793A\u4F8B\u5982\u4E0B

    android {
    -    compileOptions {
    -        sourceCompatibility JavaVersion.VERSION_11
    -        targetCompatibility JavaVersion.VERSION_11
    -    }
    -    kotlinOptions {
    -        jvmTarget = '11'
    -    }
    -}
    -
    `,3);function F(I,q){const e=i("ExternalLinkIcon");return c(),t("div",null,[p,s("div",d,[u,s("p",null,[v,s("a",h,[A,a(e)]),b,_,m,y,g,k,C,s("a",D,[B,a(e)]),f])]),x])}const E=o(r,[["render",F],["__file","quick-start.html.vue"]]);export{E as default}; diff --git a/docs/en/about/about.html b/docs/en/about/about.html index 36cda68..490aedf 100644 --- a/docs/en/about/about.html +++ b/docs/en/about/about.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - About this Document | Yuki Reflection - + About this Document | Yuki Reflection + @@ -49,6 +49,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    Copyright © 2019-2023 HighCapable

    - + diff --git a/docs/en/about/changelog.html b/docs/en/about/changelog.html index 8fc5620..4ace379 100644 --- a/docs/en/about/changelog.html +++ b/docs/en/about/changelog.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - Changelog | Yuki Reflection - + Changelog | Yuki Reflection +

    Changelog

    The version update history of YukiReflection is recorded here.

    Pay Attention

    We will only maintain the latest API version, if you are using an outdate API version, you voluntarily renounce any possibility of maintenance.

    Notice

    To avoid translation time consumption, Changelog will use Google Translation from Chinese to English, please refer to the original text for actual reference.

    Time zone of version release date: UTC+8

    1.0.2 | 2023.04.25  latest

    • Fixed a critical issue where the Member cache did not take effect and persistent storage eventually caused app out of memory (OOM), thanks to Art-Chenopen in new window
    • Remove the direct cache function of Member and deprecated YukiReflection.Configs.isEnableMemberCache, keep the cache function of Class
    • Modified finder to Sequence, optimize the finding speed and performance of Member

    1.0.1 | 2023.04.16  stale

    • Change the type of dependent library from Java Library (jar) to Android Library (aar)
    • Removed wrong Class object declaration in Android type

    1.0.0 | 2023.01.26  stale

    • The first version is submitted to Maven
    - + diff --git a/docs/en/about/contacts.html b/docs/en/about/contacts.html index 57e0816..789e4d5 100644 --- a/docs/en/about/contacts.html +++ b/docs/en/about/contacts.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - Contact Us | Yuki Reflection - + Contact Us | Yuki Reflection + -

    Contact Us

    If you have any questions in use, or have any constructive suggestions, you can contact us.

    Join us Click to join Telegram groupopen in new window

    Find me on Twitter @fankesyooniopen in new window

    Help with Maintenance

    Thank you for choosing and using YukiReflection.

    If you have code-related suggestions and requests, you can submit a Pull Request on GitHub.

    - +

    Contact Us

    If you have any questions in use, or have any constructive suggestions, you can contact us.

    Join us Click to join Telegram groupopen in new window, Click to join Telegram group (Developer)open in new window.

    Find me on Twitter @fankesyooniopen in new window.

    Help with Maintenance

    Thank you for choosing and using YukiReflection.

    If you have code-related suggestions and requests, you can submit a Pull Request on GitHub.

    + diff --git a/docs/en/about/future.html b/docs/en/about/future.html index f1ae353..858d667 100644 --- a/docs/en/about/future.html +++ b/docs/en/about/future.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - Looking for Future | Yuki Reflection - + Looking for Future | Yuki Reflection + @@ -87,6 +87,6 @@ it.myMethod3("test") }

    Tips

    The above functions may change after the actual release, and the functions of the actual version shall prevail.

    - + diff --git a/docs/en/api/features.html b/docs/en/api/features.html index a609dd6..f6cb606 100644 --- a/docs/en/api/features.html +++ b/docs/en/api/features.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - Features | Yuki Reflection - + Features | Yuki Reflection + @@ -69,7 +69,7 @@ // ClassLoader where the custom Class is located val customClassLoader: ClassLoader? = ... // Assume this is your ClassLoader var isExist = "com.demo.Test".hasClass(customClassLoader) -

    Tips

    For more functions, please refer to String.hasClass method.

    The Class name in the current app's Dex after being obfuscated by tools such as R8 will be difficult to distinguish.

    Its correct position is uncertain, and cannot be obtained directly through Object Conversion.

    At this point, there is DexClassFinder, its role is to determine the instance of this Class by the bytecode features in the Class that need to be searched.

    Notice

    At present, the function of DexClassFinder is still in the experimental stage.

    Since the search function is only implemented through the Java layer, the performance may not reach the optimal level when there are too many current app's Class.

    If something got wrong welcome to feedback.

    Since it is a reflection-level API, currently it can only locate the specified Class through the characteristics of Class and Member, and cannot locate it by specifying the string and method content characteristics in the bytecode.

    The speed of searching Class depends on the performance of the current device.

    At present, the mainstream mobile processors are in the 3~10s range when the conditions are not complicated in the 10~15w number of Class, the fastest speed can reach within 25s under slightly complex conditions.

    Please note that the more the same type Class is matched, the slower the speed.

    Get Started

    Below is a simple usage example.

    Suppose the following Class is what we want, the names are obfuscated and may be different in each version.

    The following example

    package com.demo;
    +

    Tips

    For more functions, please refer to String.hasClass method.

    The Class name in the current app's Dex after being obfuscated by tools such as R8 will be difficult to distinguish.

    Its correct position is uncertain, and cannot be obtained directly through Object Conversion.

    At this point, there is DexClassFinder, its role is to determine the instance of this Class by the bytecode features in the Class that need to be searched.

    Notice

    This feature is only available on the Android platform.

    At present, the function of DexClassFinder is still in the experimental stage.

    Since the search function is only implemented through the Java layer, the performance may not reach the optimal level when there are too many current app's Class.

    If something got wrong welcome to feedback.

    Since it is a reflection-level API, currently it can only locate the specified Class through the characteristics of Class and Member, and cannot locate it by specifying the string and method content characteristics in the bytecode.

    The speed of searching Class depends on the performance of the current device.

    At present, the mainstream mobile processors are in the 3~10s range when the conditions are not complicated in the 10~15w number of Class, the fastest speed can reach within 25s under slightly complex conditions.

    Please note that the more the same type Class is matched, the slower the speed.

    Pay Attention

    After YukiHookAPI 2.x.x released, this function will be deprecated and will be removed directly from YukiReflection.

    We welcome all developers to start using DexKitopen in new window, which is a high-performance runtime parsing library for Dex implemented in C++, which is more efficient than the Java layer in terms of performance, efficient and excellent, it is still in the development stage, your valuable suggestions are welcome.

    Get Started

    Below is a simple usage example.

    Suppose the following Class is what we want, the names are obfuscated and may be different in each version.

    The following example

    package com.demo;
     
     public class a extends Activity implements Serializable {
     
    @@ -798,6 +798,6 @@
         type = BooleanType
     }
     

    The primitive type keywords in common Java types have been encapsulated as Type(Class Name) + Type, such as IntType, FloatType (their bytecode types are int, float).

    Correspondingly, array types also have convenient usage methods, assuming we want to get an array of type String[].

    You need to write java.lang.reflect.Array.newInstance(String::class.java, 0).javaClass to get this type.

    Does it feel very troublesome, at this time we can use the method ArrayClass(StringClass) to get this type.

    At the same time, since String is a common type, you can also directly use StringArrayClass to get this type.

    The methods found in some common requirements have their corresponding encapsulation types for use, in the format Type(Class Name) + Class.

    The following are wrapper names for some special case types in Java represented in YukiReflection.

    • voidUnitType

    • java.lang.VoidUnitClass

    • java.lang.ObjectAnyClass

    • java.lang.IntegerIntClass

    • java.lang.CharacterCharClass

    Notice

    Encapsulating types with Type(Class Name) + Type will and only be represented as Java primitive type keywords.

    Since the concept of primitive types does not exist in Kotlin, they will all be defined as KClass.

    There are 9 primitive type keywords in Java, of which 8 are primitive type, namely boolean, char, byte, short , int, float, long, double, of which the void type is a special case.

    At the same time, they all have their own corresponding package types in Java, such as java.lang.Boolean, java.lang.Integer, these types are unequal, Please note the distinction.

    Similarly, arrays also have corresponding wrapper types, which also need to be distinguished from Java primitive type keywords.

    For example, the encapsulation type of byte[] is ByteArrayType or ArrayClass(ByteType), and the encapsulation type of Byte[] is ByteArrayClass or ArrayClass(ByteClass), these types are also unequal.

    At the same time, you are welcome to contribute more commonly used types.

    - + diff --git a/docs/en/api/home.html b/docs/en/api/home.html index 8fa45b0..1e0bee0 100644 --- a/docs/en/api/home.html +++ b/docs/en/api/home.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - Document Introduce | Yuki Reflection - + Document Introduce | Yuki Reflection +

    Document Introduce

    The document here will synchronize the relevant usage of the latest API version, please keep YukiReflection as the latest version to use the latest version of the function.

    Function Description

    The function description mainly introduces the related usage and purpose of the current API.

    Function Example Description

    The function examples mainly show the basic usage examples of the current API for reference.

    Change Record Description

    The function of the first version will be marked as v<version> first;

    New function added later will be marked as v<version> added;

    Later modified function will be appended as v<version> modified;

    Later deprecated function will be marked as v<version> deprecated and strikethrough;

    Later removed function will be marked as v<version> removed and strikethrough.

    • kt  Kotlin Static File

    • annotation  Annotation Class

    • interface  Interface Class

    • object  Class (Singleton)

    • class  Class

    • field  Field or get / set method or read-only get method

    • method  Method

    • enum  Enum constant

    • ext-field  Extension field (global)

    • ext-method  Extension method (global)

    • i-ext-field  Extension field (internal)

    • i-ext-method  Extension method (internal)

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/YukiReflection.html b/docs/en/api/public/com/highcapable/yukireflection/YukiReflection.html index 9138550..a9a94fb 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/YukiReflection.html +++ b/docs/en/api/public/com/highcapable/yukireflection/YukiReflection.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - YukiReflection - object | Yuki Reflection - + YukiReflection - object | Yuki Reflection + @@ -36,6 +36,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    是否启用 Debug 模式。

    默认不启用,启用后将交由日志输出管理器打印详细日志 (例如反射查找功能的耗时) 到控制台。

    请过滤 debugTag 即可找到每条日志。

    isAllowPrintingLogs - field

    var isAllowPrintingLogs: Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    是否启用调试日志的输出功能。

    Notice

    关闭后将会停用 YukiReflection 对全部日志的输出。

    isEnableMemberCache - field

    Change Records

    v1.0.0 first

    v1.0.2 deprecated

    Member 的直接缓存功能已被移除,因为其存在内存溢出 (OOM) 问题

    configs - method

    inline fun configs(initiate: Configs.() -> Unit)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    Configs 类实现了一个 lambda 方法体。

    你可以轻松地调用它进行配置。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html b/docs/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html index 4885215..46747d7 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html +++ b/docs/en/api/public/com/highcapable/yukireflection/bean/CurrentClass.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - CurrentClass - class | Yuki Reflection - + CurrentClass - class | Yuki Reflection + @@ -43,6 +43,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    获得当前实例父类中的泛型父类。

    如果当前实例不存在泛型将返回 null

    field - method

    inline fun field(initiate: FieldConditions): FieldFinder.Result.Instance
     

    Change Records

    v1.0.0 first

    Function Illustrate

    调用父类实例中的变量。

    method - method

    inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance
     

    Change Records

    v1.0.0 first

    Function Illustrate

    调用父类实例中的方法。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html b/docs/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html index 2310e54..6b0b811 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html +++ b/docs/en/api/public/com/highcapable/yukireflection/bean/GenericClass.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - GenericClass - class | Yuki Reflection - + GenericClass - class | Yuki Reflection + @@ -31,6 +31,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    当前 Class 的泛型父类操作对象。

    argument - method

    fun argument(index: Int): Class<*>
     
    inline fun <reified T> argument(index: Int): Class<T>
     

    Change Records

    v1.0.0 first

    Function Illustrate

    获得泛型参数数组下标的 Class 实例。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html b/docs/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html index ef6e27d..bc6ad6f 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html +++ b/docs/en/api/public/com/highcapable/yukireflection/bean/VariousClass.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - VariousClass - class | Yuki Reflection - + VariousClass - class | Yuki Reflection + @@ -31,6 +31,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个不确定性 Class 类名装载器,通过 name 装载 Class 名称数组。

    get - method

    fun get(loader: ClassLoader? = null, initialize: Boolean): Class<*>
     

    Change Records

    v1.0.0 first

    Function Illustrate

    获取匹配的实体类。

    使用当前 loader 装载目标 Class

    getOrNull - method

    fun getOrNull(loader: ClassLoader? = null, initialize: Boolean): Class<*>?
     

    Change Records

    v1.0.0 first

    Function Illustrate

    获取匹配的实体类。

    使用当前 loader 装载目标 Class

    匹配不到 Class 会返回 null,不会抛出异常。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html b/docs/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html index c6e8cac..836b8cb 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html +++ b/docs/en/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ReflectionFactory - kt | Yuki Reflection - + ReflectionFactory - kt | Yuki Reflection + @@ -115,6 +115,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    遍历当前类中的所有方法。

    Class.allConstructors - ext-method

    inline fun Class<*>.allConstructors(isAccessible: Boolean, result: (index: Int, constructor: Constructor<*>) -> Unit)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    遍历当前类中的所有构造方法。

    Class.allFields - ext-method

    inline fun Class<*>.allFields(isAccessible: Boolean, result: (index: Int, field: Field) -> Unit)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    遍历当前类中的所有变量。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html b/docs/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html index ab7ae5e..1f45937 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - BaseFinder - class | Yuki Reflection - + BaseFinder - class | Yuki Reflection + @@ -36,6 +36,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    设置满足条件的第一个。

    last - method

    fun last()
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置满足条件的最后一个。

    reverse - method

    fun reverse(num: Int)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置倒序下标。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html index b0e2902..01ecb04 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - CountRules - class | Yuki Reflection - + CountRules - class | Yuki Reflection + @@ -33,6 +33,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    大于 count

    Int.lessThan - i-ext-method

    fun Int.lessThan(count: Int): Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    小于 count

    Int.inInterval - i-ext-method

    fun Int.inInterval(countRange: IntRange): Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    countRange 区间 A ≤ this ≤ B。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html index bef44f6..39dd619 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ModifierRules - class | Yuki Reflection - + ModifierRules - class | Yuki Reflection + @@ -41,6 +41,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    Class 类型是否包含 interface

    isAbstract - i-ext-field

    val isAbstract: Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    ClassMember 类型是否包含 abstract

    对于任意的抽象 ClassMember 可添加此描述进行确定。

    isStrict - i-ext-field

    val isStrict: Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    ClassMember 类型是否包含 strictfp

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html index 01cca86..8606526 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - NameRules - class | Yuki Reflection - + NameRules - class | Yuki Reflection + @@ -36,6 +36,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    是否只有字母或数字。

    String.isOnlyLowercase - i-ext-method

    fun String.isOnlyLowercase(): Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    是否只有小写字母。

    在没有其它条件的情况下设置此条件允许判断对象存在字母以外的字符。

    String.isOnlyUppercase - i-ext-method

    fun String.isOnlyUppercase(): Boolean
     

    Change Records

    v1.0.0 first

    Function Illustrate

    是否只有大写字母。

    在没有其它条件的情况下设置此条件允许判断对象存在字母以外的字符。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html index 643e45c..21e2d89 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html @@ -22,13 +22,13 @@ document.documentElement.classList.toggle('dark', true); } - ObjectRules - class | Yuki Reflection - + ObjectRules - class | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    ObjectRules - class

    class ObjectRules private constructor(private val instance: Any)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个任意对象条件实现类。

    可对 R8 混淆后的 ClassMember 进行更加详细的定位。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html index d365caf..a32e9c4 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - DexClassFinder - class | Yuki Reflection - + DexClassFinder - class | Yuki Reflection + @@ -73,6 +73,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    得到 Class 本身数组 (异步)。

    回调全部查找条件匹配的多个 Class 实例。

    在查找条件找不到任何结果的时候将回调空的 HashSet

    你需要设置 async 后此方法才会被回调,否则请使用 all 方法。

    onNoClassDefFoundError - method

    fun onNoClassDefFoundError(result: (Throwable) -> Unit): Result
     

    Change Records

    v1.0.0 first

    Function Illustrate

    监听找不到 Class 时。

    ignored - method

    fun ignored(): Result
     

    Change Records

    v1.0.0 first

    Function Illustrate

    忽略异常并停止打印任何错误日志。

    此时若要监听异常结果,你需要手动实现 onNoClassDefFoundError 方法。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html index 3ab714d..2679f99 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ConstructorRules - class | Yuki Reflection - + ConstructorRules - class | Yuki Reflection + @@ -36,6 +36,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Constructor 参数条件。

    Pay Attention

    无参 Constructor 请使用 emptyParam 设置查找条件。

    有参 Constructor 必须使用此方法设定参数或使用 paramCount 指定个数。

    paramCount - method

    fun paramCount(numRange: IntRange)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Constructor 参数个数范围。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数范围。

    paramCount - method

    fun paramCount(conditions: CountConditions)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Constructor 参数个数条件。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数条件。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html index b23c5ed..23bab72 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - FieldRules - class | Yuki Reflection - + FieldRules - class | Yuki Reflection + @@ -34,6 +34,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Field 标识符筛选条件。

    可不设置筛选条件。

    name - method

    fun name(conditions: NameConditions)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Field 名称条件。

    type - method

    fun type(conditions: ObjectConditions)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Field 类型条件。

    可不填写类型。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html index 51c7b99..cab6a63 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html @@ -22,14 +22,14 @@ document.documentElement.classList.toggle('dark', true); } - MemberRules - class | Yuki Reflection - + MemberRules - class | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    MemberRules - class

    class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
     

    Change Records

    v1.0.0 first

    Function Illustrate

    Member 查找条件实现类。

    modifiers - method

    fun modifiers(conditions: ModifierConditions)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Member 标识符筛选条件。

    可不设置筛选条件。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html index b5482ee..6302eef 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - MethodRules - class | Yuki Reflection - + MethodRules - class | Yuki Reflection + @@ -40,6 +40,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Method 参数个数范围。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数范围。

    paramCount - method

    fun paramCount(conditions: CountConditions)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Method 参数个数条件。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数条件。

    returnType - method

    fun returnType(conditions: ObjectConditions)
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置 Method 返回值条件。

    可不填写返回值。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html index f97dc9a..d763444 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - MemberRulesResult - class | Yuki Reflection - + MemberRulesResult - class | Yuki Reflection + @@ -33,6 +33,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    设置当前 Member 在查找条件中需要全部匹配的个数。

    count - method

    fun count(numRange: IntRange): MemberRulesResult
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置当前 Member 在查找条件中需要全部匹配的个数范围。

    count - method

    fun count(conditions: CountConditions): MemberRulesResult
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置当前 Member 在查找条件中需要全部匹配的个数条件。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html b/docs/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html index ef72a08..a562df9 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ConstructorFinder - class | Yuki Reflection - + ConstructorFinder - class | Yuki Reflection + @@ -93,6 +93,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    Constructor 实例处理类。

    call - method

    fun call(vararg args: Any?): Any?
     

    Change Records

    v1.0.0 first

    Function Illustrate

    执行 Constructor 创建目标实例,不指定目标实例类型。

    newInstance - method

    fun <T> newInstance(vararg args: Any?): T?
     

    Change Records

    v1.0.0 first

    Function Illustrate

    执行 Constructor 创建目标实例 ,指定 T 目标实例类型。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html b/docs/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html index afc768b..32ba34c 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - FieldFinder - class | Yuki Reflection - + FieldFinder - class | Yuki Reflection + @@ -111,6 +111,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    设置当前 Field 实例为 true

    Pay Attention

    请确保实例对象类型为 Boolean

    setFalse - method

    fun setFalse()
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置当前 Field 实例为 false

    Pay Attention

    请确保实例对象类型为 Boolean

    setNull - method

    fun setNull()
     

    Change Records

    v1.0.0 first

    Function Illustrate

    设置当前 Field 实例为 null

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html b/docs/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html index 58acfd5..a02bdc9 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html +++ b/docs/en/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - MethodFinder - class | Yuki Reflection - + MethodFinder - class | Yuki Reflection + @@ -108,6 +108,6 @@

    Change Records

    v1.0.0 first

    Function Illustrate

    执行 Method,指定 Boolean 返回值类型。

    array - method

    inline fun <reified T> array(vararg args: Any?): Array<T>
     

    Change Records

    v1.0.0 first

    Function Illustrate

    执行 Method,指定 Array 返回值类型。

    list - method

    inline fun <reified T> list(vararg args: Any?): List<T>
     

    Change Records

    v1.0.0 first

    Function Illustrate

    执行 Method,指定 List 返回值类型。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html b/docs/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html index 685c151..c4578c5 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html +++ b/docs/en/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - ComponentTypeFactory - kt | Yuki Reflection - + ComponentTypeFactory - kt | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    ComponentTypeFactory - kt

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个预置反射类型的常量类,主要为 Android 相关组件的 Class 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里open in new window 进行查看。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html b/docs/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html index dbc29a4..83c501b 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html +++ b/docs/en/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - GraphicsTypeFactory - kt | Yuki Reflection - + GraphicsTypeFactory - kt | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    GraphicsTypeFactory - kt

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个预置反射类型的常量类,主要为 Android 相关 GraphicsClass 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里open in new window 进行查看。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html b/docs/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html index 3432b74..fbb6320 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html +++ b/docs/en/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - ViewTypeFactory - kt | Yuki Reflection - + ViewTypeFactory - kt | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    ViewTypeFactory - kt

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个预置反射类型的常量类,主要为 Android 相关 WidgetClass 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里open in new window 进行查看。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html b/docs/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html index 8a8d61f..71b7620 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html +++ b/docs/en/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html @@ -22,13 +22,13 @@ document.documentElement.classList.toggle('dark', true); } - DefinedTypeFactory - kt | Yuki Reflection - + DefinedTypeFactory - kt | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    DefinedTypeFactory - kt

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个内部类型的定义常量类,主要用于反射 API 相关用法的延伸。

    VagueType - field

    val VagueType: Class<*>
     

    Change Records

    v1.0.0 first

    Function Illustrate

    得到模糊类型。

    - + diff --git a/docs/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html b/docs/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html index af42fb5..1b41107 100644 --- a/docs/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html +++ b/docs/en/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - VariableTypeFactory - kt | Yuki Reflection - + VariableTypeFactory - kt | Yuki Reflection +

    Notice

    The English translation of this page has not been completed, you are welcome to contribute translations to us.

    You can use the Chrome Translation Plugin to translate entire pages for reference.

    VariableTypeFactory - kt

    Change Records

    v1.0.0 first

    Function Illustrate

    这是一个预置反射类型的常量类,主要为 Java 相关基本变量类型的 Class 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里open in new window 进行查看。

    - + diff --git a/docs/en/config/api-example.html b/docs/en/config/api-example.html index 81b04e4..d01af52 100644 --- a/docs/en/config/api-example.html +++ b/docs/en/config/api-example.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - API Basic Configs | Yuki Reflection - + API Basic Configs | Yuki Reflection + @@ -55,6 +55,6 @@ isAllowPrintingLogs = true }

    Tips

    For more functions, please refer to YukiReflection.configs method, YukiReflection.Configs.

    - + diff --git a/docs/en/config/api-exception.html b/docs/en/config/api-exception.html index 38194ca..ae869ce 100644 --- a/docs/en/config/api-exception.html +++ b/docs/en/config/api-exception.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - API Exception Handling | Yuki Reflection - + API Exception Handling | Yuki Reflection + @@ -113,6 +113,6 @@ // <Solution 2> Do not fill in the generic declaration val clazz2 = "android.app.Activity".toClass()

    Please ensure that the generic type declared after executing the method is the specified target Class type, and you do not need to fill in the generic declaration if the target type is not sure.

    - + diff --git a/docs/en/guide/home.html b/docs/en/guide/home.html index 0c2fe1a..ac0ad3b 100644 --- a/docs/en/guide/home.html +++ b/docs/en/guide/home.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - Introduce | Yuki Reflection - + Introduce | Yuki Reflection + -

    Introduce

    YukiReflection is a Reflection API based on the Android platform.

    Background

    This is a set of simple and efficient Reflection API rebuilt based on Java native Reflection API using Kotlin.

    YukiReflection is also the core functionality that YukiHookAPIopen in new window is using.

    The name is taken from "ももくり" heroine Yuki Kuriharaopen in new window.

    Usage

    YukiReflection is fully built with Kotlin lambda syntax.

    It can replace Java's native Reflection APIopen in new window and implement a more complete reflection solution in a more human-friendly language.

    Language Requirement

    Please use Kotlin, the code composition of the API part is also compatible with Java, but the implementation of the basic reflection scene may not be used at all.

    All Demo sample codes in the document will be described using Kotlin, if you don’t know how to use Kotlin at all, you may not be able to use YukiReflection.

    Source of Inspiration

    YukiReflection was originally the core function integrated in the YukiHookAPIopen in new window project, and now it is decoupled so that this Reflection API can be used in any Android platform project.

    Now, we only need to write a small amount of code to implement a simple reflection call.

    With Kotlin elegant lambda and YukiReflection, you can make your reflection logic more beautiful and clear.

    The following example

    "android.os.SystemProperties".toClass()
    +    

    Introduce

    YukiReflection is a Reflection API based on the Java and Android platform.

    Background

    This is a set of simple and efficient Reflection API rebuilt based on Java native Reflection API using Kotlin.

    YukiReflection is also the core functionality that YukiHookAPIopen in new window is using.

    The name is taken from "ももくり" heroine Yuki Kuriharaopen in new window.

    Usage

    YukiReflection is fully built with Kotlin lambda syntax.

    It can replace Java's native Reflection APIopen in new window and implement a more complete reflection solution in a more human-friendly language.

    Language Requirement

    Please use Kotlin, the code composition of the API part is also compatible with Java, but the implementation of the basic reflection scene may not be used at all.

    All Demo sample codes in the document will be described using Kotlin, if you don’t know how to use Kotlin at all, you may not be able to use YukiReflection.

    Source of Inspiration

    YukiReflection was originally the core function integrated in the YukiHookAPIopen in new window project, and now it is decoupled so that this Reflection API can be used in any Java and Android platform project.

    Now, we only need to write a small amount of code to implement a simple reflection call.

    With Kotlin elegant lambda and YukiReflection, you can make your reflection logic more beautiful and clear.

    The following example

    "android.os.SystemProperties".toClass()
         .method {
             name = "get"
             param(StringClass, StringClass)
    @@ -37,6 +37,6 @@
         .apply { isAccessible = true }
         .invoke(null, "ro.system.build.fingerprint", "none")
     
    - + diff --git a/docs/en/guide/quick-start.html b/docs/en/guide/quick-start.html index 7e1dad8..5c1e812 100644 --- a/docs/en/guide/quick-start.html +++ b/docs/en/guide/quick-start.html @@ -22,22 +22,55 @@ document.documentElement.classList.toggle('dark', true); } - Quick Start | Yuki Reflection - + Quick Start | Yuki Reflection + -

    Quick Start

    Integrate YukiReflection into your project.

    Environment Requirements

    • Windows 7 and above / macOS 10.14 and above / Linux distributions (Arch/Debian)

    • Android Studio 2021.1 and above

    • IntelliJ IDEA 2021.1 and above

    • Kotlin 1.7.0 and above

    • Android Gradle Plugin 7.0 and above

    • Gradle 7.0 and above

    • JVM 11 and above

    Project Requirements

    The project needs to be created using Android Studio or IntelliJ IDEA and the type is an Android project and the Kotlin environment dependency has been integrated.

    Integration Dependencies

    (Optional) Add dependencies to your project build.gradle.

    The following example

    repositories {
    +    

    Quick Start

    Integrate YukiReflection into your project.

    Environment Requirements

    • Windows 7 and above / macOS 10.14 and above / Linux distributions (Arch/Debian)

    • Android Studio 2021.1 and above

    • IntelliJ IDEA 2021.1 and above

    • Kotlin 1.7.0 and above

    • Android Gradle Plugin 7.0 and above

    • Gradle 7.0 and above

    • Java 11 and above

    Project Requirements

    The project needs to be created using Android Studio or IntelliJ IDEA and the type is an Java or Android project and the Kotlin environment dependency has been integrated.

    Integration Dependencies

    We recommend using Kotlin DSL as the Gradle build script language and SweetDependencyopen in new window to manage dependencies.

    SweetDependency Method

    Add the repositories and dependencies in your project's SweetDependency configuration file.

    The following example

    repositories:
    +  # MavenCentral has a 2-hour cache,
    +  # if the latest version cannot be integrated, please add this
    +  sonatype-oss-releases:
    +
    +libraries:
    +  com.highcapable.yukireflection:
    +    api:
    +      version: +
    +  ...
    +

    After adding it, run Gradle Sync and all dependencies will be autowired.

    Next, deploy dependencies in your project build.gradle.kts.

    The following example

    dependencies {
    +    implementation(com.highcapable.yukireflection.api)
    +    // ...
    +}
    +

    Add repositories in your project build.gradle.kts or build.gradle.

    Kotlin DSL

    repositories {
         google()
         mavenCentral()
    -    // MavenCentral has a 2-hour cache, if you cannot integrate the latest version, please add this address
    -    maven { url "https://s01.oss.sonatype.org/content/repositories/releases" }
    +    // MavenCentral has a 2-hour cache, if the latest version cannot be integrated, please add this URL
    +    maven { url("https://s01.oss.sonatype.org/content/repositories/releases/") }
     }
    -

    Add dependencies to your app build.gradle.

    The following example

    dependencies {
    -    // Base dependencies
    +

    Groovy DSL

    repositories {
    +    google()
    +    mavenCentral()
    +    // MavenCentral has a 2-hour cache, if the latest version cannot be integrated, please add this URL
    +    maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' }
    +}
    +

    Add dependencies in your project build.gradle.kts or build.gradle.

    Kotlin DSL

    dependencies {
    +    implementation("com.highcapable.yukireflection:api:<yuki-version>")
    +    // ...
    +}
    +

    Groovy DSL

    dependencies {
         implementation 'com.highcapable.yukireflection:api:<yuki-version>'
    +    // ...
     }
    -

    Please change <yuki-version> to the latest version from here.

    Pay Attention

    If your project is currently using YukiHookAPIopen in new window, please do not repeatedly integrate YukiReflection, because YukiHookAPI already contains the functions and exists for related functional changes and repeated integration will cause functional conflicts and cause exceptions.

    At this time, you should go to the documentationopen in new window of YukiHookAPI to view the corresponding tutorial.

    Modify the Kotlin Jvm version to 11 and above in your app build.gradle.

    The following example

    android {
    +

    Please change <yuki-version> to the latest version here.

    Pay Attention

    If your project is currently using the 1.x.x version of YukiHookAPIopen in new window, please do not integrate YukiReflection repeatedly, because YukiHookAPI already includes it functions and there are changes to related functions.

    Repeated integration will cause functional conflicts and cause exceptions.

    In this case, you should go to the Documentationopen in new window of YukiHookAPI view the corresponding usage tutorial.

    YukiHookAPI will be completely separated from YukiReflection in version 2.x.x, by which time you can use it with YukiHookAPI at the same time.

    Configure Java Version

    Modify the Java version of Kotlin in your project build.gradle.kts or build.gradle to 11 or above.

    Kotlin DSL

    android {
    +    compileOptions {
    +        sourceCompatibility = JavaVersion.VERSION_11
    +        targetCompatibility = JavaVersion.VERSION_11
    +    }
    +    kotlinOptions {
    +        jvmTarget = "11"
    +    }
    +}
    +

    Groovy DSL

    android {
         compileOptions {
             sourceCompatibility JavaVersion.VERSION_11
             targetCompatibility JavaVersion.VERSION_11
    @@ -47,6 +80,6 @@
         }
     }
     
    - + diff --git a/docs/en/index.html b/docs/en/index.html index e09ec84..1e000e7 100644 --- a/docs/en/index.html +++ b/docs/en/index.html @@ -22,12 +22,24 @@ document.documentElement.classList.toggle('dark', true); } - Home | Yuki Reflection - + Home | Yuki Reflection + - - +
    Yuki Reflection

    Yuki Reflection

    An efficient Reflection API for Java and Android built in Kotlin

    Get Started Changelog

    Light and Elegant

    A powerful, elegant, beautiful API built with Kotlin lambda can help you quickly implement bytecode finding and reflection functions.

    Cross-Platform Available

    Not only the Android platform, it is highly compatible with the Java API and can be used on any Kotlin on JVM project, wherever Java is available.

    Quickly Started

    Simple and easy to use it now! Do not need complex configuration and full development experience, Integrate dependencies and enjoy yourself.

    Bring it on! Let reflection become poetic and picturesque

    public class World {
    +
    +    private void sayHello(String content) {
    +        System.out.println("Hello " + content + "!");
    +    }
    +}
    +
    val newWorld = World()
    +classOf<World>().method {
    +    name = "sayHello"
    +    param(StringClass)
    +    type = UnitType
    +}.get(newWorld).call("YukiReflection")
    +
    + diff --git a/docs/index.html b/docs/index.html index 15e9cd0..80af04d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - Yuki Reflection - + Yuki Reflection +

    Select a language

    English 简体中文

    - + diff --git a/docs/zh-cn/about/about.html b/docs/zh-cn/about/about.html index f55ed35..a18fa3f 100644 --- a/docs/zh-cn/about/about.html +++ b/docs/zh-cn/about/about.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - 关于此文档 | Yuki Reflection - + 关于此文档 | Yuki Reflection + @@ -49,6 +49,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    版权所有 © 2019-2023 HighCapable

    - + diff --git a/docs/zh-cn/about/changelog.html b/docs/zh-cn/about/changelog.html index aa4665e..65379dc 100644 --- a/docs/zh-cn/about/changelog.html +++ b/docs/zh-cn/about/changelog.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - 更新日志 | Yuki Reflection - + 更新日志 | Yuki Reflection +

    更新日志

    这里记录了 YukiReflection 的版本更新历史。

    特别注意

    我们只会对最新的 API 版本进行维护,若你正在使用过时的 API 版本则代表你自愿放弃一切维护的可能性。

    1.0.2 | 2023.04.25  最新

    • 修复一个严重问题,Member 缓存未生效且持续存储最终引发 APP 内存溢出 (OOM),感谢 Art-Chen在新窗口中打开
    • 移除 Member 的直接缓存功能并作废 YukiReflection.Configs.isEnableMemberCache,保留 Class 的缓存功能
    • 对接查找功能到 Sequence,优化 Member 的查找速度与性能

    1.0.1 | 2023.04.16  过旧

    • 将依赖库的类型由 Java Library (jar) 修改为 Android Library (aar)
    • 移除了 Android type 中的错误 Class 对象声明

    1.0.0 | 2023.01.26  过旧

    • 首个版本提交至 Maven
    - + diff --git a/docs/zh-cn/about/contacts.html b/docs/zh-cn/about/contacts.html index 9713f32..b37a828 100644 --- a/docs/zh-cn/about/contacts.html +++ b/docs/zh-cn/about/contacts.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - 联系我们 | Yuki Reflection - + 联系我们 | Yuki Reflection + -

    联系我们

    如在使用中有任何问题,或有任何建设性的建议,都可以联系我们。

    加入我们 点击加入 Telegram 群组在新窗口中打开

    酷安 找到我 @星夜不荟在新窗口中打开

    助力维护

    感谢您选择并使用 YukiReflection,如有代码相关的建议和请求,可在 GitHub 提交 Pull Request。

    - +

    联系我们

    如在使用中有任何问题,或有任何建设性的建议,都可以联系我们。

    加入我们 点击加入 Telegram 群组在新窗口中打开点击加入 Telegram 群组 (开发者)在新窗口中打开

    酷安 找到我 @星夜不荟在新窗口中打开

    助力维护

    感谢您选择并使用 YukiReflection,如有代码相关的建议和请求,可在 GitHub 提交 Pull Request。

    + diff --git a/docs/zh-cn/about/future.html b/docs/zh-cn/about/future.html index 611ce93..e0750a8 100644 --- a/docs/zh-cn/about/future.html +++ b/docs/zh-cn/about/future.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - 展望未来 | Yuki Reflection - + 展望未来 | Yuki Reflection + @@ -87,6 +87,6 @@ it.myMethod3("test") }

    小提示

    以上功能可能会在实际推出后有所变化,最终以实际版本的功能为准。

    - + diff --git a/docs/zh-cn/api/features.html b/docs/zh-cn/api/features.html index 5299064..ac3c4bb 100644 --- a/docs/zh-cn/api/features.html +++ b/docs/zh-cn/api/features.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - 功能介绍 | Yuki Reflection - + 功能介绍 | Yuki Reflection + @@ -69,7 +69,7 @@ // 自定义 Class 所在的 ClassLoader val customClassLoader: ClassLoader? = ... // 假设这个就是你的 ClassLoader var isExist = "com.demo.Test".hasClass(customClassLoader) -

    小提示

    更多功能请参考 String.hasClass 方法。

    模糊查找 Beta

    在 R8 等工具混淆后的当前 APP Dex 中的 Class 名称将会难以分辨,且不确定其正确位置,不能直接通过 对象转换 来得到。

    此时就有了 DexClassFinder,它的作用是通过需要查找的 Class 中的字节码特征来确定这个 Class 的实例。

    注意

    目前 DexClassFinder 的功能尚在试验阶段,由于仅通过 Java 层实现查找功能,在当前 APP Class 过多时性能可能不能达到最佳水平,如果发生查找不到、定位有误的问题欢迎向我们反馈。

    由于是反射层面的 API,目前它只能通过类与成员的特征来定位指定的 Class,不能通过指定字节码中的字符串和方法内容特征来进行定位。

    查找 Class 的速度取决于当前设备的性能,目前主流的移动端处理器在 10~15w 数量的 Class 中条件不算复杂的情况下大概在 3~10s 区间,条件稍微复杂的情况下最快速度能达到 25s 以内,匹配到的同类型 Class 越多速度越慢。

    开始使用

    下面是一个简单的用法示例。

    假设下面这个 Class 是我们想要得到的,其中的名称经过了混淆,在每个版本可能都不一样。

    示例如下

    package com.demo;
    +

    小提示

    更多功能请参考 String.hasClass 方法。

    模糊查找 Beta

    在 R8 等工具混淆后的当前 APP Dex 中的 Class 名称将会难以分辨,且不确定其正确位置,不能直接通过 对象转换 来得到。

    此时就有了 DexClassFinder,它的作用是通过需要查找的 Class 中的字节码特征来确定这个 Class 的实例。

    注意

    此功能仅适用于 Android 平台。

    目前 DexClassFinder 的功能尚在试验阶段,由于仅通过 Java 层实现查找功能,在当前 APP Class 过多时性能可能不能达到最佳水平,如果发生查找不到、定位有误的问题欢迎向我们反馈。

    由于是反射层面的 API,目前它只能通过类与成员的特征来定位指定的 Class,不能通过指定字节码中的字符串和方法内容特征来进行定位。

    查找 Class 的速度取决于当前设备的性能,目前主流的移动端处理器在 10~15w 数量的 Class 中条件不算复杂的情况下大概在 3~10s 区间,条件稍微复杂的情况下最快速度能达到 25s 以内,匹配到的同类型 Class 越多速度越慢。

    特别注意

    YukiHookAPI 发布 2.x.x 版本后,此功能将被标记为作废,且将会直接从 YukiReflection 中移除。

    我们欢迎各位开发者开始使用 DexKit在新窗口中打开,它是一个使用 C++ 实现的 Dex 高性能运行时解析库,在性能方面比 Java 层更加高效与优秀,目前尚在开发阶段,欢迎提出宝贵建议。

    开始使用

    下面是一个简单的用法示例。

    假设下面这个 Class 是我们想要得到的,其中的名称经过了混淆,在每个版本可能都不一样。

    示例如下

    package com.demo;
     
     public class a extends Activity implements Serializable {
     
    @@ -773,6 +773,6 @@
         type = BooleanType
     }
     

    在 Java 常见类型中的原始类型 (或基本类型) 关键字都已被封装为 类型 + Type 的方式,例如 IntTypeFloatType (它们的字节码类型为 intfloat)。

    相应地,数组类型也有方便的使用方法,假设我们要获得 String[] 类型的数组。

    需要写做 java.lang.reflect.Array.newInstance(String::class.java, 0).javaClass 才能得到这个类型。

    感觉是不是很麻烦,这个时候我们可以使用方法 ArrayClass(StringClass) 来得到这个类型。

    同时由于 String 是常见类型,所以还可以直接使用 StringArrayClass 来得到这个类型。

    一些常见需求中查找的方法,都有其对应的封装类型以供使用,格式为 类型 + Class

    以下是 Java 中一些特例类型在 YukiReflection 中的封装名称。

    注意

    类型 + Type 封装类型会且仅会表示为 Java 原始类型关键字,由于 Kotlin 中不存在原始类型这个概念,所以它们都会被定义为 KClass

    Java 中共有 9 个原始类型关键字,其中 8 个为原始类型,分别为 booleancharbyteshortintfloatlongdouble,其中 void 类型是一个特例。

    同时它们都有 Java 自身对应的封装类型,例如 java.lang.Booleanjava.lang.Integer,这些类型是不相等的,请注意区分。

    同样地,数组也有对应的封装类型,它们也需要与 Java 原始类型关键字 进行区分。

    例如 byte[] 的封装类型为 ByteArrayTypeArrayClass(ByteType),而 Byte[] 的封装类型为 ByteArrayClassArrayClass(ByteClass),这些类型也是不相等的

    小提示

    更多类型可查看 ComponentTypeFactoryGraphicsTypeFactoryViewTypeFactoryVariableTypeFactory

    同时,欢迎你能贡献更多的常用类型。

    - + diff --git a/docs/zh-cn/api/home.html b/docs/zh-cn/api/home.html index 66af87c..7874223 100644 --- a/docs/zh-cn/api/home.html +++ b/docs/zh-cn/api/home.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - 文档介绍 | Yuki Reflection - + 文档介绍 | Yuki Reflection +

    文档介绍

    这里的文档将同步最新 API 版本的相关用法,请保持 YukiReflection 为最新版本以使用最新版本的功能。

    功能描述说明

    功能描述主要介绍当前 API 的相关用法和用途。

    功能示例说明

    功能示例主要展示了当前 API 的基本用法示例,可供参考。

    变更记录说明

    首个版本的功能将标记为 v<version> 添加

    后期新增加的功能将标记为 v<version> 新增

    后期修改的功能将被追加为 v<version> 修改

    后期被作废的功能将标记为 v<version> 作废 并会标注删除线;

    后期被删除的功能将标记为 v<version> 移除 并会标注删除线。

    相关符号说明

    • kt  Kotlin Static File

    • annotation  注解

    • interface  接口

    • object  类 (单例)

    • class  类

    • field  变量或 getset 方法或只读的 get 方法

    • method  方法

    • enum  Enum 常量

    • ext-field  扩展的变量 (全局)

    • ext-method  扩展的方法 (全局)

    • i-ext-field  扩展的变量 (调用域限制)

    • i-ext-method  扩展的方法 (调用域限制)

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html index 0248739..b533be4 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/YukiReflection.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - YukiReflection - object | Yuki Reflection - + YukiReflection - object | Yuki Reflection + @@ -36,6 +36,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    是否启用 Debug 模式。

    默认不启用,启用后将交由日志输出管理器打印详细日志 (例如反射查找功能的耗时) 到控制台。

    请过滤 debugTag 即可找到每条日志。

    isAllowPrintingLogs - field

    var isAllowPrintingLogs: Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    是否启用调试日志的输出功能。

    注意

    关闭后将会停用 YukiReflection 对全部日志的输出。

    isEnableMemberCache - field

    变更记录

    v1.0.0 添加

    v1.0.2 作废

    Member 的直接缓存功能已被移除,因为其存在内存溢出 (OOM) 问题

    configs - method

    inline fun configs(initiate: Configs.() -> Unit)
     

    变更记录

    v1.0.0 添加

    功能描述

    Configs 类实现了一个 lambda 方法体。

    你可以轻松地调用它进行配置。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html index 7594f78..6ca3bcc 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/CurrentClass.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - CurrentClass - class | Yuki Reflection - + CurrentClass - class | Yuki Reflection + @@ -43,6 +43,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    获得当前实例父类中的泛型父类。

    如果当前实例不存在泛型将返回 null

    field - method

    inline fun field(initiate: FieldConditions): FieldFinder.Result.Instance
     

    变更记录

    v1.0.0 添加

    功能描述

    调用父类实例中的变量。

    method - method

    inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance
     

    变更记录

    v1.0.0 添加

    功能描述

    调用父类实例中的方法。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html index ded1dad..fd0cc25 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/GenericClass.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - GenericClass - class | Yuki Reflection - + GenericClass - class | Yuki Reflection + @@ -31,6 +31,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    当前 Class 的泛型父类操作对象。

    argument - method

    fun argument(index: Int): Class<*>
     
    inline fun <reified T> argument(index: Int): Class<T>
     

    变更记录

    v1.0.0 添加

    功能描述

    获得泛型参数数组下标的 Class 实例。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html index b33c156..36070eb 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/bean/VariousClass.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - VariousClass - class | Yuki Reflection - + VariousClass - class | Yuki Reflection + @@ -31,6 +31,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    这是一个不确定性 Class 类名装载器,通过 name 装载 Class 名称数组。

    get - method

    fun get(loader: ClassLoader? = null, initialize: Boolean): Class<*>
     

    变更记录

    v1.0.0 添加

    功能描述

    获取匹配的实体类。

    使用当前 loader 装载目标 Class

    getOrNull - method

    fun getOrNull(loader: ClassLoader? = null, initialize: Boolean): Class<*>?
     

    变更记录

    v1.0.0 添加

    功能描述

    获取匹配的实体类。

    使用当前 loader 装载目标 Class

    匹配不到 Class 会返回 null,不会抛出异常。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html index e705bc8..44b918b 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/factory/ReflectionFactory.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ReflectionFactory - kt | Yuki Reflection - + ReflectionFactory - kt | Yuki Reflection + @@ -115,6 +115,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    遍历当前类中的所有方法。

    Class.allConstructors - ext-method

    inline fun Class<*>.allConstructors(isAccessible: Boolean, result: (index: Int, constructor: Constructor<*>) -> Unit)
     

    变更记录

    v1.0.0 添加

    功能描述

    遍历当前类中的所有构造方法。

    Class.allFields - ext-method

    inline fun Class<*>.allFields(isAccessible: Boolean, result: (index: Int, field: Field) -> Unit)
     

    变更记录

    v1.0.0 添加

    功能描述

    遍历当前类中的所有变量。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html index 6d4f659..f2bc5b1 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/BaseFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - BaseFinder - class | Yuki Reflection - + BaseFinder - class | Yuki Reflection + @@ -36,6 +36,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    设置满足条件的第一个。

    last - method

    fun last()
     

    变更记录

    v1.0.0 添加

    功能描述

    设置满足条件的最后一个。

    reverse - method

    fun reverse(num: Int)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置倒序下标。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html index 6521bfc..5b3fa9c 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/CountRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - CountRules - class | Yuki Reflection - + CountRules - class | Yuki Reflection + @@ -33,6 +33,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    大于 count

    Int.lessThan - i-ext-method

    fun Int.lessThan(count: Int): Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    小于 count

    Int.inInterval - i-ext-method

    fun Int.inInterval(countRange: IntRange): Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    countRange 区间 A ≤ this ≤ B。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html index 046919c..35ea41c 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ModifierRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ModifierRules - class | Yuki Reflection - + ModifierRules - class | Yuki Reflection + @@ -41,6 +41,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    Class 类型是否包含 interface

    isAbstract - i-ext-field

    val isAbstract: Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    ClassMember 类型是否包含 abstract

    对于任意的抽象 ClassMember 可添加此描述进行确定。

    isStrict - i-ext-field

    val isStrict: Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    ClassMember 类型是否包含 strictfp

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html index 96c3652..5e7a19b 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/NameRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - NameRules - class | Yuki Reflection - + NameRules - class | Yuki Reflection + @@ -36,6 +36,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    是否只有字母或数字。

    String.isOnlyLowercase - i-ext-method

    fun String.isOnlyLowercase(): Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    是否只有小写字母。

    在没有其它条件的情况下设置此条件允许判断对象存在字母以外的字符。

    String.isOnlyUppercase - i-ext-method

    fun String.isOnlyUppercase(): Boolean
     

    变更记录

    v1.0.0 添加

    功能描述

    是否只有大写字母。

    在没有其它条件的情况下设置此条件允许判断对象存在字母以外的字符。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html index 70d6e20..d52f175 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/base/rules/ObjectRules.html @@ -22,13 +22,13 @@ document.documentElement.classList.toggle('dark', true); } - ObjectRules - class | Yuki Reflection - + ObjectRules - class | Yuki Reflection +

    ObjectRules - class

    class ObjectRules private constructor(private val instance: Any)
     

    变更记录

    v1.0.0 添加

    功能描述

    这是一个任意对象条件实现类。

    可对 R8 混淆后的 ClassMember 进行更加详细的定位。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html index 1b1a1d3..8cf6d8f 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/DexClassFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - DexClassFinder - class | Yuki Reflection - + DexClassFinder - class | Yuki Reflection + @@ -73,6 +73,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    得到 Class 本身数组 (异步)。

    回调全部查找条件匹配的多个 Class 实例。

    在查找条件找不到任何结果的时候将回调空的 HashSet

    你需要设置 async 后此方法才会被回调,否则请使用 all 方法。

    onNoClassDefFoundError - method

    fun onNoClassDefFoundError(result: (Throwable) -> Unit): Result
     

    变更记录

    v1.0.0 添加

    功能描述

    监听找不到 Class 时。

    ignored - method

    fun ignored(): Result
     

    变更记录

    v1.0.0 添加

    功能描述

    忽略异常并停止打印任何错误日志。

    此时若要监听异常结果,你需要手动实现 onNoClassDefFoundError 方法。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html index 40ec847..1a21fde 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/ConstructorRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ConstructorRules - class | Yuki Reflection - + ConstructorRules - class | Yuki Reflection + @@ -36,6 +36,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    设置 Constructor 参数条件。

    特别注意

    无参 Constructor 请使用 emptyParam 设置查找条件。

    有参 Constructor 必须使用此方法设定参数或使用 paramCount 指定个数。

    paramCount - method

    fun paramCount(numRange: IntRange)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Constructor 参数个数范围。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数范围。

    paramCount - method

    fun paramCount(conditions: CountConditions)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Constructor 参数个数条件。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数条件。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html index d4f0b6c..9ab04b3 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/FieldRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - FieldRules - class | Yuki Reflection - + FieldRules - class | Yuki Reflection + @@ -34,6 +34,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    设置 Field 标识符筛选条件。

    可不设置筛选条件。

    name - method

    fun name(conditions: NameConditions)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Field 名称条件。

    type - method

    fun type(conditions: ObjectConditions)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Field 类型条件。

    可不填写类型。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html index e34f1f4..e926087 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MemberRules.html @@ -22,14 +22,14 @@ document.documentElement.classList.toggle('dark', true); } - MemberRules - class | Yuki Reflection - + MemberRules - class | Yuki Reflection +

    MemberRules - class

    class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
     

    变更记录

    v1.0.0 添加

    功能描述

    Member 查找条件实现类。

    modifiers - method

    fun modifiers(conditions: ModifierConditions)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Member 标识符筛选条件。

    可不设置筛选条件。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html index b036c7c..55b477b 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/MethodRules.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - MethodRules - class | Yuki Reflection - + MethodRules - class | Yuki Reflection + @@ -40,6 +40,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    设置 Method 参数个数范围。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数范围。

    paramCount - method

    fun paramCount(conditions: CountConditions)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Method 参数个数条件。

    你可以不使用 param 指定参数类型而是仅使用此方法指定参数个数条件。

    returnType - method

    fun returnType(conditions: ObjectConditions)
     

    变更记录

    v1.0.0 添加

    功能描述

    设置 Method 返回值条件。

    可不填写返回值。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html index ffb23da..dd08295 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/classes/rules/result/MemberRulesResult.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - MemberRulesResult - class | Yuki Reflection - + MemberRulesResult - class | Yuki Reflection + @@ -33,6 +33,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    设置当前 Member 在查找条件中需要全部匹配的个数。

    count - method

    fun count(numRange: IntRange): MemberRulesResult
     

    变更记录

    v1.0.0 添加

    功能描述

    设置当前 Member 在查找条件中需要全部匹配的个数范围。

    count - method

    fun count(conditions: CountConditions): MemberRulesResult
     

    变更记录

    v1.0.0 添加

    功能描述

    设置当前 Member 在查找条件中需要全部匹配的个数条件。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html index 09ee9c3..628cc73 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/ConstructorFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - ConstructorFinder - class | Yuki Reflection - + ConstructorFinder - class | Yuki Reflection + @@ -93,6 +93,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    Constructor 实例处理类。

    call - method

    fun call(vararg args: Any?): Any?
     

    变更记录

    v1.0.0 添加

    功能描述

    执行 Constructor 创建目标实例,不指定目标实例类型。

    newInstance - method

    fun <T> newInstance(vararg args: Any?): T?
     

    变更记录

    v1.0.0 添加

    功能描述

    执行 Constructor 创建目标实例 ,指定 T 目标实例类型。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html index 753d5f9..46bf7c2 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/FieldFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - FieldFinder - class | Yuki Reflection - + FieldFinder - class | Yuki Reflection + @@ -111,6 +111,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    设置当前 Field 实例为 true

    特别注意

    请确保实例对象类型为 Boolean

    setFalse - method

    fun setFalse()
     

    变更记录

    v1.0.0 添加

    功能描述

    设置当前 Field 实例为 false

    特别注意

    请确保实例对象类型为 Boolean

    setNull - method

    fun setNull()
     

    变更记录

    v1.0.0 添加

    功能描述

    设置当前 Field 实例为 null

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html index 08fb82c..d669a48 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/finder/members/MethodFinder.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - MethodFinder - class | Yuki Reflection - + MethodFinder - class | Yuki Reflection + @@ -108,6 +108,6 @@

    变更记录

    v1.0.0 添加

    功能描述

    执行 Method,指定 Boolean 返回值类型。

    array - method

    inline fun <reified T> array(vararg args: Any?): Array<T>
     

    变更记录

    v1.0.0 添加

    功能描述

    执行 Method,指定 Array 返回值类型。

    list - method

    inline fun <reified T> list(vararg args: Any?): List<T>
     

    变更记录

    v1.0.0 添加

    功能描述

    执行 Method,指定 List 返回值类型。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html index 21a4016..1845b19 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ComponentTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - ComponentTypeFactory - kt | Yuki Reflection - + ComponentTypeFactory - kt | Yuki Reflection +

    ComponentTypeFactory - kt

    变更记录

    v1.0.0 添加

    功能描述

    这是一个预置反射类型的常量类,主要为 Android 相关组件的 Class 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里在新窗口中打开 进行查看。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html index ce09b42..6e7a0d4 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/GraphicsTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - GraphicsTypeFactory - kt | Yuki Reflection - + GraphicsTypeFactory - kt | Yuki Reflection +

    GraphicsTypeFactory - kt

    变更记录

    v1.0.0 添加

    功能描述

    这是一个预置反射类型的常量类,主要为 Android 相关 GraphicsClass 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里在新窗口中打开 进行查看。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html index d6c803e..b333c47 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/android/ViewTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - ViewTypeFactory - kt | Yuki Reflection - + ViewTypeFactory - kt | Yuki Reflection +

    ViewTypeFactory - kt

    变更记录

    v1.0.0 添加

    功能描述

    这是一个预置反射类型的常量类,主要为 Android 相关 WidgetClass 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里在新窗口中打开 进行查看。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html index 1d67eeb..b37cdc9 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/defined/DefinedTypeFactory.html @@ -22,13 +22,13 @@ document.documentElement.classList.toggle('dark', true); } - DefinedTypeFactory - kt | Yuki Reflection - + DefinedTypeFactory - kt | Yuki Reflection +

    DefinedTypeFactory - kt

    变更记录

    v1.0.0 添加

    功能描述

    这是一个内部类型的定义常量类,主要用于反射 API 相关用法的延伸。

    VagueType - field

    val VagueType: Class<*>
     

    变更记录

    v1.0.0 添加

    功能描述

    得到模糊类型。

    - + diff --git a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html index 53c92c8..867204b 100644 --- a/docs/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html +++ b/docs/zh-cn/api/public/com/highcapable/yukireflection/type/java/VariableTypeFactory.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - VariableTypeFactory - kt | Yuki Reflection - + VariableTypeFactory - kt | Yuki Reflection +

    VariableTypeFactory - kt

    变更记录

    v1.0.0 添加

    功能描述

    这是一个预置反射类型的常量类,主要为 Java 相关基本变量类型的 Class 内容,跟随版本更新会逐一进行增加。

    详情可 点击这里在新窗口中打开 进行查看。

    - + diff --git a/docs/zh-cn/config/api-example.html b/docs/zh-cn/config/api-example.html index 0f67cbd..76790ff 100644 --- a/docs/zh-cn/config/api-example.html +++ b/docs/zh-cn/config/api-example.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - API 基本配置 | Yuki Reflection - + API 基本配置 | Yuki Reflection + @@ -55,6 +55,6 @@ isAllowPrintingLogs = true }

    小提示

    更多功能请参考 YukiReflection.configs 方法、YukiReflection.Configs

    - + diff --git a/docs/zh-cn/config/api-exception.html b/docs/zh-cn/config/api-exception.html index 87d2602..1a49bc5 100644 --- a/docs/zh-cn/config/api-exception.html +++ b/docs/zh-cn/config/api-exception.html @@ -22,8 +22,8 @@ document.documentElement.classList.toggle('dark', true); } - API 异常处理 | Yuki Reflection - + API 异常处理 | Yuki Reflection + @@ -113,6 +113,6 @@ // <解决方案 2> 不填写泛型声明 val clazz2 = "android.app.Activity".toClass()

    请确保执行方法后声明的泛型是指定的目标 Class 类型,在不确定目标类型的情况下你可以不需要填写泛型声明。

    - + diff --git a/docs/zh-cn/guide/home.html b/docs/zh-cn/guide/home.html index b292e06..194c24b 100644 --- a/docs/zh-cn/guide/home.html +++ b/docs/zh-cn/guide/home.html @@ -22,12 +22,12 @@ document.documentElement.classList.toggle('dark', true); } - 介绍 | Yuki Reflection - + 介绍 | Yuki Reflection + -

    介绍

    YukiReflection 是一个基于 Android 平台的反射 API。

    背景

    这是一个使用 Kotlin 基于 Java 原生反射 API 重新打造的一套简洁、高效的反射 API。

    YukiReflection 同时也是 YukiHookAPI在新窗口中打开 正在使用的核心功能。

    名称取自 《ももくり》女主 栗原 雪(Yuki)在新窗口中打开

    用途

    YukiReflection 完全采用 Kotlin lambda 语法构建。

    它能取代 Java 原生的反射 API在新窗口中打开,使用更加人性化的语言实现一套更加完善的反射方案。

    语言要求

    请使用 Kotlin,API 部分代码构成同样兼容 Java 但基础反射场景的实现可能完全无法使用

    文档全部的 Demo 示例代码都将使用 Kotlin 进行描述,如果你完全不会使用 Kotlin 那你将有可能无法使用 YukiReflection

    灵感来源

    YukiReflection 最初是集成在 YukiHookAPI在新窗口中打开 项目中的核心功能,现在进行了解耦合,使得这套反射 API 可以在任何 Android 平台的项目中使用。

    现在,我们只需要编写少量的代码,就能实现一个简单的反射调用。

    借助 Kotlin 优雅的 lambda 写法以及 YukiReflection,可以让你的反射逻辑更加美观清晰。

    示例如下

    "android.os.SystemProperties".toClass()
    +    

    介绍

    YukiReflection 是一个基于 Java 和 Android 平台的反射 API。

    背景

    这是一个使用 Kotlin 基于 Java 原生反射 API 重新打造的一套简洁、高效的反射 API。

    YukiReflection 同时也是 YukiHookAPI在新窗口中打开 正在使用的核心功能。

    名称取自 《ももくり》女主 栗原 雪(Yuki)在新窗口中打开

    用途

    YukiReflection 完全采用 Kotlin lambda 语法构建。

    它能取代 Java 原生的反射 API在新窗口中打开,使用更加人性化的语言实现一套更加完善的反射方案。

    语言要求

    请使用 Kotlin,API 部分代码构成同样兼容 Java 但基础反射场景的实现可能完全无法使用

    文档全部的 Demo 示例代码都将使用 Kotlin 进行描述,如果你完全不会使用 Kotlin 那你将有可能无法使用 YukiReflection

    灵感来源

    YukiReflection 最初是集成在 YukiHookAPI在新窗口中打开 项目中的核心功能,现在进行了解耦合,使得这套反射 API 可以在任何 Java 和 Android 平台的项目中使用。

    现在,我们只需要编写少量的代码,就能实现一个简单的反射调用。

    借助 Kotlin 优雅的 lambda 写法以及 YukiReflection,可以让你的反射逻辑更加美观清晰。

    示例如下

    "android.os.SystemProperties".toClass()
         .method {
             name = "get"
             param(StringClass, StringClass)
    @@ -37,6 +37,6 @@
         .apply { isAccessible = true }
         .invoke(null, "ro.system.build.fingerprint", "none")
     
    - + diff --git a/docs/zh-cn/guide/quick-start.html b/docs/zh-cn/guide/quick-start.html index 0d1aa50..25f5aa7 100644 --- a/docs/zh-cn/guide/quick-start.html +++ b/docs/zh-cn/guide/quick-start.html @@ -22,22 +22,54 @@ document.documentElement.classList.toggle('dark', true); } - 快速开始 | Yuki Reflection - + 快速开始 | Yuki Reflection + -

    快速开始

    集成 YukiReflection 到你的项目中。

    环境要求

    • Windows 7 及以上/macOS 10.14 及以上/Linux 发行版(Arch/Debian)

    • Android Studio 2021.1 及以上

    • IntelliJ IDEA 2021.1 及以上

    • Kotlin 1.7.0 及以上

    • Android Gradle Plugin 7.0 及以上

    • Gradle 7.0 及以上

    • Jvm 11 及以上

    项目要求

    项目需要使用 Android StudioIntelliJ IDEA 创建且类型为 Android 项目并已集成 Kotlin 环境依赖。

    集成依赖

    (可选) 在你的项目 build.gradle 中添加依赖。

    示例如下

    repositories {
    +    

    快速开始

    集成 YukiReflection 到你的项目中。

    环境要求

    • Windows 7 及以上/macOS 10.14 及以上/Linux 发行版 (Arch/Debian)

    • Android Studio 2021.1 及以上

    • IntelliJ IDEA 2021.1 及以上

    • Kotlin 1.7.0 及以上

    • Android Gradle Plugin 7.0 及以上

    • Gradle 7.0 及以上

    • Java 11 及以上

    项目要求

    项目需要使用 Android StudioIntelliJ IDEA 创建且类型为 Java 或 Android 项目并已集成 Kotlin 环境依赖。

    集成依赖

    我们推荐使用 Kotlin DSL 作为 Gradle 构建脚本语言并推荐使用 SweetDependency在新窗口中打开 来管理依赖。

    SweetDependency 方式

    在你的项目 SweetDependency 配置文件中添加存储库和依赖。

    示例如下

    repositories:
    +  # MavenCentral 有 2 小时缓存,若无法集成最新版本请添加
    +  sonatype-oss-releases:
    +
    +libraries:
    +  com.highcapable.yukireflection:
    +    api:
    +      version: +
    +  ...
    +

    添加完成后运行一次 Gradle Sync,所有依赖版本将自动装配。

    接下来,在你的项目 build.gradle.kts 中部署依赖。

    示例如下

    dependencies {
    +    implementation(com.highcapable.yukireflection.api)
    +    // ...
    +}
    +

    传统方式 (不推荐)

    在你的项目 build.gradle.ktsbuild.gradle 中添加存储库。

    Kotlin DSL

    repositories {
         google()
         mavenCentral()
         // MavenCentral 有 2 小时缓存,若无法集成最新版本请添加此地址
    -    maven { url "https://s01.oss.sonatype.org/content/repositories/releases" }
    +    maven { url("https://s01.oss.sonatype.org/content/repositories/releases/") }
     }
    -

    在你的 app build.gradle 中添加依赖。

    示例如下

    dependencies {
    -    // 基础依赖
    +

    Groovy DSL

    repositories {
    +    google()
    +    mavenCentral()
    +    // MavenCentral 有 2 小时缓存,若无法集成最新版本请添加此地址
    +    maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' }
    +}
    +

    在你的项目 build.gradle.ktsbuild.gradle 中添加依赖。

    Kotlin DSL

    dependencies {
    +    implementation("com.highcapable.yukireflection:api:<yuki-version>")
    +    // ...
    +}
    +

    Groovy DSL

    dependencies {
         implementation 'com.highcapable.yukireflection:api:<yuki-version>'
    +    // ...
     }
    -

    请将 <yuki-version> 修改为 这里 的最新版本。

    特别注意

    如果你的项目目前正在使用 YukiHookAPI在新窗口中打开,请不要重复集成 YukiReflection,因为 YukiHookAPI 已经包含了其中的功能且存在针对相关功能的改动,重复集成会造成功能性冲突引发异常,此时你应该前往 YukiHookAPI文档在新窗口中打开 查看对应使用教程。

    在你的 app build.gradle 中修改 Kotlin 的 Jvm 版本为 11 及以上。

    示例如下

    android {
    +

    请将 <yuki-version> 修改为 这里 的最新版本。

    特别注意

    如果你的项目目前正在使用 YukiHookAPI在新窗口中打开 的 1.x.x 版本,请不要重复集成 YukiReflection,因为 YukiHookAPI 已经包含了其中的功能且存在针对相关功能的改动,重复集成会造成功能性冲突引发异常,此时你应该前往 YukiHookAPI文档在新窗口中打开 查看对应的使用教程。

    YukiHookAPI 将在 2.x.x 版本完全分离 YukiReflection,届时你可以同时与 YukiHookAPI 使用。

    配置 Java 版本

    在你的项目 build.gradle.ktsbuild.gradle 中修改 Kotlin 的 Java 版本为 11 及以上。

    Kotlin DSL

    android {
    +    compileOptions {
    +        sourceCompatibility = JavaVersion.VERSION_11
    +        targetCompatibility = JavaVersion.VERSION_11
    +    }
    +    kotlinOptions {
    +        jvmTarget = "11"
    +    }
    +}
    +

    Groovy DSL

    android {
         compileOptions {
             sourceCompatibility JavaVersion.VERSION_11
             targetCompatibility JavaVersion.VERSION_11
    @@ -47,6 +79,6 @@
         }
     }
     
    - + diff --git a/docs/zh-cn/index.html b/docs/zh-cn/index.html index 5a982b7..b7270c3 100644 --- a/docs/zh-cn/index.html +++ b/docs/zh-cn/index.html @@ -22,12 +22,24 @@ document.documentElement.classList.toggle('dark', true); } - 首页 | Yuki Reflection - + 首页 | Yuki Reflection + - - +
    Yuki Reflection

    Yuki Reflection

    一个使用 Kotlin 构建的用于 Java 和 Android 平台高效反射 API

    快速上手 更新日志

    轻量优雅

    拥有一套强大、优雅、人性化、完全使用 Kotlin lambda 打造的 API,可以帮你快速实现字节码的查找以及反射功能。

    可跨平台

    不仅仅是 Android 平台,它与 Java API 高度兼容,可使用在任何 Kotlin on JVM 的项目上,有 Java 的地方就可以使用。

    快速上手

    简单易用,不需要繁琐的配置,不需要十足的开发经验,搭建环境集成依赖即可立即开始使用。

    来吧!让反射也变得诗情画意

    public class World {
    +
    +    private void sayHello(String content) {
    +        System.out.println("Hello " + content + "!");
    +    }
    +}
    +
    val newWorld = World()
    +classOf<World>().method {
    +    name = "sayHello"
    +    param(StringClass)
    +    type = UnitType
    +}.get(newWorld).call("YukiReflection")
    +
    +