Files
pardeike-Harmony/docs/api/HarmonyLib.CodeInstruction.html
Andreas Pardeike 0072943ba5 draft for docs
2025-08-23 00:31:53 +02:00

1291 lines
50 KiB
HTML

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class CodeInstruction
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class CodeInstruction
">
<meta name="generator" content="docfx 2.48.1.0">
<link rel="shortcut icon" href="../favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="../toc.html">
<meta property="docfx:tocrel" content="toc.html">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../logo.svg" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="HarmonyLib.CodeInstruction">
<h1 id="HarmonyLib_CodeInstruction" data-uid="HarmonyLib.CodeInstruction" class="text-break">Class CodeInstruction
</h1>
<div class="markdown level0 summary"><p>An abstract wrapper around OpCode and their operands. Used by transpilers</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><span class="xref">CodeInstruction</span></div>
<div class="level2"><a class="xref" href="HarmonyLib.CodeMatch.html">CodeMatch</a></div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="HarmonyLib.html">HarmonyLib</a></h6>
<h6><strong>Assembly</strong>: 0Harmony.dll</h6>
<h5 id="HarmonyLib_CodeInstruction_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class CodeInstruction</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<a id="HarmonyLib_CodeInstruction__ctor_" data-uid="HarmonyLib.CodeInstruction.#ctor*"></a>
<h4 id="HarmonyLib_CodeInstruction__ctor_HarmonyLib_CodeInstruction_" data-uid="HarmonyLib.CodeInstruction.#ctor(HarmonyLib.CodeInstruction)">CodeInstruction(CodeInstruction)</h4>
<div class="markdown level1 summary"><p>Create a full copy (including labels and exception blocks) of a CodeInstruction</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction(CodeInstruction instruction)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><span class="parametername">instruction</span></td>
<td><p>The <a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a> to copy</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction__ctor_" data-uid="HarmonyLib.CodeInstruction.#ctor*"></a>
<h4 id="HarmonyLib_CodeInstruction__ctor_System_Reflection_Emit_OpCode_System_Object_" data-uid="HarmonyLib.CodeInstruction.#ctor(System.Reflection.Emit.OpCode,System.Object)">CodeInstruction(OpCode, Object)</h4>
<div class="markdown level1 summary"><p>Creates a new CodeInstruction with a given opcode and optional operand</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction(OpCode opcode, object operand = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Reflection.Emit.OpCode</span></td>
<td><span class="parametername">opcode</span></td>
<td><p>The opcode</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">operand</span></td>
<td><p>The operand</p>
</td>
</tr>
</tbody>
</table>
<h3 id="fields">Fields
</h3>
<h4 id="HarmonyLib_CodeInstruction_blocks" data-uid="HarmonyLib.CodeInstruction.blocks">blocks</h4>
<div class="markdown level1 summary"><p>All exception block boundaries defined on this instruction</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public List&lt;ExceptionBlock&gt; blocks</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.List</span>&lt;<a class="xref" href="HarmonyLib.ExceptionBlock.html">ExceptionBlock</a>&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="HarmonyLib_CodeInstruction_labels" data-uid="HarmonyLib.CodeInstruction.labels">labels</h4>
<div class="markdown level1 summary"><p>All labels defined on this instruction</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public List&lt;Label&gt; labels</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.List</span>&lt;<span class="xref">System.Reflection.Emit.Label</span>&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="HarmonyLib_CodeInstruction_opcode" data-uid="HarmonyLib.CodeInstruction.opcode">opcode</h4>
<div class="markdown level1 summary"><p>The opcode</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public OpCode opcode</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Reflection.Emit.OpCode</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="HarmonyLib_CodeInstruction_operand" data-uid="HarmonyLib.CodeInstruction.operand">operand</h4>
<div class="markdown level1 summary"><p>The operand</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public object operand</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<a id="HarmonyLib_CodeInstruction_Call_" data-uid="HarmonyLib.CodeInstruction.Call*"></a>
<h4 id="HarmonyLib_CodeInstruction_Call_System_Linq_Expressions_Expression_System_Action__" data-uid="HarmonyLib.CodeInstruction.Call(System.Linq.Expressions.Expression{System.Action})">Call(Expression&lt;Action&gt;)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction calling a method (CALL)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction Call(Expression&lt;Action&gt; expression)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Linq.Expressions.Expression</span>&lt;<span class="xref">System.Action</span>&gt;</td>
<td><span class="parametername">expression</span></td>
<td><p>The lambda expression using the method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Call_" data-uid="HarmonyLib.CodeInstruction.Call*"></a>
<h4 id="HarmonyLib_CodeInstruction_Call_System_Linq_Expressions_LambdaExpression_" data-uid="HarmonyLib.CodeInstruction.Call(System.Linq.Expressions.LambdaExpression)">Call(LambdaExpression)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction calling a method (CALL)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction Call(LambdaExpression expression)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Linq.Expressions.LambdaExpression</span></td>
<td><span class="parametername">expression</span></td>
<td><p>The lambda expression using the method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Call_" data-uid="HarmonyLib.CodeInstruction.Call*"></a>
<h4 id="HarmonyLib_CodeInstruction_Call_System_String_System_Type___System_Type___" data-uid="HarmonyLib.CodeInstruction.Call(System.String,System.Type[],System.Type[])">Call(String, Type[], Type[])</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction calling a method (CALL)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction Call(string typeColonMethodname, Type[] parameters = null, Type[] generics = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">typeColonMethodname</span></td>
<td><p>The target method in the form <code>TypeFullName:MethodName</code>, where the type name matches a form recognized by <a href="https://docs.microsoft.com/en-us/dotnet/api/system.type.gettype">Type.GetType</a> like <code>Some.Namespace.Type</code>.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Type</span>[]</td>
<td><span class="parametername">parameters</span></td>
<td><p>Optional parameters to target a specific overload of the method</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Type</span>[]</td>
<td><span class="parametername">generics</span></td>
<td><p>Optional list of types that define the generic version of the method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A code instruction that calls the method matching the arguments</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Call_" data-uid="HarmonyLib.CodeInstruction.Call*"></a>
<h4 id="HarmonyLib_CodeInstruction_Call_System_Type_System_String_System_Type___System_Type___" data-uid="HarmonyLib.CodeInstruction.Call(System.Type,System.String,System.Type[],System.Type[])">Call(Type, String, Type[], Type[])</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction calling a method (CALL)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction Call(Type type, string name, Type[] parameters = null, Type[] generics = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Type</span></td>
<td><span class="parametername">type</span></td>
<td><p>The class/type where the method is declared</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">name</span></td>
<td><p>The name of the method (case sensitive)</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Type</span>[]</td>
<td><span class="parametername">parameters</span></td>
<td><p>Optional parameters to target a specific overload of the method</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Type</span>[]</td>
<td><span class="parametername">generics</span></td>
<td><p>Optional list of types that define the generic version of the method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A code instruction that calls the method matching the arguments</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Call_" data-uid="HarmonyLib.CodeInstruction.Call*"></a>
<h4 id="HarmonyLib_CodeInstruction_Call__1_System_Linq_Expressions_Expression_System_Action___0___" data-uid="HarmonyLib.CodeInstruction.Call``1(System.Linq.Expressions.Expression{System.Action{``0}})">Call&lt;T&gt;(Expression&lt;Action&lt;T&gt;&gt;)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction calling a method (CALL)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction Call&lt;T&gt;(Expression&lt;Action&lt;T&gt;&gt; expression)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Linq.Expressions.Expression</span>&lt;<span class="xref">System.Action</span>&lt;T&gt;&gt;</td>
<td><span class="parametername">expression</span></td>
<td><p>The lambda expression using the method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Call_" data-uid="HarmonyLib.CodeInstruction.Call*"></a>
<h4 id="HarmonyLib_CodeInstruction_Call__2_System_Linq_Expressions_Expression_System_Func___0___1___" data-uid="HarmonyLib.CodeInstruction.Call``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})">Call&lt;T, TResult&gt;(Expression&lt;Func&lt;T, TResult&gt;&gt;)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction calling a method (CALL)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction Call&lt;T, TResult&gt;(Expression&lt;Func&lt;T, TResult&gt;&gt; expression)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Linq.Expressions.Expression</span>&lt;<span class="xref">System.Func</span>&lt;T, TResult&gt;&gt;</td>
<td><span class="parametername">expression</span></td>
<td><p>The lambda expression using the method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
<tr>
<td><span class="parametername">TResult</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_CallClosure_" data-uid="HarmonyLib.CodeInstruction.CallClosure*"></a>
<h4 id="HarmonyLib_CodeInstruction_CallClosure__1___0_" data-uid="HarmonyLib.CodeInstruction.CallClosure``1(``0)">CallClosure&lt;T&gt;(T)</h4>
<div class="markdown level1 summary"><p>Returns an instruction to call the specified closure</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction CallClosure&lt;T&gt;(T closure)
where T : Delegate</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">closure</span></td>
<td><p>The closure that defines the method to call</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A <a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a> that calls the closure as a method</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>The delegate type to emit</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Clone_" data-uid="HarmonyLib.CodeInstruction.Clone*"></a>
<h4 id="HarmonyLib_CodeInstruction_Clone" data-uid="HarmonyLib.CodeInstruction.Clone">Clone()</h4>
<div class="markdown level1 summary"><p>Clones a CodeInstruction and resets its labels and exception blocks</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction Clone()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A lightweight copy of this code instruction</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Clone_" data-uid="HarmonyLib.CodeInstruction.Clone*"></a>
<h4 id="HarmonyLib_CodeInstruction_Clone_System_Object_" data-uid="HarmonyLib.CodeInstruction.Clone(System.Object)">Clone(Object)</h4>
<div class="markdown level1 summary"><p>Clones a CodeInstruction, resets labels and exception blocks and sets its operand</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction Clone(object operand)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">operand</span></td>
<td><p>The operand</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A copy of this CodeInstruction with a new operand</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_Clone_" data-uid="HarmonyLib.CodeInstruction.Clone*"></a>
<h4 id="HarmonyLib_CodeInstruction_Clone_System_Reflection_Emit_OpCode_" data-uid="HarmonyLib.CodeInstruction.Clone(System.Reflection.Emit.OpCode)">Clone(OpCode)</h4>
<div class="markdown level1 summary"><p>Clones a CodeInstruction, resets labels and exception blocks and sets its opcode</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction Clone(OpCode opcode)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Reflection.Emit.OpCode</span></td>
<td><span class="parametername">opcode</span></td>
<td><p>The opcode</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A copy of this CodeInstruction with a new opcode</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_HasBlock_" data-uid="HarmonyLib.CodeInstruction.HasBlock*"></a>
<h4 id="HarmonyLib_CodeInstruction_HasBlock_HarmonyLib_ExceptionBlockType_" data-uid="HarmonyLib.CodeInstruction.HasBlock(HarmonyLib.ExceptionBlockType)">HasBlock(ExceptionBlockType)</h4>
<div class="markdown level1 summary"><p>Checks if a CodeInstruction contains a given exception block type</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool HasBlock(ExceptionBlockType type)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.ExceptionBlockType.html">ExceptionBlockType</a></td>
<td><span class="parametername">type</span></td>
<td><p>Type of the exception block to check for</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><p>True if the instruction contains the exception block type, false otherwise</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_LoadArgument_" data-uid="HarmonyLib.CodeInstruction.LoadArgument*"></a>
<h4 id="HarmonyLib_CodeInstruction_LoadArgument_System_Int32_System_Boolean_" data-uid="HarmonyLib.CodeInstruction.LoadArgument(System.Int32,System.Boolean)">LoadArgument(Int32, Boolean)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction loading an argument with the given index, using the shorter forms when possible</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction LoadArgument(int index, bool useAddress = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">index</span></td>
<td><p>The index of the argument</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">useAddress</span></td>
<td><p>Use address of argument</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<h5 id="HarmonyLib_CodeInstruction_LoadArgument_System_Int32_System_Boolean__seealso">See Also</h5>
<div class="seealso">
<div><a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_ArgumentIndex_HarmonyLib_CodeInstruction_">ArgumentIndex</a>(<a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a>)</div>
</div>
<a id="HarmonyLib_CodeInstruction_LoadField_" data-uid="HarmonyLib.CodeInstruction.LoadField*"></a>
<h4 id="HarmonyLib_CodeInstruction_LoadField_System_Type_System_String_System_Boolean_" data-uid="HarmonyLib.CodeInstruction.LoadField(System.Type,System.String,System.Boolean)">LoadField(Type, String, Boolean)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction loading a field (LD[S]FLD[A])</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction LoadField(Type type, string name, bool useAddress = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Type</span></td>
<td><span class="parametername">type</span></td>
<td><p>The class/type where the field is defined</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">name</span></td>
<td><p>The name of the field (case sensitive)</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">useAddress</span></td>
<td><p>Use address of field</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_LoadLocal_" data-uid="HarmonyLib.CodeInstruction.LoadLocal*"></a>
<h4 id="HarmonyLib_CodeInstruction_LoadLocal_System_Int32_System_Boolean_" data-uid="HarmonyLib.CodeInstruction.LoadLocal(System.Int32,System.Boolean)">LoadLocal(Int32, Boolean)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction loading a local with the given index, using the shorter forms when possible</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction LoadLocal(int index, bool useAddress = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">index</span></td>
<td><p>The index where the local is stored</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">useAddress</span></td>
<td><p>Use address of local</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<h5 id="HarmonyLib_CodeInstruction_LoadLocal_System_Int32_System_Boolean__seealso">See Also</h5>
<div class="seealso">
<div><a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LocalIndex_HarmonyLib_CodeInstruction_">LocalIndex</a>(<a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a>)</div>
</div>
<a id="HarmonyLib_CodeInstruction_StoreArgument_" data-uid="HarmonyLib.CodeInstruction.StoreArgument*"></a>
<h4 id="HarmonyLib_CodeInstruction_StoreArgument_System_Int32_" data-uid="HarmonyLib.CodeInstruction.StoreArgument(System.Int32)">StoreArgument(Int32)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction storing to an argument with the given index, using the shorter forms when possible</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction StoreArgument(int index)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">index</span></td>
<td><p>The index of the argument</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<h5 id="HarmonyLib_CodeInstruction_StoreArgument_System_Int32__seealso">See Also</h5>
<div class="seealso">
<div><a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_ArgumentIndex_HarmonyLib_CodeInstruction_">ArgumentIndex</a>(<a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a>)</div>
</div>
<a id="HarmonyLib_CodeInstruction_StoreField_" data-uid="HarmonyLib.CodeInstruction.StoreField*"></a>
<h4 id="HarmonyLib_CodeInstruction_StoreField_System_Type_System_String_" data-uid="HarmonyLib.CodeInstruction.StoreField(System.Type,System.String)">StoreField(Type, String)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction storing to a field (ST[S]FLD)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction StoreField(Type type, string name)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Type</span></td>
<td><span class="parametername">type</span></td>
<td><p>The class/type where the field is defined</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">name</span></td>
<td><p>The name of the field (case sensitive)</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<a id="HarmonyLib_CodeInstruction_StoreLocal_" data-uid="HarmonyLib.CodeInstruction.StoreLocal*"></a>
<h4 id="HarmonyLib_CodeInstruction_StoreLocal_System_Int32_" data-uid="HarmonyLib.CodeInstruction.StoreLocal(System.Int32)">StoreLocal(Int32)</h4>
<div class="markdown level1 summary"><p>Creates a CodeInstruction storing to a local with the given index, using the shorter forms when possible</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CodeInstruction StoreLocal(int index)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">index</span></td>
<td><p>The index where the local is stored</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a></td>
<td><p>A new Codeinstruction</p>
</td>
</tr>
</tbody>
</table>
<h5 id="HarmonyLib_CodeInstruction_StoreLocal_System_Int32__seealso">See Also</h5>
<div class="seealso">
<div><a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LocalIndex_HarmonyLib_CodeInstruction_">LocalIndex</a>(<a class="xref" href="HarmonyLib.CodeInstruction.html">CodeInstruction</a>)</div>
</div>
<a id="HarmonyLib_CodeInstruction_ToString_" data-uid="HarmonyLib.CodeInstruction.ToString*"></a>
<h4 id="HarmonyLib_CodeInstruction_ToString" data-uid="HarmonyLib.CodeInstruction.ToString">ToString()</h4>
<div class="markdown level1 summary"><p>Returns a string representation of the code instruction</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>A string representation of the code instruction</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><span class="xref">System.Object.ToString()</span></div>
<h3 id="extensionmethods">Extension Methods</h3>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_OperandIs_HarmonyLib_CodeInstruction_System_Object_">CodeInstructionExtensions.OperandIs(CodeInstruction, Object)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_OperandIs_HarmonyLib_CodeInstruction_System_Reflection_MemberInfo_">CodeInstructionExtensions.OperandIs(CodeInstruction, MemberInfo)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_Is_HarmonyLib_CodeInstruction_System_Reflection_Emit_OpCode_System_Object_">CodeInstructionExtensions.Is(CodeInstruction, OpCode, Object)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_Is_HarmonyLib_CodeInstruction_System_Reflection_Emit_OpCode_System_Reflection_MemberInfo_">CodeInstructionExtensions.Is(CodeInstruction, OpCode, MemberInfo)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_IsLdarg_HarmonyLib_CodeInstruction_System_Nullable_System_Int32__">CodeInstructionExtensions.IsLdarg(CodeInstruction, Nullable&lt;Int32&gt;)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_IsLdarga_HarmonyLib_CodeInstruction_System_Nullable_System_Int32__">CodeInstructionExtensions.IsLdarga(CodeInstruction, Nullable&lt;Int32&gt;)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_IsStarg_HarmonyLib_CodeInstruction_System_Nullable_System_Int32__">CodeInstructionExtensions.IsStarg(CodeInstruction, Nullable&lt;Int32&gt;)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_IsLdloc_HarmonyLib_CodeInstruction_System_Reflection_Emit_LocalBuilder_">CodeInstructionExtensions.IsLdloc(CodeInstruction, LocalBuilder)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_IsStloc_HarmonyLib_CodeInstruction_System_Reflection_Emit_LocalBuilder_">CodeInstructionExtensions.IsStloc(CodeInstruction, LocalBuilder)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_Branches_HarmonyLib_CodeInstruction_System_Nullable_System_Reflection_Emit_Label___">CodeInstructionExtensions.Branches(CodeInstruction, out Nullable&lt;Label&gt;)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_Calls_HarmonyLib_CodeInstruction_System_Reflection_MethodInfo_">CodeInstructionExtensions.Calls(CodeInstruction, MethodInfo)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LoadsConstant_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.LoadsConstant(CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LoadsConstant_HarmonyLib_CodeInstruction_System_Int64_">CodeInstructionExtensions.LoadsConstant(CodeInstruction, Int64)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LoadsConstant_HarmonyLib_CodeInstruction_System_Double_">CodeInstructionExtensions.LoadsConstant(CodeInstruction, Double)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LoadsConstant_HarmonyLib_CodeInstruction_System_Enum_">CodeInstructionExtensions.LoadsConstant(CodeInstruction, Enum)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LoadsConstant_HarmonyLib_CodeInstruction_System_String_">CodeInstructionExtensions.LoadsConstant(CodeInstruction, String)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LoadsField_HarmonyLib_CodeInstruction_System_Reflection_FieldInfo_System_Boolean_">CodeInstructionExtensions.LoadsField(CodeInstruction, FieldInfo, Boolean)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_StoresField_HarmonyLib_CodeInstruction_System_Reflection_FieldInfo_">CodeInstructionExtensions.StoresField(CodeInstruction, FieldInfo)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_LocalIndex_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.LocalIndex(CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_ArgumentIndex_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.ArgumentIndex(CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_WithLabels_HarmonyLib_CodeInstruction_System_Reflection_Emit_Label___">CodeInstructionExtensions.WithLabels(CodeInstruction, Label[])</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_WithLabels_HarmonyLib_CodeInstruction_System_Collections_Generic_IEnumerable_System_Reflection_Emit_Label__">CodeInstructionExtensions.WithLabels(CodeInstruction, IEnumerable&lt;Label&gt;)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_ExtractLabels_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.ExtractLabels(CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_MoveLabelsTo_HarmonyLib_CodeInstruction_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.MoveLabelsTo(CodeInstruction, CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_MoveLabelsFrom_HarmonyLib_CodeInstruction_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.MoveLabelsFrom(CodeInstruction, CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_WithBlocks_HarmonyLib_CodeInstruction_HarmonyLib_ExceptionBlock___">CodeInstructionExtensions.WithBlocks(CodeInstruction, ExceptionBlock[])</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_WithBlocks_HarmonyLib_CodeInstruction_System_Collections_Generic_IEnumerable_HarmonyLib_ExceptionBlock__">CodeInstructionExtensions.WithBlocks(CodeInstruction, IEnumerable&lt;ExceptionBlock&gt;)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_ExtractBlocks_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.ExtractBlocks(CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_MoveBlocksTo_HarmonyLib_CodeInstruction_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.MoveBlocksTo(CodeInstruction, CodeInstruction)</a>
</div>
<div>
<a class="xref" href="HarmonyLib.CodeInstructionExtensions.html#HarmonyLib_CodeInstructionExtensions_MoveBlocksFrom_HarmonyLib_CodeInstruction_HarmonyLib_CodeInstruction_">CodeInstructionExtensions.MoveBlocksFrom(CodeInstruction, CodeInstruction)</a>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>