Пример #1
0
        ///////////////////////////////////////////////////////////////////////

        private InteractiveLoopData(
            InteractiveLoopData loopData
            )
            : this()
        {
            Copy(loopData, this);
        }
Пример #2
0
        ///////////////////////////////////////////////////////////////////////

        #region Private Static Methods
        private static void Copy(
            InteractiveLoopData sourceLoopData,
            InteractiveLoopData targetLoopData
            )
        {
            if ((sourceLoopData == null) || (targetLoopData == null))
            {
                return;
            }

            targetLoopData.Debug             = sourceLoopData.Debug;
            targetLoopData.Args              = sourceLoopData.Args;
            targetLoopData.Code              = sourceLoopData.Code;
            targetLoopData.BreakpointType    = sourceLoopData.BreakpointType;
            targetLoopData.BreakpointName    = sourceLoopData.BreakpointName;
            targetLoopData.Token             = sourceLoopData.Token;
            targetLoopData.TraceInfo         = sourceLoopData.TraceInfo;
            targetLoopData.EngineFlags       = sourceLoopData.EngineFlags;
            targetLoopData.SubstitutionFlags = sourceLoopData.SubstitutionFlags;
            targetLoopData.EventFlags        = sourceLoopData.EventFlags;
            targetLoopData.ExpressionFlags   = sourceLoopData.ExpressionFlags;
            targetLoopData.HeaderFlags       = sourceLoopData.HeaderFlags;
            targetLoopData.ClientData        = sourceLoopData.ClientData;
            targetLoopData.Arguments         = sourceLoopData.Arguments;
            targetLoopData.Exit              = sourceLoopData.Exit;
        }
Пример #3
0
        ///////////////////////////////////////////////////////////////////////

        //
        // NOTE: For Debugger class use only.
        //
        internal InteractiveLoopData(
            InteractiveLoopData loopData,
            bool debug
            )
            : this(loopData)
        {
            this.debug = debug;
        }
Пример #4
0
        ///////////////////////////////////////////////////////////////////////

        #region Interactive Loop Methods
#if SHELL
        public ReturnCode InteractiveLoop(
            InteractiveLoopData loopData,
            ref Result result
            )
        {
            CheckDisposed();

            return(Interpreter.InteractiveLoop(
                       interpreter, loopData, ref result));
        }
Пример #5
0
        ///////////////////////////////////////////////////////////////////////

        //
        // NOTE: For Interpreter class use only.
        //
        internal InteractiveLoopData(
            InteractiveLoopData loopData,
            IToken token,
            ITraceInfo traceInfo,
            HeaderFlags headerFlags
            )
            : this(loopData)
        {
            this.token       = token;
            this.traceInfo   = traceInfo;
            this.headerFlags = headerFlags;
        }
        ///////////////////////////////////////////////////////////////////////

        #region Public Methods
        public ReturnCode InteractiveLoopCallback(
            Interpreter interpreter,
            InteractiveLoopData loopData,
            ref Result result
            )
        {
            if (callback == null)
            {
                result = "invalid interactive loop callback";
                return(ReturnCode.Error);
            }

            return(callback.InteractiveLoop(interpreter, loopData, ref result));
        }