From ce2d2a718d45acf7167776709f0a10b7b695492e Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 22 Mar 2018 00:53:56 +0100 Subject: megacheck --- evaluator/builtins.go | 4 ++-- parser/parser_test.go | 9 +++++++++ parser/parser_tracing.go | 2 ++ repl/repl.go | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/evaluator/builtins.go b/evaluator/builtins.go index 7809f51..711c3c9 100644 --- a/evaluator/builtins.go +++ b/evaluator/builtins.go @@ -87,7 +87,7 @@ var builtins = map[string]*object.Builtin{ arr := args[0].(*object.Array) length := len(arr.Elements) if length > 0 { - newElements := make([]object.Object, length-1, length-1) + newElements := make([]object.Object, length-1) copy(newElements, arr.Elements[1:length]) return &object.Array{Elements: newElements} } @@ -109,7 +109,7 @@ var builtins = map[string]*object.Builtin{ arr := args[0].(*object.Array) length := len(arr.Elements) - newElements := make([]object.Object, length+1, length+1) + newElements := make([]object.Object, length+1) copy(newElements, arr.Elements) newElements[length] = args[1] diff --git a/parser/parser_test.go b/parser/parser_test.go index b451ddf..7fe5268 100644 --- a/parser/parser_test.go +++ b/parser/parser_test.go @@ -711,6 +711,9 @@ func TestParsingEmptyArrayLiterals(t *testing.T) { checkParserErrors(t, p) stmt, ok := program.Statements[0].(*ast.ExpressionStatement) + if !ok { + t.Fatalf("stmt not ast.EspressionStatement. got=%T", stmt) + } array, ok := stmt.Expression.(*ast.ArrayLiteral) if !ok { t.Fatalf("exp not ast.ArrayLiteral. got=%T", stmt.Expression) @@ -730,6 +733,9 @@ func TestParsingArrayLiterals(t *testing.T) { checkParserErrors(t, p) stmt, ok := program.Statements[0].(*ast.ExpressionStatement) + if !ok { + t.Fatalf("stmt not ast.EspressionStatement. got=%T", stmt) + } array, ok := stmt.Expression.(*ast.ArrayLiteral) if !ok { t.Fatalf("exp not ast.ArrayLiteral. got=%T", stmt.Expression) @@ -753,6 +759,9 @@ func TestParsingIndexExpressions(t *testing.T) { checkParserErrors(t, p) stmt, ok := program.Statements[0].(*ast.ExpressionStatement) + if !ok { + t.Fatalf("stmt not ast.EspressionStatement. got=%T", stmt) + } indexExp, ok := stmt.Expression.(*ast.IndexExpression) if !ok { t.Fatalf("exp not *ast.IndexExpression. got=%T", stmt.Expression) diff --git a/parser/parser_tracing.go b/parser/parser_tracing.go index 5fc569b..bdffbd5 100644 --- a/parser/parser_tracing.go +++ b/parser/parser_tracing.go @@ -1,3 +1,5 @@ +// +build ignore + package parser import ( diff --git a/repl/repl.go b/repl/repl.go index 2303927..3d75f8a 100644 --- a/repl/repl.go +++ b/repl/repl.go @@ -18,7 +18,7 @@ func Start(in io.Reader, out io.Writer) { env := object.NewEnvironment() for { - fmt.Printf(PROMPT) + fmt.Print(PROMPT) scanned := scanner.Scan() if !scanned { return -- cgit v1.2.3