interpreter-in-go/pkg/ast/block.go

25 lines
461 B
Go
Raw Normal View History

package ast
import (
"bytes"
"code.jmug.me/jmug/interpreter-in-go/pkg/token"
)
type BlockStatement struct {
Token token.Token // The `{` token.
Statements []Statement
}
func (bs *BlockStatement) statementNode() {}
func (bs *BlockStatement) TokenLiteral() string {
return bs.Token.Literal
}
func (bs *BlockStatement) String() string {
var out bytes.Buffer
for _, s := range bs.Statements {
out.WriteString(s.String())
}
return out.String()
}