mirror of
https://github.com/hanzoai/expr.git
synced 2026-09-24 16:58:58 +00:00
203 lines
5.1 KiB
Go
203 lines
5.1 KiB
Go
// Code generated by vm/func_types/main.go. DO NOT EDIT.
|
|
|
|
package vm
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
var FuncTypes = []interface{}{
|
|
1: new(func() time.Duration),
|
|
2: new(func() time.Month),
|
|
3: new(func() time.Time),
|
|
4: new(func() time.Weekday),
|
|
5: new(func() []uint8),
|
|
6: new(func() []interface{}),
|
|
7: new(func() bool),
|
|
8: new(func() uint8),
|
|
9: new(func() float64),
|
|
10: new(func() int),
|
|
11: new(func() int64),
|
|
12: new(func() interface{}),
|
|
13: new(func() map[string]interface{}),
|
|
14: new(func() int32),
|
|
15: new(func() string),
|
|
16: new(func() uint),
|
|
17: new(func() uint64),
|
|
18: new(func(time.Duration) time.Duration),
|
|
19: new(func(time.Duration) time.Time),
|
|
20: new(func(time.Time) time.Duration),
|
|
21: new(func(time.Time) bool),
|
|
22: new(func([]interface{}, string) string),
|
|
23: new(func([]string, string) string),
|
|
24: new(func(bool) bool),
|
|
25: new(func(bool) float64),
|
|
26: new(func(bool) int),
|
|
27: new(func(bool) string),
|
|
28: new(func(float64) bool),
|
|
29: new(func(float64) float64),
|
|
30: new(func(float64) int),
|
|
31: new(func(float64) string),
|
|
32: new(func(int) bool),
|
|
33: new(func(int) float64),
|
|
34: new(func(int) int),
|
|
35: new(func(int) string),
|
|
36: new(func(int, int) int),
|
|
37: new(func(int, int) string),
|
|
38: new(func(int64) time.Time),
|
|
39: new(func(string) []string),
|
|
40: new(func(string) bool),
|
|
41: new(func(string) float64),
|
|
42: new(func(string) int),
|
|
43: new(func(string) string),
|
|
44: new(func(string, uint8) int),
|
|
45: new(func(string, int) int),
|
|
46: new(func(string, int32) int),
|
|
47: new(func(string, string) bool),
|
|
48: new(func(string, string) string),
|
|
}
|
|
|
|
func (vm *VM) call(fn interface{}, kind int) interface{} {
|
|
switch kind {
|
|
case 1:
|
|
return fn.(func() time.Duration)()
|
|
case 2:
|
|
return fn.(func() time.Month)()
|
|
case 3:
|
|
return fn.(func() time.Time)()
|
|
case 4:
|
|
return fn.(func() time.Weekday)()
|
|
case 5:
|
|
return fn.(func() []uint8)()
|
|
case 6:
|
|
return fn.(func() []interface{})()
|
|
case 7:
|
|
return fn.(func() bool)()
|
|
case 8:
|
|
return fn.(func() uint8)()
|
|
case 9:
|
|
return fn.(func() float64)()
|
|
case 10:
|
|
return fn.(func() int)()
|
|
case 11:
|
|
return fn.(func() int64)()
|
|
case 12:
|
|
return fn.(func() interface{})()
|
|
case 13:
|
|
return fn.(func() map[string]interface{})()
|
|
case 14:
|
|
return fn.(func() int32)()
|
|
case 15:
|
|
return fn.(func() string)()
|
|
case 16:
|
|
return fn.(func() uint)()
|
|
case 17:
|
|
return fn.(func() uint64)()
|
|
case 18:
|
|
arg1 := vm.pop().(time.Duration)
|
|
return fn.(func(time.Duration) time.Duration)(arg1)
|
|
case 19:
|
|
arg1 := vm.pop().(time.Duration)
|
|
return fn.(func(time.Duration) time.Time)(arg1)
|
|
case 20:
|
|
arg1 := vm.pop().(time.Time)
|
|
return fn.(func(time.Time) time.Duration)(arg1)
|
|
case 21:
|
|
arg1 := vm.pop().(time.Time)
|
|
return fn.(func(time.Time) bool)(arg1)
|
|
case 22:
|
|
arg2 := vm.pop().(string)
|
|
arg1 := vm.pop().([]interface{})
|
|
return fn.(func([]interface{}, string) string)(arg1, arg2)
|
|
case 23:
|
|
arg2 := vm.pop().(string)
|
|
arg1 := vm.pop().([]string)
|
|
return fn.(func([]string, string) string)(arg1, arg2)
|
|
case 24:
|
|
arg1 := vm.pop().(bool)
|
|
return fn.(func(bool) bool)(arg1)
|
|
case 25:
|
|
arg1 := vm.pop().(bool)
|
|
return fn.(func(bool) float64)(arg1)
|
|
case 26:
|
|
arg1 := vm.pop().(bool)
|
|
return fn.(func(bool) int)(arg1)
|
|
case 27:
|
|
arg1 := vm.pop().(bool)
|
|
return fn.(func(bool) string)(arg1)
|
|
case 28:
|
|
arg1 := vm.pop().(float64)
|
|
return fn.(func(float64) bool)(arg1)
|
|
case 29:
|
|
arg1 := vm.pop().(float64)
|
|
return fn.(func(float64) float64)(arg1)
|
|
case 30:
|
|
arg1 := vm.pop().(float64)
|
|
return fn.(func(float64) int)(arg1)
|
|
case 31:
|
|
arg1 := vm.pop().(float64)
|
|
return fn.(func(float64) string)(arg1)
|
|
case 32:
|
|
arg1 := vm.pop().(int)
|
|
return fn.(func(int) bool)(arg1)
|
|
case 33:
|
|
arg1 := vm.pop().(int)
|
|
return fn.(func(int) float64)(arg1)
|
|
case 34:
|
|
arg1 := vm.pop().(int)
|
|
return fn.(func(int) int)(arg1)
|
|
case 35:
|
|
arg1 := vm.pop().(int)
|
|
return fn.(func(int) string)(arg1)
|
|
case 36:
|
|
arg2 := vm.pop().(int)
|
|
arg1 := vm.pop().(int)
|
|
return fn.(func(int, int) int)(arg1, arg2)
|
|
case 37:
|
|
arg2 := vm.pop().(int)
|
|
arg1 := vm.pop().(int)
|
|
return fn.(func(int, int) string)(arg1, arg2)
|
|
case 38:
|
|
arg1 := vm.pop().(int64)
|
|
return fn.(func(int64) time.Time)(arg1)
|
|
case 39:
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string) []string)(arg1)
|
|
case 40:
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string) bool)(arg1)
|
|
case 41:
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string) float64)(arg1)
|
|
case 42:
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string) int)(arg1)
|
|
case 43:
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string) string)(arg1)
|
|
case 44:
|
|
arg2 := vm.pop().(uint8)
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string, uint8) int)(arg1, arg2)
|
|
case 45:
|
|
arg2 := vm.pop().(int)
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string, int) int)(arg1, arg2)
|
|
case 46:
|
|
arg2 := vm.pop().(int32)
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string, int32) int)(arg1, arg2)
|
|
case 47:
|
|
arg2 := vm.pop().(string)
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string, string) bool)(arg1, arg2)
|
|
case 48:
|
|
arg2 := vm.pop().(string)
|
|
arg1 := vm.pop().(string)
|
|
return fn.(func(string, string) string)(arg1, arg2)
|
|
|
|
}
|
|
panic(fmt.Sprintf("unknown function kind (%v)", kind))
|
|
}
|