Class IrProgram
Represents a complete portable MuLang IR program.
public sealed record IrProgram : IEquatable<IrProgram>
- Inheritance
-
IrProgram
- Implements
- Inherited Members
Constructors
IrProgram(EnvironmentFingerprint, CompilationMode, LanguageProfileFingerprint, IrFunction, IReadOnlyList<IrFunction>)
Represents a complete portable MuLang IR program.
public IrProgram(EnvironmentFingerprint EnvironmentFingerprint, CompilationMode CompilationMode, LanguageProfileFingerprint LanguageProfileFingerprint, IrFunction EntryFunction, IReadOnlyList<IrFunction> UserFunctions)
Parameters
EnvironmentFingerprintEnvironmentFingerprintThe fingerprint of the environment used during compilation.
CompilationModeCompilationModeThe source compilation mode.
LanguageProfileFingerprintLanguageProfileFingerprintThe fingerprint of the language profile used during compilation.
EntryFunctionIrFunctionThe program entry function.
UserFunctionsIReadOnlyList<IrFunction>The user-defined functions.
Properties
Attributes
Gets the well-known diagnostic attributes.
public IrAttributeCollection Attributes { get; init; }
Property Value
Blocks
Gets the basic blocks of the entry function.
public IReadOnlyList<IrBasicBlock> Blocks { get; }
Property Value
CompilationMode
The source compilation mode.
public CompilationMode CompilationMode { get; init; }
Property Value
EntryBlock
Gets the entry block identifier of the entry function.
public int EntryBlock { get; }
Property Value
EntryFunction
The program entry function.
public IrFunction EntryFunction { get; init; }
Property Value
EnvironmentFingerprint
The fingerprint of the environment used during compilation.
public EnvironmentFingerprint EnvironmentFingerprint { get; init; }
Property Value
LanguageProfileFingerprint
The fingerprint of the language profile used during compilation.
public LanguageProfileFingerprint LanguageProfileFingerprint { get; init; }
Property Value
ResultType
Gets the result type of the entry function.
public TypeSymbol ResultType { get; }
Property Value
Slots
Gets the slots of the entry function.
public IReadOnlyList<IrSlot> Slots { get; }
Property Value
UserFunctions
The user-defined functions.
public IReadOnlyList<IrFunction> UserFunctions { get; init; }
Property Value
Methods
Deconstruct(out EnvironmentFingerprint, out CompilationMode, out LanguageProfileFingerprint, out IrFunction, out IReadOnlyList<IrFunction>)
public void Deconstruct(out EnvironmentFingerprint EnvironmentFingerprint, out CompilationMode CompilationMode, out LanguageProfileFingerprint LanguageProfileFingerprint, out IrFunction EntryFunction, out IReadOnlyList<IrFunction> UserFunctions)
Parameters
EnvironmentFingerprintEnvironmentFingerprintCompilationModeCompilationModeLanguageProfileFingerprintLanguageProfileFingerprintEntryFunctionIrFunctionUserFunctionsIReadOnlyList<IrFunction>
Equals(IrProgram?)
public bool Equals(IrProgram? other)
Parameters
otherIrProgram
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(IrProgram?, IrProgram?)
public static bool operator ==(IrProgram? left, IrProgram? right)
Parameters
Returns
operator !=(IrProgram?, IrProgram?)
public static bool operator !=(IrProgram? left, IrProgram? right)