Table of Contents

Namespace MuLang.IR

Classes

IrAttributeCollection

Represents immutable well-known diagnostic attributes for an IR program.

IrBasicBlock

Represents a basic block in a MuLang IR function.

IrDiagnosticCodes

Defines diagnostic codes produced while validating portable IR.

IrDiagnosticNameResolver

Provides diagnostic display-name resolution for well-known IR attributes.

IrExceptionCleanup

Represents the cleanup component of an exception region.

IrExceptionHandler

Represents the handler component of an exception region.

IrExceptionProtectedRegion

Represents the protected component of an exception region.

IrExceptionRegion

Represents a protected exception-handling region in a MuLang IR function.

IrFunction

Represents an entry or user-defined function in portable MuLang IR.

IrFunctionAttributes

Represents diagnostic attributes associated with an IR function.

IrInstruction

Represents an executable operation in a MuLang IR basic block.

IrInstruction.Binary

Applies a binary operation.

IrInstruction.Constant

Loads a constant value into a slot.

IrInstruction.Convert

Converts a value to another type.

IrInstruction.Copy

Copies a value between slots.

IrInstruction.CreateArray

Creates an array value.

IrInstruction.CreateObject

Creates an object value.

IrInstruction.GetElement

Reads an indexed element or dynamic object property.

IrInstruction.GetProperty

Reads a named property.

IrInstruction.HasProperty

Tests whether an object contains a property.

IrInstruction.IsNull

Tests whether a value is null.

IrInstruction.LoadGlobal

Loads a provider global into a slot.

IrInstruction.ObjectPropertyValue

Associates an object property name with its value slot.

IrInstruction.ProviderCall

Invokes a provider function.

IrInstruction.RemoveElementProperty

Removes a dynamically named object property.

IrInstruction.RemoveProperty

Removes a named property.

IrInstruction.SetElement

Writes an indexed element or dynamic object property.

IrInstruction.SetProperty

Writes a named property.

IrInstruction.Truthiness

Converts a value to its truthiness result.

IrInstruction.TypeTest

Tests whether a value conforms to a type.

IrInstruction.Unary

Applies a unary operation.

IrInstruction.UserCall

Invokes a user-defined function.

IrLifetimeRegion

Represents a scoped slot lifetime region in a MuLang IR function.

IrProgram

Represents a complete portable MuLang IR program.

IrProgramAttributes

Represents diagnostic attributes associated with an IR program.

IrProviderSymbolName

Represents a diagnostic language name associated with a provider symbol identifier.

IrSlot

Describes a value slot in a MuLang IR function.

IrSlotAttributes

Represents diagnostic attributes associated with an IR slot.

IrTerminator

Represents the control-flow operation that ends an IR basic block.

IrTerminator.Branch

Transfers control according to a Boolean condition.

IrTerminator.Jump

Transfers control unconditionally to another block.

IrTerminator.Resume

Resumes the completion pending for the active cleanup.

IrTerminator.Return

Returns from the current function.

IrTerminator.Throw

Propagates an executable error value.

IrTypeAttributes

Represents diagnostic attributes associated with an IR type.

IrValidator

Validates portable MuLang IR against its structural and environment contracts.

Structs

IrSlotAttributeTarget

Identifies a function-local IR slot attribute target.

Enums

IrBinaryOperator

Identifies a binary IR operation.

IrConversionKind

Specifies the semantic kind of an IR conversion.

IrExceptionRegionPart

Identifies a component of an exception region.

IrSlotKind

Identifies the role of an IR slot.

IrSlotMutability

Specifies whether an IR local slot permits reassignment.

IrUnaryOperator

Identifies a unary IR operation.