/// <summary> /// Creates a new failed debug assertion. /// </summary> /// <param name="location">The current location.</param> /// <param name="kind">The operation kind.</param> /// <param name="message">The assertion message.</param> /// <returns>A node that represents the debug assertion.</returns> public ValueReference CreateDebug( Location location, DebugKind kind, Value message) => Append(new DebugOperation( GetInitializer(location), kind, message));
/// <summary> /// Creates a new failed debug assertion. /// </summary> /// <param name="kind">The operation kind.</param> /// <param name="message">The assertion message.</param> /// <returns>A node that represents the debug assertion.</returns> public ValueReference CreateDebug( DebugKind kind, Value message) { Debug.Assert(message != null, "Invalid message value"); return(Append(new DebugOperation( Context, BasicBlock, kind, message))); }
/// <summary> /// Constructs a new debug operation. /// </summary> /// <param name="context">The parent IR context.</param> /// <param name="basicBlock">The parent basic block.</param> /// <param name="kind">The operation kind.</param> /// <param name="message">The debug message.</param> internal DebugOperation( IRContext context, BasicBlock basicBlock, DebugKind kind, ValueReference message) : base( ValueKind.Debug, basicBlock, ImmutableArray.Create(message), ComputeType(context)) { }