Struct Instruction
An instruction: a statement that produces a single value.
Implements
Inherited Members
Namespace: Flame.Compiler
Assembly: Flame.Compiler.dll
Syntax
public struct Instruction : IEquatable<Instruction>
Properties
| Improve this Doc View SourceArguments
Gets a list of values this instruction takes as arguments.
Declaration
public IReadOnlyList<ValueTag> Arguments { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<ValueTag> | The values taken as arguments. |
Prototype
Gets this instruction's prototype.
Declaration
public InstructionPrototype Prototype { get; }
Property Value
Type | Description |
---|---|
InstructionPrototype | The prototype. |
ResultType
Gets the type of value produced by this instruction.
Declaration
public IType ResultType { get; }
Property Value
Type | Description |
---|---|
IType | A type of value. |
Methods
| Improve this Doc View SourceCreateAlloca(IType)
Creates an instruction that allocates storage on the stack for a single value element of a particular type.
Declaration
public static Instruction CreateAlloca(IType elementType)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to allocate storage for. |
Returns
Type | Description |
---|---|
Instruction | An alloca instruction. |
CreateAllocaArray(IType, ValueTag)
Creates an instruction that allocates storage on the stack for a variable number of elements of a particular type.
Declaration
public static Instruction CreateAllocaArray(IType elementType, ValueTag elementCount)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to allocate storage for. |
ValueTag | elementCount | The number of elements to allocate storage for. |
Returns
Type | Description |
---|---|
Instruction | An alloca-array instruction. |
CreateAllocaPinnedIntrinsic(IType)
Creates an instruction that allocates a function-local variable that is pinned; the GC is not allowed to move the contents of the local.
Declaration
public static Instruction CreateAllocaPinnedIntrinsic(IType elementType)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to store in the pinned variable. |
Returns
Type | Description |
---|---|
Instruction | An alloca-pinned instruction prototype. |
CreateArithmeticIntrinsic(String, Boolean, IType, IReadOnlyList<IType>, IReadOnlyList<ValueTag>)
Creates an arithmetic intrinsic.
Declaration
public static Instruction CreateArithmeticIntrinsic(string operatorName, bool isChecked, IType resultType, IReadOnlyList<IType> parameterTypes, IReadOnlyList<ValueTag> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.String | operatorName | The name of the arithmetic operator to apply. |
System.Boolean | isChecked | Tells if the arithmetic intrinsic is checked, that is, if it throws on overflow. |
IType | resultType | The type of value produced by the intrinsic. |
System.Collections.Generic.IReadOnlyList<IType> | parameterTypes | The parameter types taken by the intrinsic. |
System.Collections.Generic.IReadOnlyList<ValueTag> | arguments | The argument list to pass to the instruction. |
Returns
Type | Description |
---|---|
Instruction | An arithmetic intrinsic. |
CreateBinaryArithmeticIntrinsic(String, Boolean, IType, ValueTag, ValueTag)
Creates a binary arithmetic intrinsic that is closed under the type of its arguments.
Declaration
public static Instruction CreateBinaryArithmeticIntrinsic(string operatorName, bool isChecked, IType elementType, ValueTag left, ValueTag right)
Parameters
Type | Name | Description |
---|---|---|
System.String | operatorName | The name of the binary arithmetic operator to apply. |
System.Boolean | isChecked | Tells if the arithmetic intrinsic is checked, that is, if it throws on overflow. |
IType | elementType | The type of both parameter types and the result type of the intrinsic. |
ValueTag | left | The first argument to the intrinsic. |
ValueTag | right | The second argument to the intrinsic. |
Returns
Type | Description |
---|---|
Instruction | An arithmetic intrinsic. |
CreateBox(IType, ValueTag)
Creates an instruction that boxes a value type, turning it into a reference type (aka box pointer).
Declaration
public static Instruction CreateBox(IType elementType, ValueTag element)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to box. |
ValueTag | element | The value to box. |
Returns
Type | Description |
---|---|
Instruction | A box instruction. |
CreateCall(IMethod, MethodLookup, ValueTag, IReadOnlyList<ValueTag>)
Creates an instruction that calls a particular method.
Declaration
public static Instruction CreateCall(IMethod callee, MethodLookup lookup, ValueTag thisArgument, IReadOnlyList<ValueTag> arguments)
Parameters
Type | Name | Description |
---|---|---|
IMethod | callee | The method to call. |
MethodLookup | lookup | The method implementation lookup technique to use for calling the method. |
ValueTag | thisArgument | The 'this' argument for the method call. |
System.Collections.Generic.IReadOnlyList<ValueTag> | arguments | The argument list for the method call. |
Returns
Type | Description |
---|---|
Instruction | A call instruction. |
CreateCall(IMethod, MethodLookup, IReadOnlyList<ValueTag>)
Creates an instruction that calls a particular method.
Declaration
public static Instruction CreateCall(IMethod callee, MethodLookup lookup, IReadOnlyList<ValueTag> arguments)
Parameters
Type | Name | Description |
---|---|---|
IMethod | callee | The method to call. |
MethodLookup | lookup | The method implementation lookup technique to use for calling the method. |
System.Collections.Generic.IReadOnlyList<ValueTag> | arguments | The extended argument list: a list of arguments prefixed with a 'this' argument, if applicable. |
Returns
Type | Description |
---|---|
Instruction | A call instruction. |
CreateCaptureIntrinsic(IType, IType, ValueTag)
Creates a 'capture' intrinsic, which captures a (thrown) exception.
Declaration
public static Instruction CreateCaptureIntrinsic(IType resultType, IType argumentType, ValueTag argument)
Parameters
Type | Name | Description |
---|---|---|
IType | resultType | The type of a captured exception. |
IType | argumentType | The type of the exception to capture. |
ValueTag | argument | An exception to capture. |
Returns
Type | Description |
---|---|
Instruction | A 'capture' intrinsic. |
CreateConstant(Constant, IType)
Creates an instruction that creates a constant value of a particular type.
Declaration
public static Instruction CreateConstant(Constant value, IType type)
Parameters
Type | Name | Description |
---|---|---|
Constant | value | The constant value to produce. |
IType | type | The type of value created by the instruction. |
Returns
Type | Description |
---|---|
Instruction | A constant instruction. |
CreateConstrainedCall(IMethod, ValueTag, IReadOnlyList<ValueTag>)
Creates an instruction that performs a constrained virtual call to a particular method.
Declaration
public static Instruction CreateConstrainedCall(IMethod callee, ValueTag thisArgument, IReadOnlyList<ValueTag> arguments)
Parameters
Type | Name | Description |
---|---|---|
IMethod | callee | The method to call. |
ValueTag | thisArgument | The 'this' argument for the constrained method call. |
System.Collections.Generic.IReadOnlyList<ValueTag> | arguments | The argument list for the constrained method call. |
Returns
Type | Description |
---|---|
Instruction | A constrained call instruction. |
CreateConvertIntrinsic(Boolean, IType, IType, ValueTag)
Creates an intrinsic that converts one primitive type to another.
Declaration
public static Instruction CreateConvertIntrinsic(bool isChecked, IType targetType, IType sourceType, ValueTag value)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | isChecked | Tells if the arithmetic intrinsic is checked, that is, if it throws on overflow. |
IType | targetType | The target primitive type: the type to convert the value to. |
IType | sourceType | The source primitive type: the type of the value to convert. |
ValueTag | value | The value to convert. |
Returns
Type | Description |
---|---|
Instruction | A conversion instruction. |
CreateCopy(IType, ValueTag)
Creates a copy instruction, which creates an alias for an existing value.
Declaration
public static Instruction CreateCopy(IType type, ValueTag value)
Parameters
Type | Name | Description |
---|---|---|
IType | type | The type of value to copy. |
ValueTag | value | The value to copy. |
Returns
Type | Description |
---|---|
Instruction | A copy instruction. |
CreateDefaultConstant(IType)
Creates an instruction that creates a default-value constant of a particular type. The resulting constant need not be an instance of DefaultConstant: it may be tailored to the type of value to produce.
Declaration
public static Instruction CreateDefaultConstant(IType type)
Parameters
Type | Name | Description |
---|---|---|
IType | type | The type of value created by the instruction. |
Returns
Type | Description |
---|---|
Instruction | A default-value constant instruction. |
CreateDynamicCast(PointerType, ValueTag)
Creates a dynamic cast instruction that converts from one pointer type to another.
Declaration
public static Instruction CreateDynamicCast(PointerType targetType, ValueTag operand)
Parameters
Type | Name | Description |
---|---|---|
PointerType | targetType | A type to convert operands to. |
ValueTag | operand | An operand to convert to the target type. |
Returns
Type | Description |
---|---|
Instruction | A dynamic cast instruction. |
CreateGetCapturedExceptionIntrinsic(IType, IType, ValueTag)
Creates a 'get_captured_exception' intrinsic, which throws an exception.
Declaration
public static Instruction CreateGetCapturedExceptionIntrinsic(IType resultType, IType argumentType, ValueTag argument)
Parameters
Type | Name | Description |
---|---|---|
IType | resultType | The type of the exception value returned by this operation. |
IType | argumentType | The type of the captured exception to examine. |
ValueTag | argument | A captured exception to examine. |
Returns
Type | Description |
---|---|
Instruction | A 'get_captured_exception' intrinsic. |
CreateGetElementPointerIntrinsic(IType, IType, IReadOnlyList<IType>, ValueTag, IReadOnlyList<ValueTag>)
Creates a 'get_element_pointer' intrinsic, which indexes an array and computes a pointer to the indexed array element.
Declaration
public static Instruction CreateGetElementPointerIntrinsic(IType elementType, IType arrayType, IReadOnlyList<IType> indexTypes, ValueTag arrayValue, IReadOnlyList<ValueTag> indexValues)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of element to compute a pointer to. |
IType | arrayType | The type of array to index. |
System.Collections.Generic.IReadOnlyList<IType> | indexTypes | The types of indices to index the array with. |
ValueTag | arrayValue | The array to index. |
System.Collections.Generic.IReadOnlyList<ValueTag> | indexValues | The indices to index the array with. |
Returns
Type | Description |
---|---|
Instruction | A 'get_element_pointer' intrinsic. |
CreateGetFieldPointer(IField, ValueTag)
Creates a get-field-pointer instruction.
Declaration
public static Instruction CreateGetFieldPointer(IField field, ValueTag basePointer)
Parameters
Type | Name | Description |
---|---|---|
IField | field | The field to create a pointer to. |
ValueTag | basePointer | A value that includes |
Returns
Type | Description |
---|---|
Instruction | A get-field-pointer instruction. |
CreateGetLengthIntrinsic(IType, IType, ValueTag)
Creates a 'get_length' intrinsic, which computes the number of elements in an array.
Declaration
public static Instruction CreateGetLengthIntrinsic(IType sizeType, IType arrayType, ValueTag arrayValue)
Parameters
Type | Name | Description |
---|---|---|
IType | sizeType | The type of integer to store the length of the array in. |
IType | arrayType | The type of array to inspect. |
ValueTag | arrayValue | The array to inspect. |
Returns
Type | Description |
---|---|
Instruction | A 'get_length' intrinsic. |
CreateGetStaticFieldPointer(IField)
Creates a get-static-field-pointer instruction.
Declaration
public static Instruction CreateGetStaticFieldPointer(IField field)
Parameters
Type | Name | Description |
---|---|---|
IField | field | The field to create a pointer to. |
Returns
Type | Description |
---|---|
Instruction | A get-static-field-pointer instruction. |
CreateIndirectCall(IType, IReadOnlyList<IType>, ValueTag, IReadOnlyList<ValueTag>)
Creates an indirect call instruction.
Declaration
public static Instruction CreateIndirectCall(IType returnType, IReadOnlyList<IType> parameterTypes, ValueTag callee, IReadOnlyList<ValueTag> arguments)
Parameters
Type | Name | Description |
---|---|---|
IType | returnType | The type of value returned by the callee. |
System.Collections.Generic.IReadOnlyList<IType> | parameterTypes | A list of parameter types. |
ValueTag | callee | The delegate or function pointer to call. |
System.Collections.Generic.IReadOnlyList<ValueTag> | arguments | The argument list for the call. |
Returns
Type | Description |
---|---|
Instruction | An indirect call instruction. |
CreateLoad(IType, ValueTag, Boolean, Alignment)
Creates a load instruction.
Declaration
public static Instruction CreateLoad(IType pointeeType, ValueTag pointer, bool isVolatile = false, Alignment alignment = default(Alignment))
Parameters
Type | Name | Description |
---|---|---|
IType | pointeeType | The type of value to load. |
ValueTag | pointer | A pointer to the value to load. |
System.Boolean | isVolatile | Tells if the load is a volatile operation. Volatile operations may not be reordered with regard to each other. |
Alignment | alignment | The pointer alignment of |
Returns
Type | Description |
---|---|
Instruction | A load instruction. |
CreateLoadElementIntrinsic(IType, IType, IReadOnlyList<IType>, ValueTag, IReadOnlyList<ValueTag>)
Creates a 'load_element' intrinsic, which indexes an array and loads the indexed array element.
Declaration
public static Instruction CreateLoadElementIntrinsic(IType elementType, IType arrayType, IReadOnlyList<IType> indexTypes, ValueTag arrayValue, IReadOnlyList<ValueTag> indexValues)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of element to load. |
IType | arrayType | The type of array to index. |
System.Collections.Generic.IReadOnlyList<IType> | indexTypes | The types of indices to index the array with. |
ValueTag | arrayValue | The array to index. |
System.Collections.Generic.IReadOnlyList<ValueTag> | indexValues | The indices to index the array with. |
Returns
Type | Description |
---|---|
Instruction | A 'load_element' intrinsic. |
CreateNewArrayIntrinsic(IType, IType, ValueTag)
Creates a 'new_array' intrinsic, which allocates a new array of a particular size.
Declaration
public static Instruction CreateNewArrayIntrinsic(IType arrayType, IType sizeType, ValueTag sizeValue)
Parameters
Type | Name | Description |
---|---|---|
IType | arrayType | The type of array to allocate. |
IType | sizeType | The type of integer that describes the desired length of the array to allocate. |
ValueTag | sizeValue | The desired length of the array to allocate. |
Returns
Type | Description |
---|---|
Instruction | A 'new_array' intrinsic. |
CreateNewDelegate(IType, IMethod, ValueTag, MethodLookup)
Creates a new-delegate instruction.
Declaration
public static Instruction CreateNewDelegate(IType delegateType, IMethod callee, ValueTag thisArgument, MethodLookup lookup)
Parameters
Type | Name | Description |
---|---|---|
IType | delegateType | The type of the resulting delegate or function pointer. |
IMethod | callee | The method called by the resulting delegate or function pointer. |
ValueTag | thisArgument | The 'this' argument, if any. A |
MethodLookup | lookup | The method implementation lookup technique to use. |
Returns
Type | Description |
---|---|
Instruction | A new-delegate instruction. |
CreateNewObject(IMethod, IReadOnlyList<ValueTag>)
Creates a new-object instruction that allocates storage on the heap for an object and initializes it using a constructor.
Declaration
public static Instruction CreateNewObject(IMethod constructor, IReadOnlyList<ValueTag> arguments)
Parameters
Type | Name | Description |
---|---|---|
IMethod | constructor | The constructor to initialize objects with. |
System.Collections.Generic.IReadOnlyList<ValueTag> | arguments | A list of arguments to call the constructor with. |
Returns
Type | Description |
---|---|
Instruction | A new-object instruction. |
CreateReinterpretCast(PointerType, ValueTag)
Creates a reinterpret cast instruction that converts from one pointer type to another.
Declaration
public static Instruction CreateReinterpretCast(PointerType targetType, ValueTag operand)
Parameters
Type | Name | Description |
---|---|---|
PointerType | targetType | A type to convert operands to. |
ValueTag | operand | An operand to convert to the target type. |
Returns
Type | Description |
---|---|
Instruction | A reinterpret cast instruction. |
CreateRelationalIntrinsic(String, IType, IType, ValueTag, ValueTag)
Creates a binary arithmetic intrinsic that produces a Boolean value.
Declaration
public static Instruction CreateRelationalIntrinsic(string operatorName, IType booleanType, IType elementType, ValueTag left, ValueTag right)
Parameters
Type | Name | Description |
---|---|---|
System.String | operatorName | The name of the binary arithmetic operator to apply. |
IType | booleanType | The type of value returned by the relational operator. |
IType | elementType | The type of both parameter types. |
ValueTag | left | The first argument to the intrinsic. |
ValueTag | right | The second argument to the intrinsic. |
Returns
Type | Description |
---|---|
Instruction | A relational arithmetic intrinsic. |
CreateRethrowIntrinsic(IType, ValueTag)
Creates a 'rethrow' intrinsic, which rethrows a captured exception. The difference between 'rethrow' and 'throw' is that the former takes a captured exception and retains stack trace information whereas the latter takes a (raw) exception value and constructs a new stack trace.
Declaration
public static Instruction CreateRethrowIntrinsic(IType capturedExceptionType, ValueTag capturedException)
Parameters
Type | Name | Description |
---|---|---|
IType | capturedExceptionType | The type of the captured exception to rethrow. |
ValueTag | capturedException | The captured exception to rethrow. |
Returns
Type | Description |
---|---|
Instruction | A 'rethrow' intrinsic. |
CreateSizeOf(IType, IType)
Creates an instruction that measures the size of a type.
Declaration
public static Instruction CreateSizeOf(IType measuredType, IType resultType)
Parameters
Type | Name | Description |
---|---|---|
IType | measuredType | The type to measure. |
IType | resultType | The type of value to produce. |
Returns
Type | Description |
---|---|
Instruction | A sizeof instruction. |
CreateStore(IType, ValueTag, ValueTag, Boolean, Alignment)
Creates a store instruction.
Declaration
public static Instruction CreateStore(IType pointeeType, ValueTag pointer, ValueTag value, bool isVolatile = false, Alignment alignment = default(Alignment))
Parameters
Type | Name | Description |
---|---|---|
IType | pointeeType | The type of |
ValueTag | pointer | A pointer the target of the store. |
ValueTag | value | A value to store at |
System.Boolean | isVolatile | Tells if the store is a volatile operation. Volatile operations may not be reordered with regard to each other. |
Alignment | alignment | The pointer alignment of |
Returns
Type | Description |
---|---|
Instruction | A store instruction. |
CreateStoreElementIntrinsic(IType, IType, IReadOnlyList<IType>, ValueTag, ValueTag, IReadOnlyList<ValueTag>)
Creates a 'store_element' intrinsic, which indexes an array and sets the indexed array element.
Declaration
public static Instruction CreateStoreElementIntrinsic(IType elementType, IType arrayType, IReadOnlyList<IType> indexTypes, ValueTag elementValue, ValueTag arrayValue, IReadOnlyList<ValueTag> indexValues)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of element to store in the array. |
IType | arrayType | The type of array to index. |
System.Collections.Generic.IReadOnlyList<IType> | indexTypes | The types of indices to index the array with. |
ValueTag | elementValue | The value to store in the array. |
ValueTag | arrayValue | The array to index. |
System.Collections.Generic.IReadOnlyList<ValueTag> | indexValues | The indices to index the array with. |
Returns
Type | Description |
---|---|
Instruction | A 'store_element' intrinsic. |
CreateThrowIntrinsic(IType, ValueTag)
Creates a 'throw' intrinsic, which throws an exception.
Declaration
public static Instruction CreateThrowIntrinsic(IType exceptionType, ValueTag exception)
Parameters
Type | Name | Description |
---|---|---|
IType | exceptionType | The type of exception to throw. |
ValueTag | exception | The exception to throw. |
Returns
Type | Description |
---|---|
Instruction | A 'throw' intrinsic. |
CreateUnbox(IType, ValueTag)
Creates an instruction that unboxes a box pointer, turning it into a ref pointer to the box's contents.
Declaration
public static Instruction CreateUnbox(IType elementType, ValueTag value)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to unbox. |
ValueTag | value | The value to unbox. |
Returns
Type | Description |
---|---|
Instruction | An unbox instruction. |
CreateUnboxAnyIntrinsic(IType, IType, ValueTag)
Creates an 'unbox_any' intrinsic. Its return type can either be a value type or a reference type (aka box pointer). If its return type is set to a value type, 'unbox_any' unboxes its argument and loads it. If 'unbox_any's return value is set to a reference type, 'unbox_any' checks that its argument is a subtype of the return type.
Declaration
public static Instruction CreateUnboxAnyIntrinsic(IType targetType, IType sourceType, ValueTag value)
Parameters
Type | Name | Description |
---|---|---|
IType | targetType | The target type: the type to unbox or cast a box pointer to. |
IType | sourceType | The source type: the type of the value to convert. |
ValueTag | value | The value to convert. |
Returns
Type | Description |
---|---|
Instruction | An 'unbox_any' intrinsic. |
Equals(Instruction)
Tests if this instruction is (superficially) identical to another instruction.
Declaration
public bool Equals(Instruction other)
Parameters
Type | Name | Description |
---|---|---|
Instruction | other | The other instruction. |
Returns
Type | Description |
---|---|
System.Boolean |
|
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
System.Object | obj |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
System.Int32 |
Overrides
Map(MemberMapping)
Applies a member mapping to this instruction.
Declaration
public Instruction Map(MemberMapping mapping)
Parameters
Type | Name | Description |
---|---|---|
MemberMapping | mapping | A member mapping. |
Returns
Type | Description |
---|---|
Instruction | A transformed prototype. |
MapArguments(IReadOnlyDictionary<ValueTag, ValueTag>)
Creates a new instruction by applying a mapping to this instruction's argument list.
Declaration
public Instruction MapArguments(IReadOnlyDictionary<ValueTag, ValueTag> mapping)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IReadOnlyDictionary<ValueTag, ValueTag> | mapping | The mapping to apply to every element of this instruction's argument list, encoded as a dictionary. Arguments that do not show up as keys in the dictionary are left unmodified. |
Returns
Type | Description |
---|---|
Instruction | A new instruction. |
MapArguments(Func<ValueTag, ValueTag>)
Creates a new instruction by applying a mapping to this instruction's argument list.
Declaration
public Instruction MapArguments(Func<ValueTag, ValueTag> mapping)
Parameters
Type | Name | Description |
---|---|---|
System.Func<ValueTag, ValueTag> | mapping | The mapping to apply to every element of this instruction's argument list. |
Returns
Type | Description |
---|---|
Instruction | A new instruction. |
Validate(MethodBody)
Checks if this instruction conforms to the rules for its instruction prototype.
Declaration
public IReadOnlyList<string> Validate(MethodBody body)
Parameters
Type | Name | Description |
---|---|---|
MethodBody | body | The method body that defines this instruction. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<System.String> | A list of validation errors. |
WithArguments(IReadOnlyList<ValueTag>)
Creates a new instruction that copies everything from this instruction but uses a different argument list.
Declaration
public Instruction WithArguments(IReadOnlyList<ValueTag> newArguments)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IReadOnlyList<ValueTag> | newArguments | The new argument list. |
Returns
Type | Description |
---|---|
Instruction | A new instruction. |
Operators
| Improve this Doc View SourceEquality(Instruction, Instruction)
Tests if the first instruction equals the second.
Declaration
public static bool operator ==(Instruction left, Instruction right)
Parameters
Type | Name | Description |
---|---|---|
Instruction | left | The first instruction. |
Instruction | right | The second instruction. |
Returns
Type | Description |
---|---|
System.Boolean |
|
Inequality(Instruction, Instruction)
Tests if the first instruction does not equal the second.
Declaration
public static bool operator !=(Instruction left, Instruction right)
Parameters
Type | Name | Description |
---|---|---|
Instruction | left | The first instruction. |
Instruction | right | The second instruction. |
Returns
Type | Description |
---|---|
System.Boolean |
|