Merge pull request #88 from goccy/feature/fix-optype

Reduce code size of encode_optype.go
This commit is contained in:
Masaaki Goshima 2021-01-17 22:40:40 +09:00 committed by GitHub
commit 8b3bc49833
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2786 additions and 5550 deletions

View File

@ -99,6 +99,12 @@ const (
{{- end }} {{- end }}
) )
var opTypeStrings = [{{ .OpLen }}]string{
{{- range $type := .OpTypes }}
"{{ $type.Op }}",
{{- end }}
}
type opType int type opType int
const ( const (
@ -108,14 +114,11 @@ const (
) )
func (t opType) String() string { func (t opType) String() string {
switch t { if int(t) >= {{ .OpLen }} {
{{- range $type := .OpTypes }}
case op{{ $type.Op }}:
return "{{ $type.Op }}"
{{- end }}
}
return "" return ""
} }
return opTypeStrings[int(t)]
}
func (t opType) codeType() codeType { func (t opType) codeType() codeType {
if strings.Contains(t.String(), "Struct") { if strings.Contains(t.String(), "Struct") {

File diff suppressed because it is too large Load Diff