minor lint fixes (#182)

This commit is contained in:
Daniel 2019-04-10 21:39:19 -07:00 committed by GitHub
parent 3eebecb2a4
commit 719e269cb1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 17 additions and 31 deletions

View file

@ -106,7 +106,7 @@ func Equal(t *testing.T, expected, actual interface{}, msg ...interface{}) bool
return failExpectedActual(t, expected, actual, msg...) return failExpectedActual(t, expected, actual, msg...)
} }
case []byte: case []byte:
if bytes.Compare(expected, actual.([]byte)) != 0 { if !bytes.Equal(expected, actual.([]byte)) {
return failExpectedActual(t, string(expected), string(actual.([]byte)), msg...) return failExpectedActual(t, string(expected), string(actual.([]byte)), msg...)
} }
case []string: case []string:
@ -156,7 +156,7 @@ func Equal(t *testing.T, expected, actual interface{}, msg ...interface{}) bool
case *objects.ImmutableArray: case *objects.ImmutableArray:
return equalObjectSlice(t, expected.Value, actual.(*objects.ImmutableArray).Value, msg...) return equalObjectSlice(t, expected.Value, actual.(*objects.ImmutableArray).Value, msg...)
case *objects.Bytes: case *objects.Bytes:
if bytes.Compare(expected.Value, actual.(*objects.Bytes).Value) != 0 { if !bytes.Equal(expected.Value, actual.(*objects.Bytes).Value) {
return failExpectedActual(t, string(expected.Value), string(actual.(*objects.Bytes).Value), msg...) return failExpectedActual(t, string(expected.Value), string(actual.(*objects.Bytes).Value), msg...)
} }
case *objects.Map: case *objects.Map:

View file

@ -13,7 +13,7 @@ func MakeInstruction(opcode Opcode, operands ...int) []byte {
totalLen += w totalLen += w
} }
instruction := make([]byte, totalLen, totalLen) instruction := make([]byte, totalLen)
instruction[0] = byte(opcode) instruction[0] = byte(opcode)
offset := 1 offset := 1

View file

@ -6,7 +6,7 @@ type SymbolScope string
// List of symbol scopes // List of symbol scopes
const ( const (
ScopeGlobal SymbolScope = "GLOBAL" ScopeGlobal SymbolScope = "GLOBAL"
ScopeLocal = "LOCAL" ScopeLocal SymbolScope = "LOCAL"
ScopeBuiltin = "BUILTIN" ScopeBuiltin SymbolScope = "BUILTIN"
ScopeFree = "FREE" ScopeFree SymbolScope = "FREE"
) )

View file

@ -57,7 +57,7 @@ func (o *Bytes) Equals(x Object) bool {
return false return false
} }
return bytes.Compare(o.Value, t.Value) == 0 return bytes.Equal(o.Value, t.Value)
} }
// IndexGet returns an element (as Int) at a given index. // IndexGet returns an element (as Int) at a given index.

View file

@ -254,7 +254,7 @@ func FromInterface(v interface{}) (Object, error) {
case []Object: case []Object:
return &Array{Value: v}, nil return &Array{Value: v}, nil
case []interface{}: case []interface{}:
arr := make([]Object, len(v), len(v)) arr := make([]Object, len(v))
for i, e := range v { for i, e := range v {
vo, err := FromInterface(e) vo, err := FromInterface(e)
if err != nil { if err != nil {

View file

@ -9,8 +9,7 @@ import (
) )
func TestObject_TypeName(t *testing.T) { func TestObject_TypeName(t *testing.T) {
var o objects.Object var o objects.Object = &objects.Int{}
o = &objects.Int{}
assert.Equal(t, "int", o.TypeName()) assert.Equal(t, "int", o.TypeName())
o = &objects.Float{} o = &objects.Float{}
assert.Equal(t, "float", o.TypeName()) assert.Equal(t, "float", o.TypeName())
@ -47,8 +46,7 @@ func TestObject_TypeName(t *testing.T) {
} }
func TestObject_IsFalsy(t *testing.T) { func TestObject_IsFalsy(t *testing.T) {
var o objects.Object var o objects.Object = &objects.Int{Value: 0}
o = &objects.Int{Value: 0}
assert.True(t, o.IsFalsy()) assert.True(t, o.IsFalsy())
o = &objects.Int{Value: 1} o = &objects.Int{Value: 1}
assert.False(t, o.IsFalsy()) assert.False(t, o.IsFalsy())
@ -95,8 +93,7 @@ func TestObject_IsFalsy(t *testing.T) {
} }
func TestObject_String(t *testing.T) { func TestObject_String(t *testing.T) {
var o objects.Object var o objects.Object = &objects.Int{Value: 0}
o = &objects.Int{Value: 0}
assert.Equal(t, "0", o.String()) assert.Equal(t, "0", o.String())
o = &objects.Int{Value: 1} o = &objects.Int{Value: 1}
assert.Equal(t, "1", o.String()) assert.Equal(t, "1", o.String())
@ -135,8 +132,7 @@ func TestObject_String(t *testing.T) {
} }
func TestObject_BinaryOp(t *testing.T) { func TestObject_BinaryOp(t *testing.T) {
var o objects.Object var o objects.Object = &objects.Char{}
o = &objects.Char{}
_, err := o.BinaryOp(token.Add, objects.UndefinedValue) _, err := o.BinaryOp(token.Add, objects.UndefinedValue)
assert.Error(t, err) assert.Error(t, err)
o = &objects.Bool{} o = &objects.Bool{}

View file

@ -707,9 +707,7 @@ func (v *VM) run() {
case objects.Callable: case objects.Callable:
var args []objects.Object var args []objects.Object
for _, arg := range v.stack[v.sp-numArgs : v.sp] { args = append(args, v.stack[v.sp-numArgs:v.sp]...)
args = append(args, arg)
}
ret, e := callee.Call(args...) ret, e := callee.Call(args...)
v.sp -= numArgs + 1 v.sp -= numArgs + 1

View file

@ -183,12 +183,3 @@ func (s *Script) prepCompile() (symbolTable *compiler.SymbolTable, globals []obj
return return
} }
func (s *Script) copyVariables() map[string]*Variable {
vars := make(map[string]*Variable)
for n, v := range s.variables {
vars[n] = v
}
return vars
}

View file

@ -44,7 +44,7 @@ func fmtPrintf(args ...objects.Object) (ret objects.Object, err error) {
return nil, nil return nil, nil
} }
formatArgs := make([]interface{}, numArgs-1, numArgs-1) formatArgs := make([]interface{}, numArgs-1)
for idx, arg := range args[1:] { for idx, arg := range args[1:] {
switch arg := arg.(type) { switch arg := arg.(type) {
case *objects.Int, *objects.Float, *objects.Bool, *objects.Char, *objects.String, *objects.Bytes: case *objects.Int, *objects.Float, *objects.Bool, *objects.Char, *objects.String, *objects.Bytes:
@ -89,7 +89,7 @@ func fmtSprintf(args ...objects.Object) (ret objects.Object, err error) {
return format, nil // okay to return 'format' directly as String is immutable return format, nil // okay to return 'format' directly as String is immutable
} }
formatArgs := make([]interface{}, numArgs-1, numArgs-1) formatArgs := make([]interface{}, numArgs-1)
for idx, arg := range args[1:] { for idx, arg := range args[1:] {
switch arg := arg.(type) { switch arg := arg.(type) {
case *objects.Int, *objects.Float, *objects.Bool, *objects.Char, *objects.String, *objects.Bytes: case *objects.Int, *objects.Float, *objects.Bool, *objects.Char, *objects.String, *objects.Bytes:

View file

@ -30,7 +30,8 @@ func TestTimes(t *testing.T) {
module(t, "times").call("month_string", 12).expect("December") module(t, "times").call("month_string", 12).expect("December")
module(t, "times").call("date", 1982, 9, 28, 19, 21, 44, 999).expect(time1) module(t, "times").call("date", 1982, 9, 28, 19, 21, 44, 999).expect(time1)
assert.True(t, module(t, "times").call("now").o.(*objects.Time).Value.Sub(time.Now()).Nanoseconds() < 100000000) // within 100ms nowD := time.Until(module(t, "times").call("now").o.(*objects.Time).Value).Nanoseconds()
assert.True(t, 0 > nowD && nowD > -100000000) // within 100ms
parsed, _ := time.Parse(time.RFC3339, "1982-09-28T19:21:44+07:00") parsed, _ := time.Parse(time.RFC3339, "1982-09-28T19:21:44+07:00")
module(t, "times").call("parse", time.RFC3339, "1982-09-28T19:21:44+07:00").expect(parsed) module(t, "times").call("parse", time.RFC3339, "1982-09-28T19:21:44+07:00").expect(parsed)
module(t, "times").call("unix", 1234325, 94493).expect(time.Unix(1234325, 94493)) module(t, "times").call("unix", 1234325, 94493).expect(time.Unix(1234325, 94493))