internal override void Prepare(IDictionary psDefaultParameterValues)
 {
     _localsTuple.SetAutomaticVariable(AutomaticVariable.MyInvocation, this.Command.MyInvocation, _context);
     _scriptBlock.SetPSScriptRootAndPSCommandPath(_localsTuple, _context);
     _functionContext = new FunctionContext
     {
         _executionContext    = _context,
         _outputPipe          = commandRuntime.OutputPipe,
         _localsTuple         = _localsTuple,
         _scriptBlock         = _scriptBlock,
         _file                = _scriptBlock.File,
         _debuggerHidden      = _scriptBlock.DebuggerHidden,
         _debuggerStepThrough = _scriptBlock.DebuggerStepThrough,
         _sequencePoints      = _scriptBlock.SequencePoints,
     };
 }
Beispiel #2
0
        internal override void Prepare(IDictionary psDefaultParameterValues)
        {
            if (UseLocalScope)
            {
                Diagnostics.Assert(CommandScope.LocalsTuple == null, "a newly created scope shouldn't have it's tuple set.");
                CommandScope.LocalsTuple = _localsTuple;
            }

            _localsTuple.SetAutomaticVariable(AutomaticVariable.MyInvocation, this.Command.MyInvocation, _context);
            _scriptBlock.SetPSScriptRootAndPSCommandPath(_localsTuple, _context);
            _functionContext = new FunctionContext
            {
                _executionContext    = _context,
                _outputPipe          = commandRuntime.OutputPipe,
                _localsTuple         = _localsTuple,
                _scriptBlock         = _scriptBlock,
                _file                = _scriptBlock.File,
                _debuggerHidden      = _scriptBlock.DebuggerHidden,
                _debuggerStepThrough = _scriptBlock.DebuggerStepThrough,
                _sequencePoints      = _scriptBlock.SequencePoints,
            };
        }
Beispiel #3
0
 public PSScriptCmdlet(ScriptBlock scriptBlock, bool useNewScope, bool fromScriptFile, ExecutionContext context)
 {
     _scriptBlock = scriptBlock;
     _useLocalScope = useNewScope;
     _fromScriptFile = fromScriptFile;
     _runOptimized = _scriptBlock.Compile(optimized: context._debuggingMode > 0 ? false : useNewScope);
     _localsTuple = _scriptBlock.MakeLocalsTuple(_runOptimized);
     _localsTuple.SetAutomaticVariable(AutomaticVariable.PSCmdlet, this, context);
     _scriptBlock.SetPSScriptRootAndPSCommandPath(_localsTuple, context);
     _functionContext = new FunctionContext
     {
         _localsTuple = _localsTuple,
         _scriptBlock = _scriptBlock,
         _file = _scriptBlock.File,
         _sequencePoints = _scriptBlock.SequencePoints,
         _debuggerHidden = _scriptBlock.DebuggerHidden,
         _debuggerStepThrough = _scriptBlock.DebuggerStepThrough,
         _executionContext = context,
     };
     _rethrowExitException = context.ScriptCommandProcessorShouldRethrowExit;
     context.ScriptCommandProcessorShouldRethrowExit = false;
 }