Example #1
0
		public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread) {
			this.LocalsOwner = localsOwner;
			this.Thread = thread;
			this.Process = thread.Process;

			// Read everything immediately since the frame will be neutered when Continue() is called
			this.FrameCouldBeNeutered = frame;
			frame.GetTypeAndMethodGenericParameters(out genericTypeArguments, out genericMethodArguments);
			this.Function = frame.Function;
		}
Example #2
0
		public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread, IList<CorType> genericTypeArguments) {
			this.LocalsOwner = localsOwner;
			this.Thread = thread;
			this.Process = thread.Process;

			// Read everything immediately since the frame will be neutered when Continue() is called
			this.FrameCouldBeNeutered = frame;
			this.genericTypeArguments = genericTypeArguments;
			this.genericMethodArguments = new CorType[0];
			this.Function = frame == null ? null : frame.Function;
		}
Example #3
0
        public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread, List <CorType> genericTypeArguments)
        {
            this.LocalsOwner = localsOwner;
            this.Thread      = thread;
            this.Process     = thread.Process;

            // Read everything immediately since the frame will be neutered when Continue() is called
            this.FrameCouldBeNeutered   = frame;
            this.genericTypeArguments   = genericTypeArguments;
            this.genericMethodArguments = new List <CorType>();
            this.Function = frame?.Function;
        }
Example #4
0
		public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread, DnProcess process) {
			this.LocalsOwner = localsOwner;
			this.Thread = thread;
			this.Process = process;
			Debug.Assert(thread == null || thread.Process == process);

			// Read everything immediately since the frame will be neutered when Continue() is called
			this.FrameCouldBeNeutered = frame;
			if (frame == null) {
				genericTypeArguments = genericMethodArguments = new List<CorType>();
				this.Function = null;
			}
			else {
				frame.GetTypeAndMethodGenericParameters(out genericTypeArguments, out genericMethodArguments);
				this.Function = frame.Function;
			}
		}
Example #5
0
        public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread, DnProcess process)
        {
            this.LocalsOwner = localsOwner;
            this.Thread      = thread;
            this.Process     = process;
            Debug.Assert(thread == null || thread.Process == process);

            // Read everything immediately since the frame will be neutered when Continue() is called
            this.FrameCouldBeNeutered = frame;
            if (frame == null)
            {
                genericTypeArguments = genericMethodArguments = new List <CorType>();
                this.Function        = null;
            }
            else
            {
                frame.GetTypeAndMethodGenericParameters(out genericTypeArguments, out genericMethodArguments);
                this.Function = frame.Function;
            }
        }
Example #6
0
 public FrameInfo(ILocalsOwner localsOwner, DnThread thread, DnProcess process, CorFrame frame, int frameNo)
 {
     this.ValueContext = new ValueContext(localsOwner, frame, thread, process);
 }
Example #7
0
		public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread, List<CorType> genericTypeArguments) {
			LocalsOwner = localsOwner;
			Thread = thread;
			Process = thread.Process;

			// Read everything immediately since the frame will be neutered when Continue() is called
			FrameCouldBeNeutered = frame;
			this.genericTypeArguments = genericTypeArguments;
			genericMethodArguments = new List<CorType>();
			Function = frame?.Function;
		}