Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 internal bool TryFormat(DbgEvaluationContext context, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken) =>
 engineStackFrame.TryFormat(context, output, options, valueOptions, cultureInfo, cancellationToken);
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
 /// <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);
Ejemplo n.º 7
0
 public override void FormatFrame(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo?cultureInfo) =>
 new CSharpStackFrameFormatter(output, evalInfo, this, options, valueOptions.ToValueFormatterOptions(), cultureInfo).Format();
Ejemplo n.º 8
0
 public override void FormatFrame(DbgEvaluationInfo evalInfo, IDbgTextWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo)
 {
 }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
 /// <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;
Ejemplo n.º 11
0
 public override void FormatFrame(DbgEvaluationInfo evalInfo, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo) =>
 new VisualBasicStackFrameFormatter(output, evalInfo, this, options, valueOptions.ToValueFormatterOptions(), cultureInfo).Format();
Ejemplo n.º 12
0
 public override void Format(DbgEvaluationContext context, DbgStackFrame frame, ITextColorWriter output, DbgStackFrameFormatterOptions options, DbgValueFormatterOptions valueOptions, CultureInfo cultureInfo, CancellationToken cancellationToken)
 {
 }
Ejemplo n.º 13
0
 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);