aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-05-20 16:46:36 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-05-20 16:46:36 +0200
commit4e2925ef695a31bca474654705371ff91c4dd7cc (patch)
tree482b92abcd6afb6ee630ae6b720ff612ea526f7b
parent56f0d23c5994b6f51494aaae76cba22a5b3f3348 (diff)
fmt
-rw-r--r--evaluator/evaluator.go45
-rw-r--r--parser/parser_test.go10
2 files changed, 11 insertions, 44 deletions
diff --git a/evaluator/evaluator.go b/evaluator/evaluator.go
index b4e37cf..a6b21cc 100644
--- a/evaluator/evaluator.go
+++ b/evaluator/evaluator.go
@@ -137,10 +137,7 @@ func evalProgram(program *ast.Program, env *object.Environment) object.Object {
return result
}
-func evalBlockStatement(
- block *ast.BlockStatement,
- env *object.Environment,
-) object.Object {
+func evalBlockStatement(block *ast.BlockStatement, env *object.Environment) object.Object {
var result object.Object
for _, statement := range block.Statements {
@@ -175,10 +172,7 @@ func evalPrefixExpression(operator string, right object.Object) object.Object {
}
}
-func evalInfixExpression(
- operator string,
- left, right object.Object,
-) object.Object {
+func evalInfixExpression(operator string, left, right object.Object) object.Object {
switch {
case left.Type() == object.INTEGER_OBJ && right.Type() == object.INTEGER_OBJ:
return evalIntegerInfixExpression(operator, left, right)
@@ -219,10 +213,7 @@ func evalMinusPrefixOperatorExpression(right object.Object) object.Object {
return &object.Integer{Value: -value}
}
-func evalIntegerInfixExpression(
- operator string,
- left, right object.Object,
-) object.Object {
+func evalIntegerInfixExpression(operator string, left, right object.Object) object.Object {
leftVal := left.(*object.Integer).Value
rightVal := right.(*object.Integer).Value
@@ -249,10 +240,7 @@ func evalIntegerInfixExpression(
}
}
-func evalStringInfixExpression(
- operator string,
- left, right object.Object,
-) object.Object {
+func evalStringInfixExpression(operator string, left, right object.Object) object.Object {
if operator != "+" {
return newError("unknown operator: %s %s %s",
left.Type(), operator, right.Type())
@@ -263,10 +251,7 @@ func evalStringInfixExpression(
return &object.String{Value: leftVal + rightVal}
}
-func evalIfExpression(
- ie *ast.IfExpression,
- env *object.Environment,
-) object.Object {
+func evalIfExpression(ie *ast.IfExpression, env *object.Environment) object.Object {
condition := Eval(ie.Condition, env)
if isError(condition) {
return condition
@@ -281,10 +266,7 @@ func evalIfExpression(
}
}
-func evalIdentifier(
- node *ast.Identifier,
- env *object.Environment,
-) object.Object {
+func evalIdentifier(node *ast.Identifier, env *object.Environment) object.Object {
if val, ok := env.Get(node.Value); ok {
return val
}
@@ -320,10 +302,7 @@ func isError(obj object.Object) bool {
return false
}
-func evalExpressions(
- exps []ast.Expression,
- env *object.Environment,
-) []object.Object {
+func evalExpressions(exps []ast.Expression, env *object.Environment) []object.Object {
var result []object.Object
for _, e := range exps {
@@ -353,10 +332,7 @@ func applyFunction(fn object.Object, args []object.Object) object.Object {
}
}
-func extendFunctionEnv(
- fn *object.Function,
- args []object.Object,
-) *object.Environment {
+func extendFunctionEnv(fn *object.Function, args []object.Object) *object.Environment {
env := object.NewEnclosedEnvironment(fn.Env)
for paramIdx, param := range fn.Parameters {
@@ -397,10 +373,7 @@ func evalArrayIndexExpression(array, index object.Object) object.Object {
return arrayObject.Elements[idx]
}
-func evalHashLiteral(
- node *ast.HashLiteral,
- env *object.Environment,
-) object.Object {
+func evalHashLiteral(node *ast.HashLiteral, env *object.Environment) object.Object {
pairs := make(map[object.HashKey]object.HashPair)
for keyNode, valueNode := range node.Pairs {
diff --git a/parser/parser_test.go b/parser/parser_test.go
index d6d836d..b451ddf 100644
--- a/parser/parser_test.go
+++ b/parser/parser_test.go
@@ -966,9 +966,7 @@ func testLetStatement(t *testing.T, s ast.Statement, name string) bool {
return true
}
-func testInfixExpression(t *testing.T, exp ast.Expression, left interface{},
- operator string, right interface{}) bool {
-
+func testInfixExpression(t *testing.T, exp ast.Expression, left interface{}, operator string, right interface{}) bool {
opExp, ok := exp.(*ast.InfixExpression)
if !ok {
t.Errorf("exp is not ast.OperatorExpression. got=%T(%s)", exp, exp)
@@ -991,11 +989,7 @@ func testInfixExpression(t *testing.T, exp ast.Expression, left interface{},
return true
}
-func testLiteralExpression(
- t *testing.T,
- exp ast.Expression,
- expected interface{},
-) bool {
+func testLiteralExpression(t *testing.T, exp ast.Expression, expected interface{}) bool {
switch v := expected.(type) {
case int:
return testIntegerLiteral(t, exp, int64(v))