You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs-source/src/en/about/future.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,22 @@
1
-
# Looking for Future
1
+
# Looking Toward the Future
2
2
3
-
> The future is bright and uncertain, let us look forward to the future development space of `KavaRef`.
3
+
> The future is bright and uncertain, let us look forward to the future development potential of `KavaRef`.
4
4
5
5
## Future Plans
6
6
7
7
> Features that `KavaRef` may add later are included here.
8
8
9
-
### Supports Class Filtering through ClassLoader
9
+
### Support Class Filtering through ClassLoader
10
10
11
11
`KavaRef` currently only supports search and calls for reflection APIs such as `Method`, `Field`, and `Constructor`.
12
-
In the future, the ability to filter `Class` by specified type `ClassLoader` may be supported in Java and Android platforms according to requirements.
12
+
In the future, the ability to filter `Class` by specified `ClassLoader`type may be supported on Java and Android platforms according to requirements.
13
13
14
-
Currently, you can use [DexKit](https://github.com/LuckyPray/DexKit) to complete this requirement,
15
-
which also supports more complex searches and calls of reflective APIs such as Method, Field, and Constructor.
14
+
Currently, you can use [DexKit](https://github.com/LuckyPray/DexKit) to fulfill this requirement,
15
+
which also supports more complex searches and calls for reflective APIs such as Method, Field, and Constructor.
16
16
17
17
### Automatically Generate Reflection Code
18
18
19
-
**This is a feature that has been initially established in [YukiReflection](https://github.com/HighCapable/YukiReflection), and `KavaRef` is ready to continue to implement it in the possible time in the future.**
19
+
**This is a feature that was initially established in [YukiReflection](https://github.com/HighCapable/YukiReflection), and `KavaRef` is ready to continue implementing it at some point in the future.**
20
20
21
21
Use `stub` to create a Kotlin class, and declare the parameters in it, as well as its different states in each version.
22
22
@@ -66,7 +66,7 @@ MyClass().resolve().apply {
66
66
}
67
67
```
68
68
69
-
The function to be implemented at present can be directly defined as the following Kotlin class using the reflection function.
69
+
The function to be implemented can currently be directly defined as the following Kotlin class using the reflection functionality.
70
70
71
71
> The following example
72
72
@@ -90,7 +90,7 @@ class MyClass {
90
90
}
91
91
```
92
92
93
-
Then we can directly call this defined Kotlin class to implement the reflection function, and the API will automatically generate the reflection code according to the annotation.
93
+
Then we can directly call this defined Kotlin class to implement the reflection functionality, and the API will automatically generate the reflection code according to the annotations.
94
94
95
95
> The following example
96
96
@@ -109,6 +109,6 @@ MyClass().also {
109
109
110
110
::: tip
111
111
112
-
The above functions may change after the actual release, and the functions of the actual version shall prevail.
112
+
The above functions may change after the actual release, and the features of the actual version shall prevail.
Copy file name to clipboardExpand all lines: docs-source/src/en/config/migration.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,30 +73,30 @@ myClass.current().method {
73
73
</div>
74
74
</div>
75
75
76
-
`KavaRef` starts reflection at any time, you need to use `resolve()` to create a reflection scope.
77
-
You no longer directly extend the related `method` and `constructor` methods to avoid contaminating their scope.
76
+
`KavaRef` starts reflection at any time; you need to use `resolve()` to create a reflection scope.
77
+
You no longer directly extend the related `method` and `constructor` methods to avoid polluting their scope.
78
78
79
79
`KavaRef` provides the `asResolver()` method to directly reference the reflection scope of the instance object,
80
-
avoiding contamination caused by the creation of uncontrollable instance objects by the `current()` method in `YukiReflection`.
80
+
avoiding pollution caused by the creation of uncontrollable instance objects by the `current()` method in `YukiReflection`.
81
81
82
-
`KavaRef` abandons the "Finder" design concept and uses the "Filter" design concept to obtain reflected results.
83
-
"Find" is no longer a finding, but a "filtering".
82
+
`KavaRef` abandons the "Finder" design concept and uses the "Filter" design concept to obtain reflection results.
83
+
"Find" is no longer finding, but "filtering".
84
84
85
-
`KavaRef` canceled the `YukiReflection`defined in the resulting instance whether the `Member` obtained is a multiple or a single design scheme,
85
+
`KavaRef` canceled the design scheme defined in `YukiReflection` for determining whether the `Member` obtained in the resulting instance is multiple or single,
86
86
and directly returns the entire `List<MemberResolver>`.
87
-
The example you see above uses `firstMethod` to get the first match`MethodResolver`,
88
-
if you need to get all matches, you can change to `method`.
87
+
The example you see above uses `firstMethod` to get the first matching`MethodResolver`.
88
+
If you need to get all matches, you can change to `method`.
89
89
90
-
The conditional method name of `KavaRef` in `MethodCondition` has been modified from abbreviation
91
-
such as `param`before `YukiReflection` to `parameters` to more in line with the naming habit of Java reflection API.
90
+
The conditional method name in `MethodCondition` of `KavaRef` has been modified from abbreviations
91
+
such as `param`used previously in `YukiReflection` to `parameters` to better align with the naming conventions of the Java reflection API.
92
92
93
-
`KavaRef` no longer provides the `param(...).order()` function in the condition, because this function itself is unstable.
94
-
`KavaRef` now uses an iterator for filtering, and the bytecode will no longer be in order, and the bytecode should not be filtered in order.
95
-
You can use `firstMethod`, `firstField`, or `lastMethod`, `lastField`, etc. to get the first or last match result.
93
+
`KavaRef` no longer provides the `param(...).order()` function in conditions, because this function itself is unstable.
94
+
`KavaRef` now uses an iterator for filtering, and the bytecode will no longer be in order, nor should bytecode be filtered by order.
95
+
You can use `firstMethod`, `firstField`, or `lastMethod`, `lastField`, etc. to get the first or last matching result.
96
96
97
-
`KavaRef` renames the `get(instance)` method to `of(instance)` because `get(...)` may be confused with the `get(...)` usage of `Field` and is not semantic,
98
-
At the same time, `get(instance)`is no longer getting the `MethodFinder.Result.Instance` instance from something like `MethodFinder.Result`,
99
-
but uses `of(instance)` to always operate and set the instance object to `MemberResolver`.
97
+
`KavaRef` renames the `get(instance)` method to `of(instance)` because `get(...)` may be confused with the `get(...)` usage of `Field` and lacks semantic clarity.
98
+
At the same time, `get(instance)` no longer gets the `MethodFinder.Result.Instance` instance from something like `MethodFinder.Result`,
99
+
but uses `of(instance)` to consistently operate and set the instance object to `MemberResolver`.
100
100
101
101
Methods such as `string()`, `int()`, etc. in `MethodFinder.Result.Instance` have been removed in `KavaRef`.
102
102
You can directly use `get<String>()`, `get<Int>()`, `invoke<String>(...)`, `invoke<Int>(...)`, etc. to get or call the corresponding type results.
> `KavaRef` is a modern Java reflection API implemented using Kotlin.
4
4
@@ -10,37 +10,37 @@ reflection.
10
10
The project icon is designed by [MaiTungTM](https://github.com/Lagrio) and is named from **K**otlinJ**avaRef**lection, meaning Java reflection
11
11
implemented using Kotlin.
12
12
13
-
It was firstborn in the [YukiHookAPI](https://github.com/HighCapable/YukiHookAPI), and was later decoupled into
13
+
It was first born in the [YukiHookAPI](https://github.com/HighCapable/YukiHookAPI), and was later decoupled into
14
14
the [YukiReflection](https://github.com/HighCapable/YukiReflection) project.
15
15
16
-
As you can see, now `KavaRef` is a completely new set of APIs completely refactored with the design idea of `YukiReflection`,
16
+
As you can see, `KavaRef` is now a completely new set of APIs, completely refactored with the design ideas of `YukiReflection`,
17
17
which has no affiliation and will replace `YukiReflection` as a new reflection solution.
18
18
19
19
If you are using `YukiReflection` or the `YukiHookAPI` project related to it, you can refer to [here](../config/migration) to migrate the reflection API to `KavaRef`.
20
20
21
21
## Usage
22
22
23
-
`KavaRef` is built in Kotlin **lambda** syntax with Java Builder style.
23
+
`KavaRef` is built with Kotlin **lambda** syntax in a Java Builder style.
24
24
25
-
It can replace [Java's native Reflection API](https://www.oracle.com/technical-resources/articles/java/javareflection.html) and implement a more complete reflection solution in a more human-friendly language.
25
+
It can replace [Java's native Reflection API](https://www.oracle.com/technical-resources/articles/java/javareflection.html) and implement a more complete reflection solution with a more human-friendly language.
26
26
27
27
## Skill Requirements
28
28
29
-
You must be proficient in Java's native reflection APIs, understand Java's class loading mechanisms, bytecode structures, and how they are used in Kotlin (if you are using Kotlin).
29
+
You should be proficient with Java's native reflection APIs, understand Java's class loading mechanisms, bytecode structures, and how they are used in Kotlin (if you are using Kotlin).
30
30
31
31
## Language Requirement
32
32
33
-
It is recommended to use Kotlin. API code composition also supports Java,
34
-
but in pure Java projects `KavaRef` may not be able to play its full functionality and syntactic sugar advantages.
33
+
It is recommended to use Kotlin. API composition also supports Java,
34
+
but in pure Java projects,`KavaRef` may not be able to demonstrate its full functionality and syntactic sugar advantages.
35
35
36
-
All the demo sample code in the documentation will be described first using Kotlin.
37
-
If you don't know how to use Kotlin at all, you may not be able to experience and use the functionality of `KavaRef` more fully.
36
+
All the demo sample code in the documentation will be described using Kotlin first.
37
+
If you don't know how to use Kotlin at all, you may not be able to fully experience and use the functionality of `KavaRef`.
38
38
39
39
## Contribution
40
40
41
41
The maintenance of this project is inseparable from the support and contributions of all developers.
42
42
43
43
This project is currently in its early stages, and there may still be some problems or lack of functions you need.
44
44
45
-
If possible, feel free to submit a PR to contribute features you think are needed to this project or goto[GitHub Issues](repo://issues)
45
+
If possible, feel free to submit a PR to contribute features you think are needed to this project or go to[GitHub Issues](repo://issues)
Copy file name to clipboardExpand all lines: docs-source/src/en/guide/quick-start.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@
4
4
5
5
## Project Requirements
6
6
7
-
The project needs to be created using `IntelliJ IDEA` or `Android Studio` and be of type Java or Android
8
-
project and have integrated Kotlin environment dependencies.
7
+
The project needs to be created using `IntelliJ IDEA` or `Android Studio` and should be a Java or Android
8
+
project with integrated Kotlin environment dependencies.
9
9
10
10
- IntelliJ IDEA (It is recommended to get the latest version [from here](https://www.jetbrains.com/idea))
11
11
@@ -93,5 +93,5 @@ Click the corresponding module below to view detailed feature descriptions.
93
93
94
94
## Demo
95
95
96
-
You can find some samples [here](repo://tree/main/samples) view the corresponding demo project to better understand how these functions work and quickly
96
+
You can find some samples [here](repo://tree/main/samples) to view the corresponding demo projects to better understand how these functions work and quickly
Copy file name to clipboardExpand all lines: docs-source/src/en/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,8 +14,8 @@ features:
14
14
details: A powerful, elegant, beautiful API built with Kotlin lambda can help you quickly implement bytecode filtering and reflection functions.
15
15
- title: Fully Compatible
16
16
details: Using native Java APIs to implement reflection functionality, it can be used on any Kotlin on JVM project, and it is no problem on Android.
17
-
- title: Quickly Started
18
-
details: Simple and easy to use it now! Do not need complex configuration and full development experience, Integrate dependencies and enjoy yourself.
17
+
- title: Quick to Start
18
+
details: Simple and easy to use right now! No complex configuration or extensive development experience required. Just integrate the dependencies and enjoy!
0 commit comments