Exemplo n.º 1
0
 public void VisitAssignment(AssignmentParseNode node)
 {
     VisitPreOrder(node);
     node.LHS.AcceptSyntaxTreeVisitor(_childVisitor);
     node.RHS.AcceptSyntaxTreeVisitor(_childVisitor);
     VisitPostOrder(node);
 }
Exemplo n.º 2
0
        public void Visit(AssignmentParseNode node)
        {
            IAddressableNode?assignableNode = node.LHS as IAddressableNode;

            if (assignableNode == null || !assignableNode.IsAddressable())
            {
                _errors.AddError("Left hand side of assignment is not assignable.", node);
                return;
            }

            _shouldReplace = true;
            _newNode       = new AssignmentNode(assignableNode, node.RHS);

            // TODO: Need more automated symbol association for new nodes.
            Symbol originalSymbol;

            _semanticModule.SymbolMap.TryGetValue(node, out originalSymbol);
            _semanticModule.SymbolMap[_newNode] = originalSymbol;
        }
Exemplo n.º 3
0
 public void VisitAssignment(AssignmentParseNode node)
 {
     Print("Assignment (Parse Tree Node)");
     VisitSubnode(node.LHS);
     VisitSubnode(node.RHS);
 }
Exemplo n.º 4
0
 public void VisitAssignment(AssignmentParseNode node)
 {
 }
Exemplo n.º 5
0
 public void VisitAssignment(AssignmentParseNode node)
 {
     AssignmentVisitor?.Visit(node);
 }
Exemplo n.º 6
0
 public void VisitAssignment(AssignmentParseNode node)
 {
     node.LHS = _processor.ProcessReplacement(node.LHS);
     node.RHS = _processor.ProcessReplacement(node.RHS);
 }