Dynamo.Graph.Nodes.Variable.SetCorrectColumn C# (CSharp) Method

SetCorrectColumn() public static method

Moves column index back only if variable is not an expression.
public static SetCorrectColumn ( List refVar, Statement type, int line ) : void
refVar List list of variables
type Statement statement type
line int line index
return void
        public static void SetCorrectColumn(List<Variable> refVar, Statement.StatementType type, int line)
        {
            if (refVar == null)
                return;
            if (type != Statement.StatementType.Expression)
            {
                foreach (Variable singleVar in refVar)
                    singleVar.MoveColumnBack(line);
            }
        }

Usage Example

Example #1
0
        private Statement(Node parsedNode)
        {
            StartLine   = parsedNode.line;
            EndLine     = parsedNode.endLine;
            CurrentType = GetStatementType(parsedNode);
            AstNode     = parsedNode;

            if (parsedNode is BinaryExpressionNode)
            {
                //First get all the defined variables
                while (parsedNode is BinaryExpressionNode)
                {
                    IdentifierNode assignedVar = GetDefinedIdentifier((parsedNode as BinaryExpressionNode).LeftNode);
                    if (assignedVar != null)
                    {
                        definedVariables.Add(new Variable(assignedVar));
                    }
                    parsedNode = (parsedNode as BinaryExpressionNode).RightNode;
                }

                //Then get the referenced variables
                List <Variable> refVariableList = new List <Variable>();
                GetReferencedVariables(parsedNode, refVariableList);
                referencedVariables = refVariableList;
            }
            else if (parsedNode is FunctionDefinitionNode)
            {
                // Handle function definitions in CBN
            }
            else
            {
                throw new ArgumentException("Must be func def or assignment");
            }

            Variable.SetCorrectColumn(referencedVariables, CurrentType, StartLine);
        }