|
@@ -1,6 +1,9 @@
|
|
|
package ast
|
|
|
|
|
|
-import "code.osinet.fr/fgm/waiig15/token"
|
|
|
+import (
|
|
|
+ "code.osinet.fr/fgm/waiig15/token"
|
|
|
+ "bytes"
|
|
|
+)
|
|
|
|
|
|
|
|
|
type ReturnStatement struct {
|
|
@@ -9,6 +12,21 @@ type ReturnStatement struct {
|
|
|
ReturnValue Expression
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+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()
|
|
|
+}
|
|
|
+
|
|
|
func (rs *ReturnStatement) statementNode() {}
|
|
|
|
|
|
|