Esempio n. 1
0
        public override void VisitDefineVarNode(DefineVarNode node)
        {
            node.Type.Visit(this);
            var type = expressions.Pop();

            var defineVar = VariableDeclaration(type as TypeSyntax);

            foreach (var variable in node.Variables)
            {
                variable.Expression?.Visit(this);

                var id = IdentifierName(variable.ID.Text);
                id = GetNodeWithAnnotation(id, variable.ID.Location) as IdentifierNameSyntax;

                var identifer    = GetNodeWithAnnotation(id.Identifier, variable.ID.Location);
                var variableNode = VariableDeclarator(identifer);
                if (variable.Expression != null)
                {
                    variableNode = variableNode.WithInitializer(EqualsValueClause(expressions.Pop()));
                }
                variableNode = GetNodeWithAnnotation(variableNode, variable.Location) as VariableDeclaratorSyntax;

                defineVar = defineVar.AddVariables(variableNode);
            }

            defineVar = GetNodeWithAnnotation(defineVar, node.Location) as VariableDeclarationSyntax;

            AddVariableToCurrentBlock(defineVar);
        }
Esempio n. 2
0
 public virtual void VisitDefineVarNode(DefineVarNode node)
 {
 }