package ast import ( "bytes" "code.jmug.me/jmug/compiler-in-go/pkg/token" ) type ReturnStatement struct { Token token.Token // TODO: This is a little redundant, figure out if I can get rid of it. ReturnValue Expression } func (rs *ReturnStatement) statementNode() {} func (rs *ReturnStatement) TokenLiteral() string { return rs.Token.Literal } func (rs *ReturnStatement) String() string { var out bytes.Buffer out.WriteString(rs.TokenLiteral()) if rs.ReturnValue != nil { out.WriteString(" " + rs.ReturnValue.String()) } out.WriteString(";") return out.String() }