Esempio n. 1
0
 public void Initialize(DbgEvaluationContext context, DbgStackFrame frame, VariablesProvider argumentsProvider, VariablesProvider localsProvider, CancellationToken cancellationToken)
 {
     Debug.Assert(this.context == null);
     if (this.context != null)
     {
         throw new InvalidOperationException();
     }
     this.context           = context;
     this.frame             = frame;
     this.cancellationToken = cancellationToken;
     this.argumentsProvider = argumentsProvider ?? DefaultArgumentsProvider;
     this.localsProvider    = localsProvider ?? DefaultLocalsProvider;
     Debug.Assert(valuesToDispose.Count == 0);
 }
Esempio n. 2
0
 public void Clear(DbgDotNetValue returnValue)
 {
     context           = null;
     frame             = null;
     cancellationToken = default;
     foreach (var v in valuesToDispose)
     {
         if (v != returnValue && argumentsProvider.CanDispose(v) && localsProvider.CanDispose(v))
         {
             v.Dispose();
         }
     }
     valuesToDispose.Clear();
     argumentsProvider.Clear();
     localsProvider.Clear();
     argumentsProvider = null;
     localsProvider    = null;
 }
Esempio n. 3
0
 public abstract DbgDotNetValueResult Execute(DbgEvaluationContext context, DbgStackFrame frame, IList <DmdType> genericTypeArguments, IList <DmdType> genericMethodArguments, VariablesProvider argumentsProvider, VariablesProvider localsProvider, DbgDotNetILInterpreterState state, string typeName, string methodName, DbgEvaluationOptions options, out DmdType expectedType, CancellationToken cancellationToken);