Files
pardeike-Harmony/docs/api/Harmony.CodeMatcher.html
T
2019-04-22 10:18:50 +00:00

2420 lines
105 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 CodeMatcher
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class CodeMatcher
">
<meta name="generator" content="docfx 2.42.0.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="Harmony.CodeMatcher">
<h1 id="Harmony_CodeMatcher" data-uid="Harmony.CodeMatcher" class="text-break">Class CodeMatcher
</h1>
<div class="markdown level0 summary"><p>A CodeInstruction matcher</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">CodeMatcher</span></div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Harmony.html">Harmony</a></h6>
<h6><strong>Assembly</strong>: 0Harmony.dll</h6>
<h5 id="Harmony_CodeMatcher_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class CodeMatcher : object</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher__ctor.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L170">View Source</a>
</span>
<a id="Harmony_CodeMatcher__ctor_" data-uid="Harmony.CodeMatcher.#ctor*"></a>
<h4 id="Harmony_CodeMatcher__ctor" data-uid="Harmony.CodeMatcher.#ctor">CodeMatcher()</h4>
<div class="markdown level1 summary"><p>Creates an empty code matcher</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher__ctor_IEnumerable_Harmony_CodeInstruction__ILGenerator_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.%23ctor(IEnumerable%7BHarmony.CodeInstruction%7D%2CILGenerator)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L178">View Source</a>
</span>
<a id="Harmony_CodeMatcher__ctor_" data-uid="Harmony.CodeMatcher.#ctor*"></a>
<h4 id="Harmony_CodeMatcher__ctor_IEnumerable_Harmony_CodeInstruction__ILGenerator_" data-uid="Harmony.CodeMatcher.#ctor(IEnumerable{Harmony.CodeInstruction},ILGenerator)">CodeMatcher(IEnumerable&lt;CodeInstruction&gt;, ILGenerator)</h4>
<div class="markdown level1 summary"><p>Creates a code matcher from an enumeration of instructions</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher(IEnumerable&lt;CodeInstruction&gt; instructions, ILGenerator generator = 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">IEnumerable</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><span class="parametername">instructions</span></td>
<td><p>The instructions (transpiler argument)</p>
</td>
</tr>
<tr>
<td><span class="xref">ILGenerator</span></td>
<td><span class="parametername">generator</span></td>
<td><p>An optional IL generator</p>
</td>
</tr>
</tbody>
</table>
<h3 id="properties">Properties
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Blocks.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Blocks%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L167">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Blocks_" data-uid="Harmony.CodeMatcher.Blocks*"></a>
<h4 id="Harmony_CodeMatcher_Blocks" data-uid="Harmony.CodeMatcher.Blocks">Blocks</h4>
<div class="markdown level1 summary"><p>Gets the exception blocks at the current position</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 { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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">List</span>&lt;<a class="xref" href="Harmony.ExceptionBlock.html">ExceptionBlock</a>&gt;</td>
<td><p>The blocks</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Instruction.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Instruction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L202">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Instruction_" data-uid="Harmony.CodeMatcher.Instruction*"></a>
<h4 id="Harmony_CodeMatcher_Instruction" data-uid="Harmony.CodeMatcher.Instruction">Instruction</h4>
<div class="markdown level1 summary"><p>Gets instructions at the current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction Instruction { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</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="Harmony.CodeInstruction.html">CodeInstruction</a></td>
<td><p>The instruction</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_IsInvalid.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.IsInvalid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L142">View Source</a>
</span>
<a id="Harmony_CodeMatcher_IsInvalid_" data-uid="Harmony.CodeMatcher.IsInvalid*"></a>
<h4 id="Harmony_CodeMatcher_IsInvalid" data-uid="Harmony.CodeMatcher.IsInvalid">IsInvalid</h4>
<div class="markdown level1 summary"><p>Checks whether the position of this CodeMatcher is outside its bounds</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsInvalid { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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.Boolean</span></td>
<td><p>True if this CodeMatcher is invalid</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_IsValid.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.IsValid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L137">View Source</a>
</span>
<a id="Harmony_CodeMatcher_IsValid_" data-uid="Harmony.CodeMatcher.IsValid*"></a>
<h4 id="Harmony_CodeMatcher_IsValid" data-uid="Harmony.CodeMatcher.IsValid">IsValid</h4>
<div class="markdown level1 summary"><p>Checks whether the position of this CodeMatcher is within bounds</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsValid { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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.Boolean</span></td>
<td><p>True if this CodeMatcher is valid</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Labels.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Labels%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L162">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Labels_" data-uid="Harmony.CodeMatcher.Labels*"></a>
<h4 id="Harmony_CodeMatcher_Labels" data-uid="Harmony.CodeMatcher.Labels">Labels</h4>
<div class="markdown level1 summary"><p>Gets the labels at the current position</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 { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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">List</span>&lt;<span class="xref">Label</span>&gt;</td>
<td><p>The labels</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Length.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Length%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L132">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Length_" data-uid="Harmony.CodeMatcher.Length*"></a>
<h4 id="Harmony_CodeMatcher_Length" data-uid="Harmony.CodeMatcher.Length">Length</h4>
<div class="markdown level1 summary"><p>Gets the number of code instructions in this matcher</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int Length { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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.Int32</span></td>
<td><p>The count</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Opcode.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Opcode%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L152">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Opcode_" data-uid="Harmony.CodeMatcher.Opcode*"></a>
<h4 id="Harmony_CodeMatcher_Opcode" data-uid="Harmony.CodeMatcher.Opcode">Opcode</h4>
<div class="markdown level1 summary"><p>Gets the opcode at the current position</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 { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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">OpCode</span></td>
<td><p>The opcode</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Operand.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Operand%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L157">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Operand_" data-uid="Harmony.CodeMatcher.Operand*"></a>
<h4 id="Harmony_CodeMatcher_Operand" data-uid="Harmony.CodeMatcher.Operand">Operand</h4>
<div class="markdown level1 summary"><p>Gets the operand at the current position</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 { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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><p>The operand</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Pos.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Pos%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L120">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Pos_" data-uid="Harmony.CodeMatcher.Pos*"></a>
<h4 id="Harmony_CodeMatcher_Pos" data-uid="Harmony.CodeMatcher.Pos">Pos</h4>
<div class="markdown level1 summary"><p>The current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int Pos { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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.Int32</span></td>
<td><p>The index or -1 if out of bounds</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Remaining.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Remaining%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L147">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Remaining_" data-uid="Harmony.CodeMatcher.Remaining*"></a>
<h4 id="Harmony_CodeMatcher_Remaining" data-uid="Harmony.CodeMatcher.Remaining">Remaining</h4>
<div class="markdown level1 summary"><p>Gets the remaining code instructions</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int Remaining { get; }</code></pre>
</div>
<h5 class="propertyValue">Property 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.Int32</span></td>
<td><p>The remaining count</p>
</td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_AddLabels_IEnumerable_Label__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.AddLabels(IEnumerable%7BLabel%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L369">View Source</a>
</span>
<a id="Harmony_CodeMatcher_AddLabels_" data-uid="Harmony.CodeMatcher.AddLabels*"></a>
<h4 id="Harmony_CodeMatcher_AddLabels_IEnumerable_Label__" data-uid="Harmony.CodeMatcher.AddLabels(IEnumerable{Label})">AddLabels(IEnumerable&lt;Label&gt;)</h4>
<div class="markdown level1 summary"><p>Adds an enumeration of labels to current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher AddLabels(IEnumerable&lt;Label&gt; labels)</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">IEnumerable</span>&lt;<span class="xref">Label</span>&gt;</td>
<td><span class="parametername">labels</span></td>
<td><p>The labels</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_AddLabelsAt_System_Int32_IEnumerable_Label__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.AddLabelsAt(System.Int32%2CIEnumerable%7BLabel%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L380">View Source</a>
</span>
<a id="Harmony_CodeMatcher_AddLabelsAt_" data-uid="Harmony.CodeMatcher.AddLabelsAt*"></a>
<h4 id="Harmony_CodeMatcher_AddLabelsAt_System_Int32_IEnumerable_Label__" data-uid="Harmony.CodeMatcher.AddLabelsAt(System.Int32,IEnumerable{Label})">AddLabelsAt(Int32, IEnumerable&lt;Label&gt;)</h4>
<div class="markdown level1 summary"><p>Adds an enumeration of labels at a position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher AddLabelsAt(int position, IEnumerable&lt;Label&gt; labels)</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">position</span></td>
<td><p>The position</p>
</td>
</tr>
<tr>
<td><span class="xref">IEnumerable</span>&lt;<span class="xref">Label</span>&gt;</td>
<td><span class="parametername">labels</span></td>
<td><p>The labels</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Advance_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Advance(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L513">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Advance_" data-uid="Harmony.CodeMatcher.Advance*"></a>
<h4 id="Harmony_CodeMatcher_Advance_System_Int32_" data-uid="Harmony.CodeMatcher.Advance(System.Int32)">Advance(Int32)</h4>
<div class="markdown level1 summary"><p>Advances the current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher Advance(int offset)</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">offset</span></td>
<td><p>The offset</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Clone.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L187">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Clone_" data-uid="Harmony.CodeMatcher.Clone*"></a>
<h4 id="Harmony_CodeMatcher_Clone" data-uid="Harmony.CodeMatcher.Clone">Clone()</h4>
<div class="markdown level1 summary"><p>Makes a clone of this instruction matcher</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher 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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>A copy of this matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_CreateLabel_Label__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.CreateLabel(Label%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L346">View Source</a>
</span>
<a id="Harmony_CodeMatcher_CreateLabel_" data-uid="Harmony.CodeMatcher.CreateLabel*"></a>
<h4 id="Harmony_CodeMatcher_CreateLabel_Label__" data-uid="Harmony.CodeMatcher.CreateLabel(Label@)">CreateLabel(out Label)</h4>
<div class="markdown level1 summary"><p>Creates a label at current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher CreateLabel(out Label label)</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">Label</span></td>
<td><span class="parametername">label</span></td>
<td><p>[out] The label</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_CreateLabelAt_System_Int32_Label__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.CreateLabelAt(System.Int32%2CLabel%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L358">View Source</a>
</span>
<a id="Harmony_CodeMatcher_CreateLabelAt_" data-uid="Harmony.CodeMatcher.CreateLabelAt*"></a>
<h4 id="Harmony_CodeMatcher_CreateLabelAt_System_Int32_Label__" data-uid="Harmony.CodeMatcher.CreateLabelAt(System.Int32,Label@)">CreateLabelAt(Int32, out Label)</h4>
<div class="markdown level1 summary"><p>Creates a label at a position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher CreateLabelAt(int position, out Label label)</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">position</span></td>
<td><p>The position</p>
</td>
</tr>
<tr>
<td><span class="xref">Label</span></td>
<td><span class="parametername">label</span></td>
<td><p>[out] The new label</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_DistinctLabels_IEnumerable_Harmony_CodeInstruction__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.DistinctLabels(IEnumerable%7BHarmony.CodeInstruction%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L257">View Source</a>
</span>
<a id="Harmony_CodeMatcher_DistinctLabels_" data-uid="Harmony.CodeMatcher.DistinctLabels*"></a>
<h4 id="Harmony_CodeMatcher_DistinctLabels_IEnumerable_Harmony_CodeInstruction__" data-uid="Harmony.CodeMatcher.DistinctLabels(IEnumerable{Harmony.CodeInstruction})">DistinctLabels(IEnumerable&lt;CodeInstruction&gt;)</h4>
<div class="markdown level1 summary"><p>Gets a list of all distinct labels</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; DistinctLabels(IEnumerable&lt;CodeInstruction&gt; instructions)</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">IEnumerable</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><span class="parametername">instructions</span></td>
<td><p>The instructions (transpiler 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><span class="xref">List</span>&lt;<span class="xref">Label</span>&gt;</td>
<td><p>A list of Labels</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_End.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.End%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L532">View Source</a>
</span>
<a id="Harmony_CodeMatcher_End_" data-uid="Harmony.CodeMatcher.End*"></a>
<h4 id="Harmony_CodeMatcher_End" data-uid="Harmony.CodeMatcher.End">End()</h4>
<div class="markdown level1 summary"><p>Moves the current position to the end</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher End()</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Insert_Harmony_CodeInstruction___.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Insert(Harmony.CodeInstruction%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L403">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Insert_" data-uid="Harmony.CodeMatcher.Insert*"></a>
<h4 id="Harmony_CodeMatcher_Insert_Harmony_CodeInstruction___" data-uid="Harmony.CodeMatcher.Insert(Harmony.CodeInstruction[])">Insert(CodeInstruction[])</h4>
<div class="markdown level1 summary"><p>Inserts some instructions</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher Insert(params CodeInstruction[] instructions)</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="Harmony.CodeInstruction.html">CodeInstruction</a>[]</td>
<td><span class="parametername">instructions</span></td>
<td><p>The instructions</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Insert_IEnumerable_Harmony_CodeInstruction__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Insert(IEnumerable%7BHarmony.CodeInstruction%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L413">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Insert_" data-uid="Harmony.CodeMatcher.Insert*"></a>
<h4 id="Harmony_CodeMatcher_Insert_IEnumerable_Harmony_CodeInstruction__" data-uid="Harmony.CodeMatcher.Insert(IEnumerable{Harmony.CodeInstruction})">Insert(IEnumerable&lt;CodeInstruction&gt;)</h4>
<div class="markdown level1 summary"><p>Inserts an enumeration of instructions</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher Insert(IEnumerable&lt;CodeInstruction&gt; instructions)</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">IEnumerable</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><span class="parametername">instructions</span></td>
<td><p>The instructions</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InsertAndAdvance_Harmony_CodeInstruction___.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InsertAndAdvance(Harmony.CodeInstruction%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L435">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InsertAndAdvance_" data-uid="Harmony.CodeMatcher.InsertAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_InsertAndAdvance_Harmony_CodeInstruction___" data-uid="Harmony.CodeMatcher.InsertAndAdvance(Harmony.CodeInstruction[])">InsertAndAdvance(CodeInstruction[])</h4>
<div class="markdown level1 summary"><p>Inserts some instructions and advances the position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher InsertAndAdvance(params CodeInstruction[] instructions)</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="Harmony.CodeInstruction.html">CodeInstruction</a>[]</td>
<td><span class="parametername">instructions</span></td>
<td><p>The instructions</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InsertAndAdvance_IEnumerable_Harmony_CodeInstruction__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InsertAndAdvance(IEnumerable%7BHarmony.CodeInstruction%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L449">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InsertAndAdvance_" data-uid="Harmony.CodeMatcher.InsertAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_InsertAndAdvance_IEnumerable_Harmony_CodeInstruction__" data-uid="Harmony.CodeMatcher.InsertAndAdvance(IEnumerable{Harmony.CodeInstruction})">InsertAndAdvance(IEnumerable&lt;CodeInstruction&gt;)</h4>
<div class="markdown level1 summary"><p>Inserts an enumeration of instructions and advances the position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher InsertAndAdvance(IEnumerable&lt;CodeInstruction&gt; instructions)</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">IEnumerable</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><span class="parametername">instructions</span></td>
<td><p>The instructions</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InsertBranch_OpCode_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InsertBranch(OpCode%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L424">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InsertBranch_" data-uid="Harmony.CodeMatcher.InsertBranch*"></a>
<h4 id="Harmony_CodeMatcher_InsertBranch_OpCode_System_Int32_" data-uid="Harmony.CodeMatcher.InsertBranch(OpCode,System.Int32)">InsertBranch(OpCode, Int32)</h4>
<div class="markdown level1 summary"><p>Inserts a branch</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher InsertBranch(OpCode opcode, int destination)</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">OpCode</span></td>
<td><span class="parametername">opcode</span></td>
<td><p>The branch opcode</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">destination</span></td>
<td><p>Branch destination</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InsertBranchAndAdvance_OpCode_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InsertBranchAndAdvance(OpCode%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L460">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InsertBranchAndAdvance_" data-uid="Harmony.CodeMatcher.InsertBranchAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_InsertBranchAndAdvance_OpCode_System_Int32_" data-uid="Harmony.CodeMatcher.InsertBranchAndAdvance(OpCode,System.Int32)">InsertBranchAndAdvance(OpCode, Int32)</h4>
<div class="markdown level1 summary"><p>Inserts a branch and advances the position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher InsertBranchAndAdvance(OpCode opcode, int destination)</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">OpCode</span></td>
<td><span class="parametername">opcode</span></td>
<td><p>The branch opcode</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">destination</span></td>
<td><p>Branch destination</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InstructionAt_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InstructionAt(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L208">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InstructionAt_" data-uid="Harmony.CodeMatcher.InstructionAt*"></a>
<h4 id="Harmony_CodeMatcher_InstructionAt_System_Int32_" data-uid="Harmony.CodeMatcher.InstructionAt(System.Int32)">InstructionAt(Int32)</h4>
<div class="markdown level1 summary"><p>Gets instructions at the current position with offset</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction InstructionAt(int offset)</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">offset</span></td>
<td><p>The offset</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="Harmony.CodeInstruction.html">CodeInstruction</a></td>
<td><p>The instruction</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Instructions.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Instructions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L216">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Instructions_" data-uid="Harmony.CodeMatcher.Instructions*"></a>
<h4 id="Harmony_CodeMatcher_Instructions" data-uid="Harmony.CodeMatcher.Instructions">Instructions()</h4>
<div class="markdown level1 summary"><p>Gets all instructions</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;CodeInstruction&gt; Instructions()</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">List</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><p>A list of instructions</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Instructions_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Instructions(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L225">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Instructions_" data-uid="Harmony.CodeMatcher.Instructions*"></a>
<h4 id="Harmony_CodeMatcher_Instructions_System_Int32_" data-uid="Harmony.CodeMatcher.Instructions(System.Int32)">Instructions(Int32)</h4>
<div class="markdown level1 summary"><p>Gets some instructions counting from current position</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;CodeInstruction&gt; Instructions(int count)</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">count</span></td>
<td><p>Number of instructions</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">List</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><p>A list of instructions</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InstructionsInRange_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InstructionsInRange(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L235">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InstructionsInRange_" data-uid="Harmony.CodeMatcher.InstructionsInRange*"></a>
<h4 id="Harmony_CodeMatcher_InstructionsInRange_System_Int32_System_Int32_" data-uid="Harmony.CodeMatcher.InstructionsInRange(System.Int32,System.Int32)">InstructionsInRange(Int32, Int32)</h4>
<div class="markdown level1 summary"><p>Gets all instructions within a range</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;CodeInstruction&gt; InstructionsInRange(int start, int end)</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">start</span></td>
<td><p>The start index</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">end</span></td>
<td><p>The end index</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">List</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><p>A list of instructions</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_InstructionsWithOffsets_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.InstructionsWithOffsets(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L248">View Source</a>
</span>
<a id="Harmony_CodeMatcher_InstructionsWithOffsets_" data-uid="Harmony.CodeMatcher.InstructionsWithOffsets*"></a>
<h4 id="Harmony_CodeMatcher_InstructionsWithOffsets_System_Int32_System_Int32_" data-uid="Harmony.CodeMatcher.InstructionsWithOffsets(System.Int32,System.Int32)">InstructionsWithOffsets(Int32, Int32)</h4>
<div class="markdown level1 summary"><p>Gets all instructions within a range (relative to current position)</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;CodeInstruction&gt; InstructionsWithOffsets(int startOffset, int endOffset)</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">startOffset</span></td>
<td><p>The start offset</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">endOffset</span></td>
<td><p>The end offset</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">List</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>&gt;</td>
<td><p>A list of instructions</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_MatchBack_System_Boolean_Harmony_CodeMatch___.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.MatchBack(System.Boolean%2CHarmony.CodeMatch%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L580">View Source</a>
</span>
<a id="Harmony_CodeMatcher_MatchBack_" data-uid="Harmony.CodeMatcher.MatchBack*"></a>
<h4 id="Harmony_CodeMatcher_MatchBack_System_Boolean_Harmony_CodeMatch___" data-uid="Harmony.CodeMatcher.MatchBack(System.Boolean,Harmony.CodeMatch[])">MatchBack(Boolean, CodeMatch[])</h4>
<div class="markdown level1 summary"><p>Matches backwards and reverses position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher MatchBack(bool useEnd, params CodeMatch[] matches)</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.Boolean</span></td>
<td><span class="parametername">useEnd</span></td>
<td><p>True to set position to end of match, false to set it to the beginning of the match</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Harmony.CodeMatch.html">CodeMatch</a>[]</td>
<td><span class="parametername">matches</span></td>
<td><p>Some code matches</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_MatchForward_System_Boolean_Harmony_CodeMatch___.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.MatchForward(System.Boolean%2CHarmony.CodeMatch%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L570">View Source</a>
</span>
<a id="Harmony_CodeMatcher_MatchForward_" data-uid="Harmony.CodeMatcher.MatchForward*"></a>
<h4 id="Harmony_CodeMatcher_MatchForward_System_Boolean_Harmony_CodeMatch___" data-uid="Harmony.CodeMatcher.MatchForward(System.Boolean,Harmony.CodeMatch[])">MatchForward(Boolean, CodeMatch[])</h4>
<div class="markdown level1 summary"><p>Matches forward and advances position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher MatchForward(bool useEnd, params CodeMatch[] matches)</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.Boolean</span></td>
<td><span class="parametername">useEnd</span></td>
<td><p>True to set position to end of match, false to set it to the beginning of the match</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Harmony.CodeMatch.html">CodeMatch</a>[]</td>
<td><span class="parametername">matches</span></td>
<td><p>Some code matches</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_NamedMatch_System_String_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.NamedMatch(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L632">View Source</a>
</span>
<a id="Harmony_CodeMatcher_NamedMatch_" data-uid="Harmony.CodeMatcher.NamedMatch*"></a>
<h4 id="Harmony_CodeMatcher_NamedMatch_System_String_" data-uid="Harmony.CodeMatcher.NamedMatch(System.String)">NamedMatch(String)</h4>
<div class="markdown level1 summary"><p>Gets a match by its name</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeInstruction NamedMatch(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.String</span></td>
<td><span class="parametername">name</span></td>
<td><p>The match name</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="Harmony.CodeInstruction.html">CodeInstruction</a></td>
<td><p>An instruction</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_RemoveInstruction.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.RemoveInstruction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L470">View Source</a>
</span>
<a id="Harmony_CodeMatcher_RemoveInstruction_" data-uid="Harmony.CodeMatcher.RemoveInstruction*"></a>
<h4 id="Harmony_CodeMatcher_RemoveInstruction" data-uid="Harmony.CodeMatcher.RemoveInstruction">RemoveInstruction()</h4>
<div class="markdown level1 summary"><p>Removes current instruction</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher RemoveInstruction()</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_RemoveInstructions_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.RemoveInstructions(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L480">View Source</a>
</span>
<a id="Harmony_CodeMatcher_RemoveInstructions_" data-uid="Harmony.CodeMatcher.RemoveInstructions*"></a>
<h4 id="Harmony_CodeMatcher_RemoveInstructions_System_Int32_" data-uid="Harmony.CodeMatcher.RemoveInstructions(System.Int32)">RemoveInstructions(Int32)</h4>
<div class="markdown level1 summary"><p>Removes some instruction fro current position by count</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher RemoveInstructions(int count)</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">count</span></td>
<td><p>Number of instructions</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_RemoveInstructionsInRange_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.RemoveInstructionsInRange(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L491">View Source</a>
</span>
<a id="Harmony_CodeMatcher_RemoveInstructionsInRange_" data-uid="Harmony.CodeMatcher.RemoveInstructionsInRange*"></a>
<h4 id="Harmony_CodeMatcher_RemoveInstructionsInRange_System_Int32_System_Int32_" data-uid="Harmony.CodeMatcher.RemoveInstructionsInRange(System.Int32,System.Int32)">RemoveInstructionsInRange(Int32, Int32)</h4>
<div class="markdown level1 summary"><p>Removes the instructions in a range</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher RemoveInstructionsInRange(int start, int end)</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">start</span></td>
<td><p>The start</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">end</span></td>
<td><p>The end</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_RemoveInstructionsWithOffsets_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.RemoveInstructionsWithOffsets(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L503">View Source</a>
</span>
<a id="Harmony_CodeMatcher_RemoveInstructionsWithOffsets_" data-uid="Harmony.CodeMatcher.RemoveInstructionsWithOffsets*"></a>
<h4 id="Harmony_CodeMatcher_RemoveInstructionsWithOffsets_System_Int32_System_Int32_" data-uid="Harmony.CodeMatcher.RemoveInstructionsWithOffsets(System.Int32,System.Int32)">RemoveInstructionsWithOffsets(Int32, Int32)</h4>
<div class="markdown level1 summary"><p>Removes the instructions in a offset range</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher RemoveInstructionsWithOffsets(int startOffset, int endOffset)</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">startOffset</span></td>
<td><p>The start offset</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">endOffset</span></td>
<td><p>The end offset</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Repeat_Action_Harmony_CodeMatcher__Action_System_String__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Repeat(Action%7BHarmony.CodeMatcher%7D%2CAction%7BSystem.String%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L608">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Repeat_" data-uid="Harmony.CodeMatcher.Repeat*"></a>
<h4 id="Harmony_CodeMatcher_Repeat_Action_Harmony_CodeMatcher__Action_System_String__" data-uid="Harmony.CodeMatcher.Repeat(Action{Harmony.CodeMatcher},Action{System.String})">Repeat(Action&lt;CodeMatcher&gt;, Action&lt;String&gt;)</h4>
<div class="markdown level1 summary"><p>Repeats a match action until boundaries are met</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher Repeat(Action&lt;CodeMatcher&gt; matchAction, Action&lt;string&gt; notFoundAction = 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">Action</span>&lt;<a class="xref" href="Harmony.CodeMatcher.html">CodeMatcher</a>&gt;</td>
<td><span class="parametername">matchAction</span></td>
<td><p>The match action</p>
</td>
</tr>
<tr>
<td><span class="xref">Action</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><span class="parametername">notFoundAction</span></td>
<td><p>An optional action that is executed when no match is found</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_ReportFailure_MethodBase_Action_System_String__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.ReportFailure(MethodBase%2CAction%7BSystem.String%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L267">View Source</a>
</span>
<a id="Harmony_CodeMatcher_ReportFailure_" data-uid="Harmony.CodeMatcher.ReportFailure*"></a>
<h4 id="Harmony_CodeMatcher_ReportFailure_MethodBase_Action_System_String__" data-uid="Harmony.CodeMatcher.ReportFailure(MethodBase,Action{System.String})">ReportFailure(MethodBase, Action&lt;String&gt;)</h4>
<div class="markdown level1 summary"><p>Reports a failure</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool ReportFailure(MethodBase method, Action&lt;string&gt; logger)</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">MethodBase</span></td>
<td><span class="parametername">method</span></td>
<td><p>The method involved</p>
</td>
</tr>
<tr>
<td><span class="xref">Action</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><span class="parametername">logger</span></td>
<td><p>The logger</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 current position is invalid and error was logged</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SearchBack_Func_Harmony_CodeInstruction_System_Boolean__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SearchBack(Func%7BHarmony.CodeInstruction%2CSystem.Boolean%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L551">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SearchBack_" data-uid="Harmony.CodeMatcher.SearchBack*"></a>
<h4 id="Harmony_CodeMatcher_SearchBack_Func_Harmony_CodeInstruction_System_Boolean__" data-uid="Harmony.CodeMatcher.SearchBack(Func{Harmony.CodeInstruction,System.Boolean})">SearchBack(Func&lt;CodeInstruction, Boolean&gt;)</h4>
<div class="markdown level1 summary"><p>Searches backwards with a predicate and reverses position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SearchBack(Func&lt;CodeInstruction, bool&gt; predicate)</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">Func</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>, <span class="xref">System.Boolean</span>&gt;</td>
<td><span class="parametername">predicate</span></td>
<td><p>The predicate</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SearchForward_Func_Harmony_CodeInstruction_System_Boolean__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SearchForward(Func%7BHarmony.CodeInstruction%2CSystem.Boolean%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L542">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SearchForward_" data-uid="Harmony.CodeMatcher.SearchForward*"></a>
<h4 id="Harmony_CodeMatcher_SearchForward_Func_Harmony_CodeInstruction_System_Boolean__" data-uid="Harmony.CodeMatcher.SearchForward(Func{Harmony.CodeInstruction,System.Boolean})">SearchForward(Func&lt;CodeInstruction, Boolean&gt;)</h4>
<div class="markdown level1 summary"><p>Searches forward with a predicate and advances position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SearchForward(Func&lt;CodeInstruction, bool&gt; predicate)</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">Func</span>&lt;<a class="xref" href="Harmony.CodeInstruction.html">CodeInstruction</a>, <span class="xref">System.Boolean</span>&gt;</td>
<td><span class="parametername">predicate</span></td>
<td><p>The predicate</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Set_OpCode_System_Object_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Set(OpCode%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L301">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Set_" data-uid="Harmony.CodeMatcher.Set*"></a>
<h4 id="Harmony_CodeMatcher_Set_OpCode_System_Object_" data-uid="Harmony.CodeMatcher.Set(OpCode,System.Object)">Set(OpCode, Object)</h4>
<div class="markdown level1 summary"><p>Sets opcode and operand at current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher Set(OpCode opcode, 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">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>
<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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SetAndAdvance_OpCode_System_Object_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SetAndAdvance(OpCode%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L313">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SetAndAdvance_" data-uid="Harmony.CodeMatcher.SetAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_SetAndAdvance_OpCode_System_Object_" data-uid="Harmony.CodeMatcher.SetAndAdvance(OpCode,System.Object)">SetAndAdvance(OpCode, Object)</h4>
<div class="markdown level1 summary"><p>Sets opcode and operand at current position and advances</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SetAndAdvance(OpCode opcode, 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">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>
<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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SetInstruction_Harmony_CodeInstruction_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SetInstruction(Harmony.CodeInstruction)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L279">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SetInstruction_" data-uid="Harmony.CodeMatcher.SetInstruction*"></a>
<h4 id="Harmony_CodeMatcher_SetInstruction_Harmony_CodeInstruction_" data-uid="Harmony.CodeMatcher.SetInstruction(Harmony.CodeInstruction)">SetInstruction(CodeInstruction)</h4>
<div class="markdown level1 summary"><p>Sets an instruction at current position</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SetInstruction(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="Harmony.CodeInstruction.html">CodeInstruction</a></td>
<td><span class="parametername">instruction</span></td>
<td><p>The instruction to set</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SetInstructionAndAdvance_Harmony_CodeInstruction_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SetInstructionAndAdvance(Harmony.CodeInstruction)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L289">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SetInstructionAndAdvance_" data-uid="Harmony.CodeMatcher.SetInstructionAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_SetInstructionAndAdvance_Harmony_CodeInstruction_" data-uid="Harmony.CodeMatcher.SetInstructionAndAdvance(Harmony.CodeInstruction)">SetInstructionAndAdvance(CodeInstruction)</h4>
<div class="markdown level1 summary"><p>Sets instruction at current position and advances</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SetInstructionAndAdvance(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="Harmony.CodeInstruction.html">CodeInstruction</a></td>
<td><span class="parametername">instruction</span></td>
<td><p>The instruction</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SetJumpTo_OpCode_System_Int32_Label__.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SetJumpTo(OpCode%2CSystem.Int32%2CLabel%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L392">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SetJumpTo_" data-uid="Harmony.CodeMatcher.SetJumpTo*"></a>
<h4 id="Harmony_CodeMatcher_SetJumpTo_OpCode_System_Int32_Label__" data-uid="Harmony.CodeMatcher.SetJumpTo(OpCode,System.Int32,Label@)">SetJumpTo(OpCode, Int32, out Label)</h4>
<div class="markdown level1 summary"><p>Sets jump to</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SetJumpTo(OpCode opcode, int destination, out Label label)</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">OpCode</span></td>
<td><span class="parametername">opcode</span></td>
<td><p>Branch instruction</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">destination</span></td>
<td><p>Destination for the jump</p>
</td>
</tr>
<tr>
<td><span class="xref">Label</span></td>
<td><span class="parametername">label</span></td>
<td><p>[out] The created label</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SetOpcodeAndAdvance_OpCode_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SetOpcodeAndAdvance(OpCode)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L324">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SetOpcodeAndAdvance_" data-uid="Harmony.CodeMatcher.SetOpcodeAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_SetOpcodeAndAdvance_OpCode_" data-uid="Harmony.CodeMatcher.SetOpcodeAndAdvance(OpCode)">SetOpcodeAndAdvance(OpCode)</h4>
<div class="markdown level1 summary"><p>Sets opcode at current position and advances</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SetOpcodeAndAdvance(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">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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_SetOperandAndAdvance_System_Object_.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.SetOperandAndAdvance(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L335">View Source</a>
</span>
<a id="Harmony_CodeMatcher_SetOperandAndAdvance_" data-uid="Harmony.CodeMatcher.SetOperandAndAdvance*"></a>
<h4 id="Harmony_CodeMatcher_SetOperandAndAdvance_System_Object_" data-uid="Harmony.CodeMatcher.SetOperandAndAdvance(System.Object)">SetOperandAndAdvance(Object)</h4>
<div class="markdown level1 summary"><p>Sets operand at current position and advances</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher SetOperandAndAdvance(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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher_Start.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher.Start%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L523">View Source</a>
</span>
<a id="Harmony_CodeMatcher_Start_" data-uid="Harmony.CodeMatcher.Start*"></a>
<h4 id="Harmony_CodeMatcher_Start" data-uid="Harmony.CodeMatcher.Start">Start()</h4>
<div class="markdown level1 summary"><p>Moves the current position to the start</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CodeMatcher Start()</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="Harmony.CodeMatcher.html">CodeMatcher</a></td>
<td><p>The same code matcher</p>
</td>
</tr>
</tbody>
</table>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/pardeike/Harmony/new/master/apiSpec/new?filename=Harmony_CodeMatcher.md&amp;value=---%0Auid%3A%20Harmony.CodeMatcher%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/pardeike/Harmony/blob/master/Harmony/Tools/CodeMatcher.cs/#L112" class="contribution-link">View Source</a>
</li>
</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>