/// <summary> /// Constructor /// </summary> /// <param name="thread">Thread</param> /// <param name="value">Value</param> /// <param name="flags">Flags</param> public DbgEngineEvaluationResult(DbgThread thread, DbgEngineValue value, DbgEvaluationResultFlags flags) { Thread = thread ?? throw new ArgumentNullException(nameof(thread)); Value = value ?? throw new ArgumentNullException(nameof(value)); Flags = flags; Error = null; }
/// <summary> /// Constructor /// </summary> /// <param name="value">Value</param> /// <param name="formatSpecifiers">Format specifiers or null</param> /// <param name="flags">Flags</param> public DbgEngineEvaluationResult(DbgEngineValue value, ReadOnlyCollection <string> formatSpecifiers, DbgEvaluationResultFlags flags) { Value = value ?? throw new ArgumentNullException(nameof(value)); FormatSpecifiers = formatSpecifiers ?? emptyFormatSpecifiers; Flags = flags; Error = null; }
/// <summary> /// Formats the value's type. The thread is blocked until the type has been formatted /// </summary> /// <param name="context">Evaluation context</param> /// <param name="output">Output</param> /// <param name="value">Value to format</param> /// <param name="options">Options</param> /// <param name="cultureInfo">Culture or null to use invariant culture</param> /// <param name="cancellationToken">Cancellation token</param> public abstract void FormatType(DbgEvaluationContext context, ITextColorWriter output, DbgEngineValue value, DbgValueFormatterTypeOptions options, CultureInfo cultureInfo, CancellationToken cancellationToken);
/// <summary> /// Formats a value's type /// </summary> /// <param name="evalInfo">Evaluation info</param> /// <param name="output">Output</param> /// <param name="value">Value to format</param> /// <param name="options">Options</param> /// <param name="cultureInfo">Culture or null to use invariant culture</param> public abstract void FormatType(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgEngineValue value, DbgValueFormatterTypeOptions options, CultureInfo?cultureInfo);
/// <summary> /// Gets the hash code of a value created by this runtime /// </summary> /// <param name="value">Value created by this runtime</param> /// <returns></returns> public abstract int GetHashCode(DbgEngineValue value);
/// <summary> /// Checks if an object id and a value refer to the same data /// </summary> /// <param name="objectId">Object id created by this class</param> /// <param name="value">Value created by this runtime</param> /// <returns></returns> public abstract bool Equals(DbgEngineObjectId objectId, DbgEngineValue value);
/// <summary> /// Creates an object id or returns null /// </summary> /// <param name="value">Value created by this runtime</param> /// <param name="id">Unique id</param> /// <returns></returns> public abstract DbgEngineObjectId CreateObjectId(DbgEngineValue value, uint id);
/// <summary> /// Returns true if it's possible to create an object id /// </summary> /// <param name="value">Value created by this runtime</param> /// <returns></returns> public abstract bool CanCreateObjectId(DbgEngineValue value);
/// <summary> /// Formats the value. The thread is blocked until the value has been formatted /// </summary> /// <param name="context">Evaluation context</param> /// <param name="output">Output</param> /// <param name="value">Value to format</param> /// <param name="options">Options</param> /// <param name="cancellationToken">Cancellation token</param> public abstract void Format(DbgEvaluationContext context, ITextColorWriter output, DbgEngineValue value, DbgValueFormatterOptions options, CancellationToken cancellationToken);
/// <summary> /// Formats a value /// </summary> /// <param name="evalInfo">Evaluation info</param> /// <param name="output">Output</param> /// <param name="value">Value to format</param> /// <param name="options">Options</param> /// <param name="cultureInfo">Culture or null to use invariant culture</param> public abstract void FormatValue(DbgEvaluationInfo evalInfo, ITextColorWriter output, DbgEngineValue value, DbgValueFormatterOptions options, CultureInfo cultureInfo);