/////////////////////////////////////////////////////////////////////// private InteractiveLoopData( InteractiveLoopData loopData ) : this() { Copy(loopData, this); }
/////////////////////////////////////////////////////////////////////// #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; }
/////////////////////////////////////////////////////////////////////// // // NOTE: For Debugger class use only. // internal InteractiveLoopData( InteractiveLoopData loopData, bool debug ) : this(loopData) { this.debug = debug; }
/////////////////////////////////////////////////////////////////////// #region Interactive Loop Methods #if SHELL public ReturnCode InteractiveLoop( InteractiveLoopData loopData, ref Result result ) { CheckDisposed(); return(Interpreter.InteractiveLoop( interpreter, loopData, ref result)); }
/////////////////////////////////////////////////////////////////////// // // 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)); }