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

89 lines
52 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,c as n,a}from"./app-BpUB8-Q8.js";const e={},l=a(`<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="constructorfinder-class" tabindex="-1"><a class="header-anchor" href="#constructorfinder-class" aria-hidden="true">#</a> ConstructorFinder <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;">ConstructorFinder</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;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> classSet: </span><span style="color:#F69D50;">Class</span><span style="color:#ADBAC7;">&lt;*&gt;) : </span><span style="color:#F69D50;">MemberBaseFinder</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.2</code> <code>修改</code></p><p>合并到 <code>BaseFinder</code></p><p><code>v1.1.0</code> <code>修改</code></p><p>合并到 <code>MemberBaseFinder</code></p><p><code>v1.1.8</code> <code>修改</code></p><p>移动 <code>hookInstance</code> 参数到 <code>MemberBaseFinder.MemberHookerManager</code></p><p><strong>功能描述</strong></p><blockquote><p><code>Constructor</code> 查找类。</p></blockquote><p>可通过指定类型查找指定 <code>Constructor</code> 或一组 <code>Constructor</code>。</p><h2 id="paramcount-field" tabindex="-1"><a class="header-anchor" href="#paramcount-field" aria-hidden="true">#</a> paramCount <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;"> paramCount: </span><span style="color:#F69D50;">Int</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.67</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>设置 <code>Constructor</code> 参数个数。</p></blockquote><p>你可以不使用 <code>param</code> 指定参数类型而是仅使用此变量指定参数个数。</p><p>若参数个数小于零则忽略并使用 <code>param</code>。</p><h2 id="modifiers-method" tabindex="-1"><a class="header-anchor" href="#modifiers-method" aria-hidden="true">#</a> modifiers <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;">modifiers</span><span style="color:#ADBAC7;">(conditions: </span><span style="color:#F69D50;">ModifierConditions</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">IndexTypeCondition</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.67</code> <code>新增</code></p><p><code>v1.0.80</code> <code>修改</code></p><p>将方法体进行 inline</p><p><code>v1.1.0</code> <code>修改</code></p><p>合并到 <code>ModifierConditions</code></p><p><strong>功能描述</strong></p><blockquote><p>设置 <code>Constructor</code> 标识符筛选条件。</p></blockquote><p>可不设置筛选条件,默认模糊查找并取第一个匹配的 <code>Constructor</code>。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>存在多个 <strong>IndexTypeCondition</strong> 时除了 <strong>order</strong> 只会生效最后一个。</p></div><h2 id="emptyparam-method" tabindex="-1"><a class="header-anchor" href="#emptyparam-method" aria-hidden="true">#</a> emptyParam <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;">emptyParam</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">IndexTypeCondition</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>设置 <code>Constructor</code> 空参数、无参数。</p></blockquote><h2 id="param-method" tabindex="-1"><a class="header-anchor" href="#param-method" aria-hidden="true">#</a> param <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;">param</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">vararg</span><span style="color:#ADBAC7;"> paramType: </span><span style="color:#F69D50;">Any</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">IndexTypeCondition</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>Constructor</code> 参数。</p></blockquote><p>如果同时使用了 <code>paramCount</code> 则 <code>paramType</code> 的数量必须与 <code>paramCount</code> 完全匹配。</p><p>如果 <code>Constructor</code> 中存在一些无意义又很长的类型,你可以使用 <a href="../../../type/defined/DefinedTypeFactory#vaguetype-field">VagueType</a> 来替代它。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>无参 <strong>Constructor</strong> 请使用 <strong>emptyParam</strong> 设置查找条件。</p><p>有参 <strong>Constructor</strong> 必须使用此方法设定参数或使用 <strong>paramCount</strong> 指定个数。</p><p>存在多个 <strong>IndexTypeCondition</strong> 时除了 <strong>order</strong> 只会生效最后一个。</p></div><h2 id="param-method-1" tabindex="-1"><a class="header-anchor" href="#param-method-1" aria-hidden="true">#</a> param <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;">param</span><span style="color:#ADBAC7;">(conditions: </span><span style="color:#F69D50;">ObjectsConditions</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">IndexTypeCondition</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>设置 <code>Constructor</code> 参数条件。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>无参 <strong>Constructor</strong> 请使用 <strong>emptyParam</strong> 设置查找条件。</p><p>有参 <strong>Constructor</strong> 必须使用此方法设定参数或使用 <strong>paramCount</strong> 指定个数。</p><p>存在多个 <strong>IndexTypeCondition</strong> 时除了 <strong>order</strong> 只会生效最后一个。</p></div><h2 id="paramcount-method" tabindex="-1"><a class="header-anchor" href="#paramcount-method" aria-hidden="true">#</a> paramCount <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;">paramCount</span><span style="color:#ADBAC7;">(num: </span><span style="color:#F69D50;">Int</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">IndexTypeCondition</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.70</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>设置 <code>Constructor</code> 参数个数。</p></blockquote><p>你可以不使用 <code>param</code> 指定参数类型而是仅使用此方法指定参数个数。</p><p>若参数个数小于零则忽略并使用 <code>param</code>。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>存在多个 <strong>IndexTypeCondition</strong> 时除了 <strong>order</strong> 只会生效最后一个。</p></div><h2 id="paramcount-method-1" tabindex="-1"><a class="header-anchor" href="#paramcount-method-1" aria-hidden="true">#</a> paramCount <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;">paramCount</span><span style="color:#ADBAC7;">(numRange: </span><span style="color:#F69D50;">IntRange</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">IndexTypeCondition</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>Constructor</code> 参数个数范围。</p></blockquote><p>你可以不使用 <code>param</code> 指定参数类型而是仅使用此方法指定参数个数范围。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>存在多个 <strong>IndexTypeCondition</strong> 时除了 <strong>order</strong> 只会生效最后一个。</p></div><h2 id="paramcount-method-2" tabindex="-1"><a class="header-anchor" href="#paramcount-method-2" aria-hidden="true">#</a> paramCount <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;">paramCount</span><span style="color:#ADBAC7;">(conditions: </span><span style="color:#F69D50;">CountConditions</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">IndexTypeCondition</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>Constructor</code> 参数个数条件。</p></blockquote><p>你可以不使用 <code>param</code> 指定参数类型而是仅使用此方法指定参数个数条件。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>存在多个 <strong>IndexTypeCondition</strong> 时除了 <strong>order</strong> 只会生效最后一个。</p></div><h2 id="superclass-method" tabindex="-1"><a class="header-anchor" href="#superclass-method" aria-hidden="true">#</a> superClass <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;">superClass</span><span style="color:#ADBAC7;">(isOnlySuperClass: </span><span style="color:#F69D50;">Boolean</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.80</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>设置在 <code>classSet</code> 的所有父类中查找当前 <code>Constructor</code>。</p></blockquote><div class="custom-container warning"><p class="custom-container-title">注意</p><p>若当前 <strong>classSet</strong> 的父类较多可能会耗时API 会自动循环到父类继承是 <strong>Any</strong> 前的最后一个类。</p></div><h2 id="remedyplan-class" tabindex="-1"><a class="header-anchor" href="#remedyplan-class" aria-hidden="true">#</a> RemedyPlan <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;">RemedyPlan</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</code> <code>添加</code></p><p><strong>功能描述</strong></p><blockquote><p><code>Constructor</code> 重查找实现类,可累计失败次数直到查找成功。</p></blockquote><h3 id="constructor-method" tabindex="-1"><a class="header-anchor" href="#constructor-method" aria-hidden="true">#</a> constructor <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;"> </span><span style="color:#DCBDFB;">constructor</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">ConstructorConditions</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.0.80</code> <code>修改</code></p><p>将方法体进行 inline</p><p><strong>功能描述</strong></p><blockquote><p>创建需要重新查找的 <code>Constructor</code>。</p></blockquote><p>你可以添加多个备选 <code>Constructor</code>,直到成功为止,若最后依然失败,将停止查找并输出错误日志。</p><h3 id="result-class" tabindex="-1"><a class="header-anchor" href="#result-class" aria-hidden="true">#</a> Result <span class="symbol">- class</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;">inner</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Result</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.1</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p><code>RemedyPlan</code> 结果实现类。</p></blockquote><h4 id="onfind-method" tabindex="-1"><a class="header-anchor" href="#onfind-method" aria-hidden="true">#</a> onFind <span class="symbol">- method</span></h4><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;">onFind</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">MutableList</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">Constructor</span><span style="color:#ADBAC7;">&lt;*&gt;&gt;.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.1</code> <code>新增</code></p><p><code>v1.1.0</code> <code>修改</code></p><p><code>initiate</code> 参数 <code>Constructor</code> 变为 <code>HashSet&lt;Constructor&gt;</code></p><p><code>v1.2.0</code> <code>修改</code></p><p><code>initiate</code> 类型由 <code>HashSet</code> 修改为 <code>MutableList</code></p><p><strong>功能描述</strong></p><blockquote><p>当在 <code>RemedyPlan</code> 中找到结果时。</p></blockquote><p><strong>功能示例</strong></p><p>你可以方便地对重查找的 <code>Constructor</code> 实现 <code>onFind</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">onFind</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</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><h2 id="process-class" tabindex="-1"><a class="header-anchor" href="#process-class" aria-hidden="true">#</a> Process <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;">Process</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;">internal</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isNoSuch: </span><span style="color:#F69D50;">Boolean</span><span style="color:#ADBAC7;">, </span><span style="color:#F47067;">internal</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> throwable: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?) : </span><span style="color:#F69D50;">BaseResult</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>Constructor</code> 查找结果处理类,为 <code>hookManager</code> 提供。</p></blockquote><h3 id="result-method" tabindex="-1"><a class="header-anchor" href="#result-method" aria-hidden="true">#</a> result <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;"> </span><span style="color:#DCBDFB;">result</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">Process</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit): </span><span style="color:#F69D50;">Process</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><p><strong>功能示例</strong></p><p>你可以使用 <strong>lambda</strong> 形式创建 <code>Result</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">result</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">all</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">remedys</span><span style="color:#ADBAC7;"> {}</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onNoSuchConstructor</span><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></div><h3 id="all-method" tabindex="-1"><a class="header-anchor" href="#all-method" aria-hidden="true">#</a> all <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;">all</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Process</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>Constructor</code> 实例结果到 <code>hookManager</code>。</p></blockquote><h3 id="remedys-method" tabindex="-1"><a class="header-anchor" href="#remedys-method" aria-hidden="true">#</a> remedys <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;"> </span><span style="color:#DCBDFB;">remedys</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">RemedyPlan</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit): </span><span style="color:#F69D50;">Result</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>Constructor</code> 重查找功能。</p></blockquote><p><strong>功能示例</strong></p><p>当你遇到一种 <code>Constructor</code> 可能存在不同形式的存在时,可以使用 <code>RemedyPlan</code> 重新查找它,而没有必要使用 <code>onNoSuchConstructor</code> 捕获异常二次查找 <code>Constructor</code>。</p><p>若第一次查找失败了,你还可以在这里继续添加此方法体直到成功为止。</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">remedys</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><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:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><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:#768390;">// Your code here.</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></div><h3 id="onnosuchconstructor-method" tabindex="-1"><a class="header-anchor" href="#onnosuchconstructor-method" aria-hidden="true">#</a> onNoSuchConstructor <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;"> </span><span style="color:#DCBDFB;">onNoSuchConstructor</span><span style="color:#ADBAC7;">(result: (</span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">) -&gt; </span><span style="color:#F69D50;">Unit</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">Result</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>Constructor</code> 时。</p></blockquote><p>只会返回第一次的错误信息,不会返回 <code>RemedyPlan</code> 的错误信息。</p><h2 id="result-class-1" tabindex="-1"><a class="header-anchor" href="#result-class-1" aria-hidden="true">#</a> Result <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;">Result</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;">internal</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> isNoSuch: </span><span style="color:#F69D50;">Boolean</span><span style="color:#ADBAC7;">, </span><span style="color:#F47067;">internal</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> throwable: </span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">?) : </span><span style="color:#F69D50;">BaseResult</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>BaseResult</code></p><p><strong>功能描述</strong></p><blockquote><p><code>Constructor</code> 查找结果实现类。</p></blockquote><h3 id="result-method-1" tabindex="-1"><a class="header-anchor" href="#result-method-1" aria-hidden="true">#</a> result <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;"> </span><span style="color:#DCBDFB;">result</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">Result</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit): </span><span style="color:#F69D50;">Result</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.80</code> <code>修改</code></p><p>将方法体进行 inline</p><p><strong>功能描述</strong></p><blockquote><p>创建监听结果事件方法体。</p></blockquote><p><strong>功能示例</strong></p><p>你可以使用 <strong>lambda</strong> 形式创建 <code>Result</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">result</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">get</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">call</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">all</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">remedys</span><span style="color:#ADBAC7;"> {}</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onNoSuchConstructor</span><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></div><h3 id="get-method" tabindex="-1"><a class="header-anchor" href="#get-method" aria-hidden="true">#</a> get <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;">get</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Instance</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.2</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获得 <code>Constructor</code> 实例处理类。</p></blockquote><p>若有多个 <code>Constructor</code> 结果只会返回第一个。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>若你设置了 <strong>remedys</strong> 请使用 <strong>wait</strong> 回调结果方法。</p></div><p><strong>功能示例</strong></p><p>你可以通过获得方法所在实例来执行构造方法创建新的实例对象。</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">get</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">call</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 class="line-number"></div><div class="line-number"></div></div></div><p>你可以 <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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">get</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">newInstance</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">TestClass</span><span style="color:#ADBAC7;">&gt;()</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></div><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>若构造方法含有参数则后方参数必填。</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">get</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">newInstance</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">TestClass</span><span style="color:#ADBAC7;">&gt;(</span><span style="color:#96D0FF;">&quot;param1&quot;</span><span style="color:#ADBAC7;">, </span><span style="color:#96D0FF;">&quot;param2&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 class="line-number"></div><div class="line-number"></div></div></div><h3 id="all-method-1" tabindex="-1"><a class="header-anchor" href="#all-method-1" aria-hidden="true">#</a> all <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;">all</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">MutableList</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">Instance</span><span style="color:#ADBAC7;">&gt;</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><code>v1.2.0</code> <code>修改</code></p><p>返回值类型由 <code>ArrayList</code> 修改为 <code>MutableList</code></p><p><strong>功能描述</strong></p><blockquote><p>获得 <code>Constructor</code> 实例处理类数组。</p></blockquote><p>返回全部查找条件匹配的多个 <code>Constructor</code> 实例结果。</p><p><strong>功能示例</strong></p><p>你可以通过此方法来获得当前条件结果中匹配的全部 <code>Constructor</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">all</span><span style="color:#ADBAC7;">().</span><span style="color:#DCBDFB;">forEach</span><span style="color:#ADBAC7;"> { instance </span><span style="color:#F47067;">-&gt;</span></span>
<span class="line"><span style="color:#ADBAC7;"> instance.</span><span style="color:#DCBDFB;">call</span><span style="color:#ADBAC7;">(</span><span style="color:#F47067;">..</span><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><h3 id="give-method" tabindex="-1"><a class="header-anchor" href="#give-method" aria-hidden="true">#</a> give <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;">give</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Constructor</span><span style="color:#ADBAC7;">&lt;*&gt;?</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.67</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>得到 <code>Constructor</code> 本身。</p></blockquote><p>若有多个 <code>Constructor</code> 结果只会返回第一个。</p><p>在查找条件找不到任何结果的时候将返回 <code>null</code>。</p><h3 id="giveall-method" tabindex="-1"><a class="header-anchor" href="#giveall-method" aria-hidden="true">#</a> giveAll <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;">giveAll</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">MutableList</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">Constructor</span><span style="color:#ADBAC7;">&lt;*&gt;&gt;</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><code>v1.2.0</code> <code>修改</code></p><p>返回值类型由 <code>HashSet</code> 修改为 <code>MutableList</code></p><p><strong>功能描述</strong></p><blockquote><p>得到 <code>Constructor</code> 本身数组。</p></blockquote><p>返回全部查找条件匹配的多个 <code>Constructor</code> 实例。</p><p>在查找条件找不到任何结果的时候将返回空的 <code>MutableList</code>。</p><h3 id="wait-method" tabindex="-1"><a class="header-anchor" href="#wait-method" aria-hidden="true">#</a> wait <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;">wait</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">Instance</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.2</code> <code>新增</code></p><p><strong>功能描述</strong></p><blockquote><p>获得 <code>Constructor</code> 实例处理类,配合 <code>RemedyPlan</code> 使用。</p></blockquote><p>若有多个 <code>Constructor</code> 结果只会返回第一个。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>若你设置了 <strong>remedys</strong> 必须使用此方法才能获得结果。</p><p>若你没有设置 <strong>remedys</strong> 此方法将不会被回调。</p></div><h3 id="waitall-method" tabindex="-1"><a class="header-anchor" href="#waitall-method" aria-hidden="true">#</a> waitAll <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;">waitAll</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">MutableList</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">Instance</span><span style="color:#ADBAC7;">&gt;.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.1.0</code> <code>新增</code></p><p><code>v1.2.0</code> <code>修改</code></p><p><code>initiate</code> 类型由 <code>ArrayList</code> 修改为 <code>MutableList</code></p><p><strong>功能描述</strong></p><blockquote><p>获得 <code>Constructor</code> 实例处理类数组,配合 <code>RemedyPlan</code> 使用。</p></blockquote><p>返回全部查找条件匹配的多个 <code>Constructor</code> 实例结果。</p><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>若你设置了 <strong>remedys</strong> 必须使用此方法才能获得结果。</p><p>若你没有设置 <strong>remedys</strong> 此方法将不会被回调。</p></div><h3 id="remedys-method-1" tabindex="-1"><a class="header-anchor" href="#remedys-method-1" aria-hidden="true">#</a> remedys <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;"> </span><span style="color:#DCBDFB;">remedys</span><span style="color:#ADBAC7;">(initiate: </span><span style="color:#F69D50;">RemedyPlan</span><span style="color:#ADBAC7;">.() </span><span style="color:#F47067;">-&gt;</span><span style="color:#ADBAC7;"> Unit): </span><span style="color:#F69D50;">Result</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.80</code> <code>修改</code></p><p>将方法体进行 inline</p><p><strong>功能描述</strong></p><blockquote><p>创建 <code>Constructor</code> 重查找功能。</p></blockquote><p><strong>功能示例</strong></p><p>当你遇到一种 <code>Constructor</code> 可能存在不同形式的存在时,可以使用 <code>RemedyPlan</code> 重新查找它,而没有必要使用 <code>onNoSuchConstructor</code> 捕获异常二次查找 <code>Constructor</code>。</p><p>若第一次查找失败了,你还可以在这里继续添加此方法体直到成功为止。</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;">constructor</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">remedys</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><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:#768390;">// Your code here.</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><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:#768390;">// Your code here.</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></div><h3 id="onnosuchconstructor-method-1" tabindex="-1"><a class="header-anchor" href="#onnosuchconstructor-method-1" aria-hidden="true">#</a> onNoSuchConstructor <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;"> </span><span style="color:#DCBDFB;">onNoSuchConstructor</span><span style="color:#ADBAC7;">(result: (</span><span style="color:#F69D50;">Throwable</span><span style="color:#ADBAC7;">) -&gt; </span><span style="color:#F69D50;">Unit</span><span style="color:#ADBAC7;">): </span><span style="color:#F69D50;">Result</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.80</code> <code>修改</code></p><p>将方法体进行 inline</p><p><strong>功能描述</strong></p><blockquote><p>监听找不到 <code>Constructor</code> 时。</p></blockquote><p>只会返回第一次的错误信息,不会返回 <code>RemedyPlan</code> 的错误信息。</p><h3 id="ignored-method" tabindex="-1"><a class="header-anchor" href="#ignored-method" aria-hidden="true">#</a> ignored <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;">ignored</span><span style="color:#ADBAC7;">(): </span><span style="color:#F69D50;">Result</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><p>若 <code>MemberBaseFinder.MemberHookerManager.isNotIgnoredNoSuchMemberFailure</code> 为 <code>false</code> 则自动忽略。</p><div class="custom-container warning"><p class="custom-container-title">注意</p><p>此时若要监听异常结果,你需要手动实现 <strong>onNoSuchConstructor</strong> 方法。</p></div><h3 class="deprecated">ignoredError - method</h3><p><strong>变更记录</strong></p><p><code>v1.0.3</code> <code>新增</code></p><p><code>v1.1.0</code> <code>作废</code></p><p>请迁移到新方法 <code>ignored()</code></p><h3 id="instance-class" tabindex="-1"><a class="header-anchor" href="#instance-class" aria-hidden="true">#</a> Instance <span class="symbol">- class</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;">inner</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">Instance</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;"> constructor: </span><span style="color:#F69D50;">Constructor</span><span style="color:#ADBAC7;">&lt;*&gt;?)</span></span>
<span class="line"></span></code></pre></div><p><strong>变更记录</strong></p><p><code>v1.0.2</code> <code>新增</code></p><p><code>v1.1.0</code> <code>修改</code></p><p>新增 <code>constructor</code> 参数</p><p><strong>功能描述</strong></p><blockquote><p><code>Constructor</code> 实例处理类。</p></blockquote><h4 id="call-method" tabindex="-1"><a class="header-anchor" href="#call-method" aria-hidden="true">#</a> call <span class="symbol">- method</span></h4><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;">call</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><p><strong>变更记录</strong></p><p><code>v1.0.2</code> <code>新增</code></p><p><code>v1.1.6</code> <code>修改</code></p><p>修改参数命名 <code>param</code> 为 <code>args</code></p><p><strong>功能描述</strong></p><blockquote><p>执行 <code>Constructor</code> 创建目标实例,不指定目标实例类型。</p></blockquote><h4 id="newinstance-method" tabindex="-1"><a class="header-anchor" href="#newinstance-method" aria-hidden="true">#</a> newInstance <span class="symbol">- method</span></h4><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;">newInstance</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.2</code> <code>新增</code></p><p><code>v1.1.6</code> <code>修改</code></p><p>修改参数命名 <code>param</code> 为 <code>args</code></p><p><strong>功能描述</strong></p><blockquote><p>执行 <code>Constructor</code> 创建目标实例 ,指定 <code>T</code> 目标实例类型。</p></blockquote>`,309),p=[l];function c(t,r){return o(),n("div",null,p)}const i=s(e,[["render",c],["__file","ConstructorFinder.html.vue"]]);export{i as default};