Show / Hide Table of Contents

Class CodeMatch

A CodeInstruction match

Inheritance
System.Object
CodeInstruction
CodeMatch
Inherited Members
CodeInstruction.opcode
CodeInstruction.operand
CodeInstruction.labels
CodeInstruction.blocks
CodeInstruction.Clone()
CodeInstruction.Clone(OpCode)
CodeInstruction.Clone(Object)
CodeInstruction.Call(Type, String, Type[], Type[])
CodeInstruction.Call(String, Type[], Type[])
CodeInstruction.Call(Expression<Action>)
CodeInstruction.Call<T>(Expression<Action<T>>)
CodeInstruction.Call<T, TResult>(Expression<Func<T, TResult>>)
CodeInstruction.Call(LambdaExpression)
CodeInstruction.CallClosure<T>(T)
CodeInstruction.LoadField(Type, String, Boolean)
CodeInstruction.StoreField(Type, String)
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: HarmonyLib
Assembly: 0Harmony.dll
Syntax
public class CodeMatch : CodeInstruction

Constructors

| Improve this Doc View Source

CodeMatch(CodeInstruction, String)

Creates a code match

Declaration
public CodeMatch(CodeInstruction instruction, string name = null)
Parameters
Type Name Description
CodeInstruction instruction

The CodeInstruction

System.String name

An optional name

| Improve this Doc View Source

CodeMatch(Func<CodeInstruction, Boolean>, String)

Creates a code match

Declaration
public CodeMatch(Func<CodeInstruction, bool> predicate, string name = null)
Parameters
Type Name Description
System.Func<CodeInstruction, System.Boolean> predicate

The predicate

System.String name

An optional name

| Improve this Doc View Source

CodeMatch(Nullable<OpCode>, Object, String)

Creates a code match

Declaration
public CodeMatch(OpCode? opcode = null, object operand = null, string name = null)
Parameters
Type Name Description
System.Nullable<System.Reflection.Emit.OpCode> opcode

The optional opcode

System.Object operand

The optional operand

System.String name

The optional name

Fields

| Improve this Doc View Source

jumpsFrom

The jumps from the match

Declaration
public List<int> jumpsFrom
Field Value
Type Description
System.Collections.Generic.List<System.Int32>
| Improve this Doc View Source

jumpsTo

The jumps to the match

Declaration
public List<int> jumpsTo
Field Value
Type Description
System.Collections.Generic.List<System.Int32>
| Improve this Doc View Source

name

The name of the match

Declaration
public string name
Field Value
Type Description
System.String
| Improve this Doc View Source

opcodes

The matched opcodes

Declaration
public List<OpCode> opcodes
Field Value
Type Description
System.Collections.Generic.List<System.Reflection.Emit.OpCode>
| Improve this Doc View Source

operands

The matched operands

Declaration
public List<object> operands
Field Value
Type Description
System.Collections.Generic.List<System.Object>
| Improve this Doc View Source

predicate

The match predicate

Declaration
public Func<CodeInstruction, bool> predicate
Field Value
Type Description
System.Func<CodeInstruction, System.Boolean>

Methods

| Improve this Doc View Source

ToString()

Returns a string that represents the match

Declaration
public override string ToString()
Returns
Type Description
System.String

A string representation

Overrides
CodeInstruction.ToString()

Extension Methods

CodeInstructionExtensions.OperandIs(CodeInstruction, Object)
CodeInstructionExtensions.Is(CodeInstruction, OpCode, Object)
CodeInstructionExtensions.IsLdarg(CodeInstruction, Nullable<Int32>)
CodeInstructionExtensions.IsLdarga(CodeInstruction, Nullable<Int32>)
CodeInstructionExtensions.IsStarg(CodeInstruction, Nullable<Int32>)
CodeInstructionExtensions.IsLdloc(CodeInstruction, LocalBuilder)
CodeInstructionExtensions.IsStloc(CodeInstruction, LocalBuilder)
CodeInstructionExtensions.Branches(CodeInstruction, out Nullable<Label>)
CodeInstructionExtensions.Calls(CodeInstruction, MethodInfo)
CodeInstructionExtensions.LoadsConstant(CodeInstruction)
CodeInstructionExtensions.LoadsConstant(CodeInstruction, Int64)
CodeInstructionExtensions.LoadsConstant(CodeInstruction, Double)
CodeInstructionExtensions.LoadsConstant(CodeInstruction, Enum)
CodeInstructionExtensions.LoadsField(CodeInstruction, FieldInfo, Boolean)
CodeInstructionExtensions.StoresField(CodeInstruction, FieldInfo)
CodeInstructionExtensions.WithLabels(CodeInstruction, Label[])
CodeInstructionExtensions.WithLabels(CodeInstruction, IEnumerable<Label>)
CodeInstructionExtensions.ExtractLabels(CodeInstruction)
CodeInstructionExtensions.MoveLabelsTo(CodeInstruction, CodeInstruction)
CodeInstructionExtensions.MoveLabelsFrom(CodeInstruction, CodeInstruction)
CodeInstructionExtensions.WithBlocks(CodeInstruction, ExceptionBlock[])
CodeInstructionExtensions.WithBlocks(CodeInstruction, IEnumerable<ExceptionBlock>)
CodeInstructionExtensions.ExtractBlocks(CodeInstruction)
CodeInstructionExtensions.MoveBlocksTo(CodeInstruction, CodeInstruction)
CodeInstructionExtensions.MoveBlocksFrom(CodeInstruction, CodeInstruction)
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX