internal ActivationRecordBuilder BuildActivationRecord() { ActivationRecordBuilder activationRecordBuilder = new ActivationRecordBuilder(); this.AcceptInternal((ParseTreeVisitor)activationRecordBuilder, true); return(activationRecordBuilder); }
internal ScriptBlockNode( ParameterDeclarationNode parameterDeclaration, ParseTreeNode body, bool isFilter, List <AttributeNode> attributes, List <Token> helpComments, List <List <Token> > parameterComments) { this._parameterDeclarationNode = parameterDeclaration; if (isFilter) { this._process = body; } else { this._end = body; } this._isFilter = isFilter; this._attributes = attributes; this._helpComments = helpComments; this._parameterComments = parameterComments; ActivationRecordBuilder activationRecordBuilder = this.BuildActivationRecord(); this._pipelineSlots = activationRecordBuilder.PipelineSlots; this._variableSlots = activationRecordBuilder.VariableSlots; this.ValidAttributeArgument = true; }
internal object Execute(ParseTreeNode ptn, Array input) { object obj = (object)AutomationNull.Value; ActivationRecordBuilder activationRecordBuilder = new ActivationRecordBuilder(); ptn.Accept((ParseTreeVisitor)activationRecordBuilder); ActivationRecord activationRecord = this._context.EngineSessionState.CurrentActivationRecord; try { this._context.EngineSessionState.CurrentActivationRecord = new ActivationRecord(activationRecordBuilder.PipelineSlots, activationRecordBuilder.VariableSlots, this._context.EngineSessionState.CurrentScope); obj = ptn.Execute(input, this._context); } catch (FlowControlException ex) { } finally { this._context.EngineSessionState.CurrentActivationRecord = activationRecord; } return(obj); }
internal ExceptionHandlerNode( Token token, ExceptionTypeList exceptionTypeList, ParseTreeNode body, bool isCatchBlock) { this.NodeToken = token; this._exceptionTypes = exceptionTypeList; this._isCatchBlock = isCatchBlock; this._body = body; ActivationRecordBuilder activationRecordBuilder = new ActivationRecordBuilder(); if (this._body != null) { this._body.Accept((ParseTreeVisitor)activationRecordBuilder); this._pipelineSlots = activationRecordBuilder.PipelineSlots; this._variableSlots = activationRecordBuilder.VariableSlots; } else { this._pipelineSlots = 0; this._variableSlots = 0; } }
internal ScriptBlockNode( ParameterDeclarationNode parameterDeclaration, ParseTreeNode begin, ParseTreeNode process, ParseTreeNode end, ParseTreeNode dynamicParams, List <AttributeNode> attributes, List <Token> helpComments, List <List <Token> > parameterComments) { this._parameterDeclarationNode = parameterDeclaration; this._begin = begin; this._process = process; this._end = end; this._dynamicParams = dynamicParams; this._attributes = attributes; this._helpComments = helpComments; this._parameterComments = parameterComments; ActivationRecordBuilder activationRecordBuilder = this.BuildActivationRecord(); this._pipelineSlots = activationRecordBuilder.PipelineSlots; this._variableSlots = activationRecordBuilder.VariableSlots; this.ValidAttributeArgument = true; }