aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <sokolyuk@gmail.com>2022-08-24 13:50:19 +0200
committerDimitri Sokolyuk <sokolyuk@gmail.com>2022-08-24 13:50:19 +0200
commitcb3d5e76156cb87d14f048c1ef651b9674e865a5 (patch)
treec9723e7a32ae4707fe6fa8125283efdd2b5f7b17
parente402c1c42d91e956513122029ace1f513334a1fb (diff)
kiss
-rw-r--r--ast/modify.go36
-rw-r--r--ast/modify_test.go4
-rw-r--r--evaluator/macro_expansion.go4
3 files changed, 22 insertions, 22 deletions
diff --git a/ast/modify.go b/ast/modify.go
index ad50d0d..0d9a987 100644
--- a/ast/modify.go
+++ b/ast/modify.go
@@ -7,57 +7,57 @@ func Modify(node Node, modifier ModifierFunc) Node {
case *Program:
for i, statement := range node.Statements {
- node.Statements[i], _ = Modify(statement, modifier).(Statement)
+ node.Statements[i] = Modify(statement, modifier).(Statement)
}
case *ExpressionStatement:
- node.Expression, _ = Modify(node.Expression, modifier).(Expression)
+ node.Expression = Modify(node.Expression, modifier).(Expression)
case *InfixExpression:
- node.Left, _ = Modify(node.Left, modifier).(Expression)
- node.Right, _ = Modify(node.Right, modifier).(Expression)
+ node.Left = Modify(node.Left, modifier).(Expression)
+ node.Right = Modify(node.Right, modifier).(Expression)
case *PrefixExpression:
- node.Right, _ = Modify(node.Right, modifier).(Expression)
+ node.Right = Modify(node.Right, modifier).(Expression)
case *IndexExpression:
- node.Left, _ = Modify(node.Left, modifier).(Expression)
- node.Index, _ = Modify(node.Index, modifier).(Expression)
+ node.Left = Modify(node.Left, modifier).(Expression)
+ node.Index = Modify(node.Index, modifier).(Expression)
case *IfExpression:
- node.Condition, _ = Modify(node.Condition, modifier).(Expression)
- node.Consequence, _ = Modify(node.Consequence, modifier).(*BlockStatement)
+ node.Condition = Modify(node.Condition, modifier).(Expression)
+ node.Consequence = Modify(node.Consequence, modifier).(*BlockStatement)
if node.Alternative != nil {
- node.Alternative, _ = Modify(node.Alternative, modifier).(*BlockStatement)
+ node.Alternative = Modify(node.Alternative, modifier).(*BlockStatement)
}
case *BlockStatement:
for i := range node.Statements {
- node.Statements[i], _ = Modify(node.Statements[i], modifier).(Statement)
+ node.Statements[i] = Modify(node.Statements[i], modifier).(Statement)
}
case *ReturnStatement:
- node.ReturnValue, _ = Modify(node.ReturnValue, modifier).(Expression)
+ node.ReturnValue = Modify(node.ReturnValue, modifier).(Expression)
case *LetStatement:
- node.Value, _ = Modify(node.Value, modifier).(Expression)
+ node.Value = Modify(node.Value, modifier).(Expression)
case *FunctionLiteral:
for i := range node.Parameters {
- node.Parameters[i], _ = Modify(node.Parameters[i], modifier).(*Identifier)
+ node.Parameters[i] = Modify(node.Parameters[i], modifier).(*Identifier)
}
- node.Body, _ = Modify(node.Body, modifier).(*BlockStatement)
+ node.Body = Modify(node.Body, modifier).(*BlockStatement)
case *ArrayLiteral:
for i := range node.Elements {
- node.Elements[i], _ = Modify(node.Elements[i], modifier).(Expression)
+ node.Elements[i] = Modify(node.Elements[i], modifier).(Expression)
}
case *HashLiteral:
newPairs := make(map[Expression]Expression)
for key, val := range node.Pairs {
- newKey, _ := Modify(key, modifier).(Expression)
- newVal, _ := Modify(val, modifier).(Expression)
+ newKey := Modify(key, modifier).(Expression)
+ newVal := Modify(val, modifier).(Expression)
newPairs[newKey] = newVal
}
node.Pairs = newPairs
diff --git a/ast/modify_test.go b/ast/modify_test.go
index 6b5019f..20fe907 100644
--- a/ast/modify_test.go
+++ b/ast/modify_test.go
@@ -140,11 +140,11 @@ func TestModify(t *testing.T) {
Modify(hashLiteral, turnOneIntoTwo)
for key, val := range hashLiteral.Pairs {
- key, _ := key.(*IntegerLiteral)
+ key := key.(*IntegerLiteral)
if key.Value != 2 {
t.Errorf("value is not %d, got=%d", 2, key.Value)
}
- val, _ := val.(*IntegerLiteral)
+ val := val.(*IntegerLiteral)
if val.Value != 2 {
t.Errorf("value is not %d, got=%d", 2, val.Value)
}
diff --git a/evaluator/macro_expansion.go b/evaluator/macro_expansion.go
index 21d3dcb..d504d31 100644
--- a/evaluator/macro_expansion.go
+++ b/evaluator/macro_expansion.go
@@ -35,8 +35,8 @@ func isMacroDefinition(node ast.Statement) bool {
}
func addMacro(stmt ast.Statement, env *object.Environment) {
- letStatement, _ := stmt.(*ast.LetStatement)
- macroLiteral, _ := letStatement.Value.(*ast.MacroLiteral)
+ letStatement := stmt.(*ast.LetStatement)
+ macroLiteral := letStatement.Value.(*ast.MacroLiteral)
macro := &object.Macro{
Parameters: macroLiteral.Parameters,