diff --git a/ast/fileinput.go b/ast/fileinput.go index 093aa1d..bc9274a 100644 --- a/ast/fileinput.go +++ b/ast/fileinput.go @@ -1,19 +1,28 @@ package ast +import "github.com/brettlangdon/gython/token" + type FileInput struct { - ListNode + BaseNode + children []interface{} } func NewFileInput() *FileInput { - node := &FileInput{} - node.initChildren() + node := &FileInput{ + children: make([]interface{}, 0), + } + node.initBaseNode(FILE_INPUT) return node } -func (node *FileInput) ID() NodeID { - return FILE_INPUT +func (node *FileInput) AppendToken(t *token.Token) { + node.children = append(node.children, t) +} + +func (node *FileInput) AppendNode(n StatementNode) { + node.children = append(node.children, n) } -func (node *FileInput) Name() string { - return NodeNames[FILE_INPUT] +func (node *FileInput) Children() []interface{} { + return node.children } diff --git a/ast/listnode.go b/ast/listnode.go deleted file mode 100644 index f454026..0000000 --- a/ast/listnode.go +++ /dev/null @@ -1,19 +0,0 @@ -package ast - -import "github.com/brettlangdon/gython/token" - -type ListNode struct { - children []interface{} -} - -func (node *ListNode) initChildren() { - node.children = make([]interface{}, 0) -} - -func (node *ListNode) AppendToken(t *token.Token) { - node.children = append(node.children, t) -} - -func (node *ListNode) AppendNode(n Node) { - node.children = append(node.children, n) -}