ANameVariable.java revision 56ed4167b942ec265f9cee70ac4d71d10b3835ce
1/* This file was generated by SableCC (http://www.sablecc.org/). */
2
3package com.google.clearsilver.jsilver.syntax.node;
4
5import com.google.clearsilver.jsilver.syntax.analysis.*;
6
7@SuppressWarnings("nls")
8public final class ANameVariable extends PVariable
9{
10    private TWord _word_;
11
12    public ANameVariable()
13    {
14        // Constructor
15    }
16
17    public ANameVariable(
18        @SuppressWarnings("hiding") TWord _word_)
19    {
20        // Constructor
21        setWord(_word_);
22
23    }
24
25    @Override
26    public Object clone()
27    {
28        return new ANameVariable(
29            cloneNode(this._word_));
30    }
31
32    public void apply(Switch sw)
33    {
34        ((Analysis) sw).caseANameVariable(this);
35    }
36
37    public TWord getWord()
38    {
39        return this._word_;
40    }
41
42    public void setWord(TWord node)
43    {
44        if(this._word_ != null)
45        {
46            this._word_.parent(null);
47        }
48
49        if(node != null)
50        {
51            if(node.parent() != null)
52            {
53                node.parent().removeChild(node);
54            }
55
56            node.parent(this);
57        }
58
59        this._word_ = node;
60    }
61
62    @Override
63    public String toString()
64    {
65        return ""
66            + toString(this._word_);
67    }
68
69    @Override
70    void removeChild(@SuppressWarnings("unused") Node child)
71    {
72        // Remove child
73        if(this._word_ == child)
74        {
75            this._word_ = null;
76            return;
77        }
78
79        throw new RuntimeException("Not a child.");
80    }
81
82    @Override
83    void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
84    {
85        // Replace child
86        if(this._word_ == oldChild)
87        {
88            setWord((TWord) newChild);
89            return;
90        }
91
92        throw new RuntimeException("Not a child.");
93    }
94}
95