public CSharpStackFrameFormatter(ITextColorWriter output, DbgEvaluationInfo evalInfo, LanguageFormatter languageFormatter, DbgStackFrameFormatterOptions options, ValueFormatterOptions valueOptions, CultureInfo cultureInfo) { this.output = output ?? throw new ArgumentNullException(nameof(output)); this.evalInfo = evalInfo ?? throw new ArgumentNullException(nameof(evalInfo)); this.languageFormatter = languageFormatter ?? throw new ArgumentNullException(nameof(languageFormatter)); this.options = options; this.valueOptions = valueOptions; this.cultureInfo = cultureInfo ?? CultureInfo.InvariantCulture; }
public CSharpStackFrameFormatter(ITextColorWriter output, DbgEvaluationContext context, LanguageFormatter languageFormatter, DbgStackFrameFormatterOptions options, ValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) { this.output = output ?? throw new ArgumentNullException(nameof(output)); this.context = context ?? throw new ArgumentNullException(nameof(context)); this.languageFormatter = languageFormatter ?? throw new ArgumentNullException(nameof(languageFormatter)); this.options = options; this.valueOptions = valueOptions; this.cultureInfo = cultureInfo ?? CultureInfo.InvariantCulture; this.cancellationToken = cancellationToken; }
internal bool TryFormat(DbgEvaluationContext context, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) => engineStackFrame.TryFormat(context, output, options, valueOptions, cultureInfo, cancellationToken);
public override bool TryFormat(DbgEvaluationContext context, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) { output.Write(BoxedTextColor.Punctuation, "["); output.Write(BoxedTextColor.Text, name); output.Write(BoxedTextColor.Punctuation, "]"); return(true); }
public override void Format(DbgEvaluationContext context, DbgStackFrame frame, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (!(context is DbgEvaluationContextImpl)) { throw new ArgumentException(); } if (context.Language != Language) { throw new ArgumentException(); } if (context.Runtime.RuntimeKindGuid != runtimeKindGuid) { throw new ArgumentException(); } if (frame == null) { throw new ArgumentNullException(nameof(frame)); } if (frame.Runtime.RuntimeKindGuid != runtimeKindGuid) { throw new ArgumentException(); } if (output == null) { throw new ArgumentNullException(nameof(output)); } var frameImpl = frame as DbgStackFrameImpl; if (frameImpl == null) { throw new ArgumentException(); } if (!frameImpl.TryFormat(context, output, options, valueOptions, cultureInfo, cancellationToken)) { engineFormatter.Format(context, frame, output, options, valueOptions, cultureInfo, cancellationToken); } }
/// <summary> /// Formats a stack frame /// </summary> /// <param name="evalInfo">Evaluation info</param> /// <param name="output">Output</param> /// <param name="options">Stack frame options</param> /// <param name="valueOptions">Value option</param> /// <param name="cultureInfo">Culture or null to use invariant culture</param> public abstract void FormatFrame(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo?cultureInfo);
public override void FormatFrame(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo?cultureInfo) => new CSharpStackFrameFormatter(output, evalInfo, this, options, valueOptions.ToValueFormatterOptions(), cultureInfo).Format();
public override void FormatFrame(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo) { }
public override void FormatFrame(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo) { if (evalInfo == null) { throw new ArgumentNullException(nameof(evalInfo)); } if (!(evalInfo.Context is DbgEvaluationContextImpl)) { throw new ArgumentException(); } if (evalInfo.Context.Language != Language) { throw new ArgumentException(); } if (evalInfo.Context.Runtime.RuntimeKindGuid != runtimeKindGuid) { throw new ArgumentException(); } if (output == null) { throw new ArgumentNullException(nameof(output)); } var frameImpl = evalInfo.Frame as DbgStackFrameImpl; if (frameImpl == null) { throw new ArgumentException(); } try { if (!frameImpl.TryFormat(evalInfo.Context, output, options, valueOptions, cultureInfo, evalInfo.CancellationToken)) { engineFormatter.FormatFrame(evalInfo, output, options, valueOptions, cultureInfo); } } catch (Exception ex) when(ExceptionUtils.IsInternalDebuggerError(ex)) { WriteError(output); } }
/// <summary> /// Formats the stack frame or returns false /// </summary> /// <param name="context">Evaluation context</param> /// <param name="output">Output</param> /// <param name="options">Stack frame options</param> /// <param name="valueOptions">Value option</param> /// <param name="cultureInfo">Culture or null to use invariant culture</param> /// <param name="cancellationToken">Cancellation token</param> public virtual bool TryFormat(DbgEvaluationContext context, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) => false;
public override void FormatFrame(DbgEvaluationInfo evalInfo, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo) => new VisualBasicStackFrameFormatter(output, evalInfo, this, options, valueOptions.ToValueFormatterOptions(), cultureInfo).Format();
public override void Format(DbgEvaluationContext context, DbgStackFrame frame, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) { }
public override void Format(DbgEvaluationContext context, DbgStackFrame frame, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) => new VisualBasicStackFrameFormatter(output, context, this, options, valueOptions.ToValueFormatterOptions(), cultureInfo, cancellationToken).Format(frame);