Files
YukiHookAPI/assets/HookParam.html-ArPvy40F.js
github-actions[bot] aac9e42e84 Deploy to GitHub pages
2025-08-02 18:17:09 +00:00

89 lines
57 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as s,o as a,c as o,a as e}from"./app-BpUB8-Q8.js";const n={},l=e(`<div class="custom-container warning"><p class="custom-container-title">注意</p><p>由于维护成本,<code>YukiHookAPI</code> 从 <code>1.3.0</code> 版本开始将不再会对此文档进行更新且在 <code>2.0.0</code> 版本切换为 Dokka 插件自动生成的 API 文档。</p></div><h1 id="hookparam-class" tabindex="-1"><a class="header-anchor" href="#hookparam-class" aria-hidden="true">#</a> HookParam <span class="symbol">- class</span></h1><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">HookParam</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">private</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">constructor</span><span style="color:#ADBAC7;">(</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">private</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> creatorInstance: </span><span style="color:#F69D50;">YukiMemberHookCreator</span><span style="color:#ADBAC7;">,</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">private</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> paramId: </span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">,</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">private</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> param: </span><span style="color:#F69D50;">YukiHookCallback</span><span style="color:#ADBAC7;">.Param?</span></span>
<span class="line"><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><code>v1.1.0</code> <code>修改</code></p><p>移动 <code>HookParamWrapper</code> 到 <code>YukiHookCallback.Param</code></p><p>修正拼写错误的 <strong>creater</strong> 命名到 <strong>creator</strong></p><p><code>v1.1.5</code> <code>修改</code></p><p>新增 <code>paramId</code> 参数</p><p><code>v1.2.0</code> <code>修改</code></p><p>不再开放构造方法</p><p><strong>功能描述</strong></p><blockquote><p>Hook 方法、构造方法的目标对象实现类。</p></blockquote><h2 id="args-field" tabindex="-1"><a class="header-anchor" href="#args-field" aria-hidden="true">#</a> args <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> args: </span><span style="color:#F69D50;">Array</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?&gt;</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p>在 <code>v1.0</code> 添加</p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象 <code>member</code> 或 <code>constructor</code> 的参数对象数组。</p></blockquote><p>这里的数组每项类型默认为 <code>Any</code>,你可以使用 <code>args</code> 方法来实现 <code>ArgsModifyer.cast</code> 功能。</p><h2 class="deprecated">firstArgs - field</h2><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><code>v1.0.75</code> <code>移除</code></p><p>请使用 <code>args(index = 0)</code> 或 <code>args().first()</code></p><h2 class="deprecated">lastArgs - field</h2><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><code>v1.0.75</code> <code>移除</code></p><p>请使用 <code>args().last()</code></p><h2 id="instance-field" tabindex="-1"><a class="header-anchor" href="#instance-field" aria-hidden="true">#</a> instance <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> instance: </span><span style="color:#F69D50;">Any</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 实例的对象。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。</p></div><p>如果你不确定当前实例的对象是否为 <code>null</code>,你可以使用 <code>instanceOrNull</code>。</p><h2 id="instanceornull-field" tabindex="-1"><a class="header-anchor" href="#instanceornull-field" aria-hidden="true">#</a> instanceOrNull <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> instanceOrNull: </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.8</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 实例的对象。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。</p></div><h2 id="instanceclass-field" tabindex="-1"><a class="header-anchor" href="#instanceclass-field" aria-hidden="true">#</a> instanceClass <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> instanceClass: </span><span style="color:#F69D50;">Class</span><span style="color:#ADBAC7;">&lt;*&gt;?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><code>v1.2.0</code> <code>修改</code></p><p>加入可空类型 (空安全)</p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 实例的类对象。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。</p></div><h2 id="member-field" tabindex="-1"><a class="header-anchor" href="#member-field" aria-hidden="true">#</a> member <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> member: </span><span style="color:#F69D50;">Member</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的 <code>Member</code>。</p></blockquote><p>在不确定 <code>Member</code> 类型为 <code>Method</code> 或 <code>Constructor</code> 时可以使用此方法。</p><h2 id="method-field" tabindex="-1"><a class="header-anchor" href="#method-field" aria-hidden="true">#</a> method <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> method: </span><span style="color:#F69D50;">Method</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的方法。</p></blockquote><h2 id="constructor-field" tabindex="-1"><a class="header-anchor" href="#constructor-field" aria-hidden="true">#</a> constructor <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> constructor: </span><span style="color:#F69D50;">Constructor</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的构造方法。</p></blockquote><h2 id="result-field" tabindex="-1"><a class="header-anchor" href="#result-field" aria-hidden="true">#</a> result <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">var</span><span style="color:#ADBAC7;"> result: </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>获取、设置当前 Hook 对象的 <code>method</code> 或 <code>constructor</code> 的返回值。</p></blockquote><h2 id="dataextra-field" tabindex="-1"><a class="header-anchor" href="#dataextra-field" aria-hidden="true">#</a> dataExtra <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> dataExtra: </span><span style="color:#F69D50;">Bundle</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.5</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前回调方法体范围内的数据存储实例。</p></blockquote><h2 id="hasthrowable-field" tabindex="-1"><a class="header-anchor" href="#hasthrowable-field" aria-hidden="true">#</a> hasThrowable <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> hasThrowable: </span><span style="color:#F69D50;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>判断是否存在设置过的方法调用抛出异常。</p></blockquote><h2 id="throwable-field" tabindex="-1"><a class="header-anchor" href="#throwable-field" aria-hidden="true">#</a> throwable <span class="symbol">- field</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> throwable: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取设置的方法调用抛出异常。</p></blockquote><h2 id="throwable-throwtoapp-i-ext-method" tabindex="-1"><a class="header-anchor" href="#throwable-throwtoapp-i-ext-method" aria-hidden="true">#</a> Throwable.throwToApp <span class="symbol">- i-ext-method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">throwToApp</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>向 Hook APP 抛出异常。</p></blockquote><p>使用 <code>hasThrowable</code> 判断当前是否存在被抛出的异常。</p><p>使用 <code>throwable</code> 获取当前设置的方法调用抛出异常。</p><p>仅会在回调方法的 <code>MemberHookCreator.before</code> 或 <code>MemberHookCreator.after</code> 中生效。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>设置后会同时执行 <strong>resultNull</strong> 方法并将异常抛出给当前 Hook APP。</p></div><p><strong>功能示例</strong></p><p>Hook 过程中的异常仅会作用于 (Xposed) 宿主环境,目标 Hook APP 不会受到影响。</p><p>若想将异常抛给 Hook APP可以直接使用如下方法。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">hook</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">before</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">RuntimeException</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;Test Exception&quot;</span><span style="color:#ADBAC7;">).</span><span style="color:#DCBDFB;">throwToApp</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>向 Hook APP 抛出异常<u><strong>会对其暴露被 Hook 的事实</strong></u>,是不安全的,容易被检测,请按实际场景合理使用。</p></div><h2 id="result-method" tabindex="-1"><a class="header-anchor" href="#result-method" aria-hidden="true">#</a> result <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">reified</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">result</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.75</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的 <code>method</code> 或 <code>constructor</code> 的返回值 <code>T</code>。</p></blockquote><h2 class="deprecated">firstArg - method</h2><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.75</code> <code>移除</code></p><h2 class="deprecated">lastArgs - method</h2><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.75</code> <code>移除</code></p><h2 id="instance-method" tabindex="-1"><a class="header-anchor" href="#instance-method" aria-hidden="true">#</a> instance <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">reified</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">instance</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">T</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 实例的对象 <code>T</code>。</p></blockquote><p><strong>功能示例</strong></p><p>你可以通过 <code>instance</code> 方法轻松使用泛型 <code>cast</code> 为目标对象的类型。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">instance</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">Activity</span><span style="color:#ADBAC7;">&gt;().</span><span style="color:#DCBDFB;">finish</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="instanceornull-method" tabindex="-1"><a class="header-anchor" href="#instanceornull-method" aria-hidden="true">#</a> instanceOrNull <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">reified</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">instanceOrNull</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.8</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 实例的对象 <code>T</code>。</p></blockquote><p><strong>功能示例</strong></p><p>用法请参考 <a href="#instance-method">instance</a> 方法。</p><h2 id="args-method" tabindex="-1"><a class="header-anchor" href="#args-method" aria-hidden="true">#</a> args <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">ArgsIndexCondition</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.75</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的 <code>method</code> 或 <code>constructor</code> 的参数数组下标实例化类。</p></blockquote><h2 id="args-method-1" tabindex="-1"><a class="header-anchor" href="#args-method-1" aria-hidden="true">#</a> args <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">(index: </span><span style="color:#F69D50;">Int</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">ArgsModifyer</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><code>v1.0.75</code> <code>修改</code></p><p>默认值 <code>index = 0</code> 移动到新的使用方法 <code>args().first()</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的 <code>method</code> 或 <code>constructor</code> 的参数实例化对象类。</p></blockquote><p><strong>功能示例</strong></p><p>你可以通过 <code>args</code> 方法修改当前 Hook 实例的方法、构造方法的参数内容。</p><p>你可以直接使用 <code>set</code> 方法设置 <code>param</code> 为你的目标实例,接受 <code>Any</code> 类型。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保 <strong>param</strong> 类型为你的目标实例类型。</p></div><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">(index </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">0</span><span style="color:#ADBAC7;">).</span><span style="color:#DCBDFB;">set</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;modify the value&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>你可以这样直接设置第一位 <code>param</code> 的值。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">first</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">set</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;modify the value&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>你还可以直接设置最后一位 <code>param</code> 的值。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">last</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">set</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;modify the value&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>你还可以使用 <code>setNull</code> 方法设置 <code>param</code> 为空。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">(index </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">1</span><span style="color:#ADBAC7;">).</span><span style="color:#DCBDFB;">setNull</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>你还可以使用 <code>setTrue</code> 方法设置 <code>param</code> 为 <code>true</code>。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保 <strong>param</strong> 类型为 <strong>Boolean</strong>。</p></div><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">(index </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">1</span><span style="color:#ADBAC7;">).</span><span style="color:#DCBDFB;">setTrue</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>你还可以使用 <code>setFalse</code> 方法设置 <code>param</code> 为 <code>false</code>。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保 <strong>param</strong> 类型为 <strong>Boolean</strong>。</p></div><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">args</span><span style="color:#ADBAC7;">(index </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">1</span><span style="color:#ADBAC7;">).</span><span style="color:#DCBDFB;">setFalse</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="calloriginal-method" tabindex="-1"><a class="header-anchor" href="#calloriginal-method" aria-hidden="true">#</a> callOriginal <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">callOriginal</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">callOriginal</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>执行原始 <code>Member</code>。</p></blockquote><p>调用自身未进行 Hook 的原始 <code>Member</code> 并调用原始参数执行。</p><p><strong>功能实例</strong></p><p>此方法可以 <code>invoke</code> 原始未经 Hook 的 <code>Member</code> 对象,取决于原始 <code>Member</code> 的参数。</p><p>调用自身原始的方法不会再经过当前 <code>before</code>、<code>after</code> 以及 <code>replaceUnit</code>、<code>replaceAny</code>。</p><p>比如我们 Hook 的这个方法被这样调用 <code>test(&quot;test value&quot;)</code>,使用此方法会调用其中的 <code>&quot;test value&quot;</code> 作为参数。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">method</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> name </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;test&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">param</span><span style="color:#ADBAC7;">(StringClass)</span></span>
<span class="line"><span style="color:#ADBAC7;"> returnType </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> StringClass</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">hook</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">after</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// &lt;方案1&gt; 不使用泛型,不获取方法执行结果,调用将使用原方法传入的 args 自动传参</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">callOriginal</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// &lt;方案2&gt; 使用泛型,已知方法执行结果参数类型进行 cast</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// 假设返回值为 String失败会返回 null调用将使用原方法传入的 args 自动传参</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">value</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">callOriginal</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">&gt;()</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="invokeoriginal-method" tabindex="-1"><a class="header-anchor" href="#invokeoriginal-method" aria-hidden="true">#</a> invokeOriginal <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">invokeOriginal</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> args: </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?): </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">invokeOriginal</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> args: </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?): </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><code>v1.1.0</code> <code>修改</code></p><p>不再需要使用 <code>member.invokeOriginal</code> 进行调用</p><p><strong>功能描述</strong></p><blockquote><p>执行原始 <code>Member</code>。</p></blockquote><p>调用自身未进行 Hook 的原始 <code>Member</code> 并自定义 <code>args</code> 执行。</p><p><strong>功能实例</strong></p><p>此方法可以 <code>invoke</code> 原始未经 Hook 的 <code>Member</code> 对象,可自定义需要调用的参数内容。</p><p>调用自身原始的方法不会再经过当前 <code>before</code>、<code>after</code> 以及 <code>replaceUnit</code>、<code>replaceAny</code>。</p><p>比如我们 Hook 的这个方法被这样调用 <code>test(&quot;test value&quot;)</code>,使用此方法可自定义其中的 <code>args</code> 作为参数。</p><blockquote><p>示例如下</p></blockquote><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">method</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> name </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;test&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">param</span><span style="color:#ADBAC7;">(StringClass)</span></span>
<span class="line"><span style="color:#ADBAC7;"> returnType </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> StringClass</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">hook</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">after</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// &lt;方案1&gt; 不使用泛型,不获取方法执行结果</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">invokeOriginal</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;test value&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// &lt;方案2&gt; 使用泛型,已知方法执行结果参数类型进行 cast假设返回值为 String失败会返回 null</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">value</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">invokeOriginal</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">String</span><span style="color:#ADBAC7;">&gt;(</span><span style="color:#96D0FF;">&quot;test value&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="resulttrue-method" tabindex="-1"><a class="header-anchor" href="#resulttrue-method" aria-hidden="true">#</a> resultTrue <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">resultTrue</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>设置当前 Hook 对象方法的 <code>result</code> 返回值为 <code>true</code>。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保 <strong>result</strong> 类型为 <strong>Boolean</strong>。</p></div><h2 id="resultfalse-method" tabindex="-1"><a class="header-anchor" href="#resultfalse-method" aria-hidden="true">#</a> resultFalse <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">resultFalse</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>设置当前 Hook 对象方法的 <code>result</code> 返回值为 <code>false</code>。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保 <strong>result</strong> 类型为 <strong>Boolean</strong>。</p></div><h2 id="resultnull-method" tabindex="-1"><a class="header-anchor" href="#resultnull-method" aria-hidden="true">#</a> resultNull <span class="symbol">- method</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">resultNull</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><div class="custom-container warning"><p class="custom-container-title">注意</p><p>此方法将强制设置 Hook 对象方法的 <strong>result</strong> 为 <strong>null</strong>。</p></div><h2 id="argsindexcondition-class" tabindex="-1"><a class="header-anchor" href="#argsindexcondition-class" aria-hidden="true">#</a> ArgsIndexCondition <span class="symbol">- class</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inner</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">ArgsIndexCondition</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">internal</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">constructor</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.75</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>对方法参数的数组下标进行实例化类。</p></blockquote><h3 id="first-method" tabindex="-1"><a class="header-anchor" href="#first-method" aria-hidden="true">#</a> first <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">first</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">ArgsModifyer</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.75</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的 <code>method</code> 或 <code>constructor</code> 的参数数组第一位。</p></blockquote><h3 id="last-method" tabindex="-1"><a class="header-anchor" href="#last-method" aria-hidden="true">#</a> last <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">last</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">ArgsModifyer</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.75</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获取当前 Hook 对象的 <code>method</code> 或 <code>constructor</code> 的参数数组最后一位。</p></blockquote><h2 id="argsmodifyer-class" tabindex="-1"><a class="header-anchor" href="#argsmodifyer-class" aria-hidden="true">#</a> ArgsModifyer <span class="symbol">- class</span></h2><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inner</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">ArgsModifyer</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">internal</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">constructor</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">private</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> index: </span><span style="color:#F69D50;">Int</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>对方法参数的修改进行实例化类。</p></blockquote><h3 id="cast-method" tabindex="-1"><a class="header-anchor" href="#cast-method" aria-hidden="true">#</a> cast <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">cast</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>of</code></s> 为 <code>cast</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 <code>T</code>。</p></blockquote><h3 id="byte-method" tabindex="-1"><a class="header-anchor" href="#byte-method" aria-hidden="true">#</a> byte <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">byte</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Byte</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.68</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Byte。</p></blockquote><h3 id="int-method" tabindex="-1"><a class="header-anchor" href="#int-method" aria-hidden="true">#</a> int <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">int</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofInt</code></s> 为 <code>int</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Int。</p></blockquote><h3 id="long-method" tabindex="-1"><a class="header-anchor" href="#long-method" aria-hidden="true">#</a> long <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">long</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Long</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofLong</code></s> 为 <code>long</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Long。</p></blockquote><h3 id="short-method" tabindex="-1"><a class="header-anchor" href="#short-method" aria-hidden="true">#</a> short <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">short</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Short</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofShort</code></s> 为 <code>short</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Short。</p></blockquote><h3 id="double-method" tabindex="-1"><a class="header-anchor" href="#double-method" aria-hidden="true">#</a> double <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">double</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Double</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofDouble</code></s> 为 <code>double</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Double。</p></blockquote><h3 id="float-method" tabindex="-1"><a class="header-anchor" href="#float-method" aria-hidden="true">#</a> float <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">float</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Float</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofFloat</code></s> 为 <code>float</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Float。</p></blockquote><h3 id="string-method" tabindex="-1"><a class="header-anchor" href="#string-method" aria-hidden="true">#</a> string <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">string</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">String</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofString</code></s> 为 <code>string</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 String。</p></blockquote><h3 id="char-method" tabindex="-1"><a class="header-anchor" href="#char-method" aria-hidden="true">#</a> char <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">char</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Char</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.68</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Char。</p></blockquote><h3 id="boolean-method" tabindex="-1"><a class="header-anchor" href="#boolean-method" aria-hidden="true">#</a> boolean <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">boolean</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Boolean</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.66</code> <code>新增</code></p><p><code>v1.0.68</code> <code>修改</code></p><p>修改 <s><code>ofBoolean</code></s> 为 <code>boolean</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Boolean。</p></blockquote><h3 id="any-method" tabindex="-1"><a class="header-anchor" href="#any-method" aria-hidden="true">#</a> any <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">any</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.77</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Any。</p></blockquote><h3 id="array-method" tabindex="-1"><a class="header-anchor" href="#array-method" aria-hidden="true">#</a> array <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">reified</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">array</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Array</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt;</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.68</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 Array。</p></blockquote><h3 id="list-method" tabindex="-1"><a class="header-anchor" href="#list-method" aria-hidden="true">#</a> list <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">inline</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">reified</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">list</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">List</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt;</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.68</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>得到方法参数的实例对象 List。</p></blockquote><h3 id="set-method" tabindex="-1"><a class="header-anchor" href="#set-method" aria-hidden="true">#</a> set <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> &lt;</span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">&gt; </span><span style="color:#DCBDFB;">set</span><span style="color:#ADBAC7;">(any: </span><span style="color:#F69D50;">T</span><span style="color:#ADBAC7;">?)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>设置方法参数的实例对象。</p></blockquote><h3 id="setnull-method" tabindex="-1"><a class="header-anchor" href="#setnull-method" aria-hidden="true">#</a> setNull <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setNull</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>设置方法参数的实例对象为 <code>null</code>。</p></blockquote><h3 id="settrue-method" tabindex="-1"><a class="header-anchor" href="#settrue-method" aria-hidden="true">#</a> setTrue <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setTrue</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>设置方法参数的实例对象为 <code>true</code>。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保目标对象的类型是 <strong>Boolean</strong>。</p></div><h3 id="setfalse-method" tabindex="-1"><a class="header-anchor" href="#setfalse-method" aria-hidden="true">#</a> setFalse <span class="symbol">- method</span></h3><div class="language-kotlin" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setFalse</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p>设置方法参数的实例对象为 <code>false</code>。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>请确保目标对象的类型是 <strong>Boolean</strong>。</p></div>`,377),p=[l];function c(t,r){return a(),o("div",null,p)}const i=s(n,[["render",c],["__file","HookParam.html.vue"]]);export{i as default};