BFSchema.AstConvert.ConvertActionList C# (CSharp) Method

ConvertActionList() private method

private ConvertActionList ( PegNode node, IList actions ) : void
node Peg.Base.PegNode
actions IList
return void
        private void ConvertActionList(PegNode node, IList<IBfsAction> actions)
        {
            if (GetNodeId(node) != EBinaryFileSchemaParser.action_list)
                throw new AstConvertException("Wasn't an action list node!");

            for (node = node.child_; node != null; node = node.next_)
            {
                switch(GetNodeId(node))
                {
                    case EBinaryFileSchemaParser.output:
                        BfsActionOutput output = new BfsActionOutput();
                        StoreSourceRange(node, output);

                        BfsSourceRange range = new BfsSourceRange();
                        range.Begin = node.child_.next_.match_.posBeg_;
                        range.Length = node.child_.next_.match_.Length;
                        output.ArgumentSourceRange = range;

                        output.FunctionName = GetNodeText(node.child_);
                        output.Argument = GetNodeText(node.child_.next_);
                        actions.Add(output);
                        break;

                    case EBinaryFileSchemaParser.assignment:
                        BfsActionUnresolvedAssignment assignment = new BfsActionUnresolvedAssignment();
                        StoreSourceRange(node, assignment);
                        assignment.UnresolvedVariableName = GetNodeText(node.child_);
                        assignment.Expression = ConvertExpression(node.child_.next_);
                        actions.Add(assignment);
                        break;
                }
            }
        }