Refactor Type to be an int
Some checks failed
Publish Image / publish (push) Waiting to run
Test / build (push) Waiting to run
Build / build (push) Has been cancelled

This commit is contained in:
Chuck Smith
2024-03-29 11:01:15 -04:00
parent f65d7bfb1c
commit 12d43c9835
58 changed files with 164 additions and 132 deletions

View File

@@ -10,7 +10,7 @@ func Abs(args ...object.Object) object.Object {
if err := typing.Check(
"abs", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Accept(args ...object.Object) object.Object {
if err := typing.Check(
"accept", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -12,7 +12,7 @@ func Assert(args ...object.Object) object.Object {
if err := typing.Check(
"assert", args,
typing.ExactArgs(2),
typing.WithTypes(object.BOOLEAN_OBJ, object.STRING_OBJ),
typing.WithTypes(object.BooleanType, object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -12,7 +12,7 @@ func Bin(args ...object.Object) object.Object {
if err := typing.Check(
"bin", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Bind(args ...object.Object) object.Object {
if err := typing.Check(
"bind", args,
typing.ExactArgs(2),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Chr(args ...object.Object) object.Object {
if err := typing.Check(
"chr", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Close(args ...object.Object) object.Object {
if err := typing.Check(
"close", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Connect(args ...object.Object) object.Object {
if err := typing.Check(
"connect", args,
typing.ExactArgs(2),
typing.WithTypes(object.INTEGER_OBJ, object.STRING_OBJ),
typing.WithTypes(object.IntegerType, object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Divmod(args ...object.Object) object.Object {
if err := typing.Check(
"divmod", args,
typing.ExactArgs(2),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Exit(args ...object.Object) object.Object {
if err := typing.Check(
"exit", args,
typing.RangeOfArgs(0, 1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -15,7 +15,7 @@ func FFI(args ...object.Object) object.Object {
if err := typing.Check(
"ffi", args,
typing.ExactArgs(2),
typing.WithTypes(object.STRING_OBJ, object.STRING_OBJ),
typing.WithTypes(object.StringType, object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -23,7 +23,7 @@ func Find(args ...object.Object) object.Object {
if haystack, ok := args[0].(*object.String); ok {
if err := typing.Check(
"find", args,
typing.WithTypes(object.STRING_OBJ, object.STRING_OBJ),
typing.WithTypes(object.StringType, object.StringType),
); err != nil {
return newError(err.Error())
}
@@ -46,7 +46,7 @@ func Find(args ...object.Object) object.Object {
}
return newError(
"TypeError: find() expected argument #1 to be `array` or `str` got `%s`",
"TypeError: find() expected argument #1 to be `array` or `str` got `%d`",
args[0].Type(),
)
}

View File

@@ -10,7 +10,7 @@ func First(args ...object.Object) object.Object {
if err := typing.Check(
"first", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -12,7 +12,7 @@ func Hex(args ...object.Object) object.Object {
if err := typing.Check(
"hex", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -14,7 +14,7 @@ func Input(args ...object.Object) object.Object {
if err := typing.Check(
"input", args,
typing.RangeOfArgs(0, 1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Join(args ...object.Object) object.Object {
if err := typing.Check(
"join", args,
typing.ExactArgs(2),
typing.WithTypes(object.ARRAY_OBJ, object.STRING_OBJ),
typing.WithTypes(object.ArrayType, object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Last(args ...object.Object) object.Object {
if err := typing.Check(
"last", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Listen(args ...object.Object) object.Object {
if err := typing.Check(
"listen", args,
typing.ExactArgs(2),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Lower(args ...object.Object) object.Object {
if err := typing.Check(
"lower", args,
typing.ExactArgs(1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Max(args ...object.Object) object.Object {
if err := typing.Check(
"max", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}
@@ -23,7 +23,7 @@ func Max(args ...object.Object) object.Object {
if i, ok := e.(*object.Integer); ok {
xs = append(xs, int(i.Value))
} else {
return newError("item #%d not an `int` got=%s", n, e.Type())
return newError("item #%d not an `int` got=%d", n, e.Type())
}
}
sort.Ints(xs)

View File

@@ -11,7 +11,7 @@ func Min(args ...object.Object) object.Object {
if err := typing.Check(
"min", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}
@@ -23,7 +23,7 @@ func Min(args ...object.Object) object.Object {
if i, ok := e.(*object.Integer); ok {
xs = append(xs, int(i.Value))
} else {
return newError("item #%d not an `int` got=%s", n, e.Type())
return newError("item #%d not an `int` got=%d", n, e.Type())
}
}
sort.Ints(xs)

View File

@@ -12,7 +12,7 @@ func Oct(args ...object.Object) object.Object {
if err := typing.Check(
"oct", args,
typing.ExactArgs(1),
typing.WithTypes(object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -55,7 +55,7 @@ func Open(args ...object.Object) object.Object {
if err := typing.Check(
"open", args,
typing.RangeOfArgs(1, 2),
typing.WithTypes(object.STRING_OBJ, object.STRING_OBJ),
typing.WithTypes(object.StringType, object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Ord(args ...object.Object) object.Object {
if err := typing.Check(
"ord", args,
typing.ExactArgs(1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Pop(args ...object.Object) object.Object {
if err := typing.Check(
"pop", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -22,7 +22,7 @@ func Pow(args ...object.Object) object.Object {
if err := typing.Check(
"pow", args,
typing.ExactArgs(2),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Print(args ...object.Object) object.Object {
if err := typing.Check(
"print", args,
typing.MinimumArgs(1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Push(args ...object.Object) object.Object {
if err := typing.Check(
"push", args,
typing.ExactArgs(2),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -14,7 +14,7 @@ func Read(args ...object.Object) object.Object {
if err := typing.Check(
"read", args,
typing.RangeOfArgs(1, 2),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func ReadFile(args ...object.Object) object.Object {
if err := typing.Check(
"readfile", args,
typing.ExactArgs(1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Rest(args ...object.Object) object.Object {
if err := typing.Check(
"rest", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -10,7 +10,7 @@ func Reversed(args ...object.Object) object.Object {
if err := typing.Check(
"reversed", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Seek(args ...object.Object) object.Object {
if err := typing.Check(
"seek", args,
typing.RangeOfArgs(1, 3),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -12,7 +12,7 @@ func Socket(args ...object.Object) object.Object {
if err := typing.Check(
"socket", args,
typing.ExactArgs(1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Sorted(args ...object.Object) object.Object {
if err := typing.Check(
"sort", args,
typing.ExactArgs(1),
typing.WithTypes(object.ARRAY_OBJ),
typing.WithTypes(object.ArrayType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Split(args ...object.Object) object.Object {
if err := typing.Check(
"split", args,
typing.RangeOfArgs(1, 2),
typing.WithTypes(object.STRING_OBJ, object.STRING_OBJ),
typing.WithTypes(object.StringType, object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -14,5 +14,5 @@ func TypeOf(args ...object.Object) object.Object {
return newError(err.Error())
}
return &object.String{Value: string(args[0].Type())}
return &object.String{Value: args[0].Type().String()}
}

View File

@@ -11,7 +11,7 @@ func Upper(args ...object.Object) object.Object {
if err := typing.Check(
"upper", args,
typing.ExactArgs(1),
typing.WithTypes(object.STRING_OBJ),
typing.WithTypes(object.StringType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func Write(args ...object.Object) object.Object {
if err := typing.Check(
"write", args,
typing.ExactArgs(2),
typing.WithTypes(object.INTEGER_OBJ, object.INTEGER_OBJ),
typing.WithTypes(object.IntegerType, object.IntegerType),
); err != nil {
return newError(err.Error())
}

View File

@@ -11,7 +11,7 @@ func WriteFile(args ...object.Object) object.Object {
if err := typing.Check(
"writefile", args,
typing.ExactArgs(2),
typing.WithTypes(object.STRING_OBJ, object.STRING_OBJ),
typing.WithTypes(object.StringType, object.StringType),
); err != nil {
return newError(err.Error())
}