mirror of
https://github.com/google/go-jsonnet.git
synced 2025-09-29 01:11:02 +02:00
Fix unparsing of enums, avoid static type error
This commit is contained in:
parent
aeda6138e5
commit
b04e73e163
@ -45,3 +45,11 @@ go get github.com/clipperhouse/set
|
|||||||
export PATH=$PATH:$GOPATH/bin # If you haven't already
|
export PATH=$PATH:$GOPATH/bin # If you haven't already
|
||||||
go generate
|
go generate
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Generated Stdlib
|
||||||
|
|
||||||
|
To regenerate the standard library, do:
|
||||||
|
|
||||||
|
```
|
||||||
|
./reset_stdast_go.sh && go run cmd/dumpstdlibast.go
|
||||||
|
```
|
||||||
|
69452
ast/stdast.go
69452
ast/stdast.go
File diff suppressed because it is too large
Load Diff
40
dump/dump.go
40
dump/dump.go
@ -188,26 +188,26 @@ func (s *dumpState) printPrimitivePointer(value reflect.Value, pointerName strin
|
|||||||
printBool(s.w, v.Bool())
|
printBool(s.w, v.Bool())
|
||||||
|
|
||||||
case reflect.Int:
|
case reflect.Int:
|
||||||
printInt(s.w, v.Int(), 10, "int")
|
printInt(s.w, v)
|
||||||
case reflect.Int8:
|
case reflect.Int8:
|
||||||
printInt(s.w, v.Int(), 10, "int8")
|
printInt(s.w, v)
|
||||||
case reflect.Int16:
|
case reflect.Int16:
|
||||||
printInt(s.w, v.Int(), 10, "int16")
|
printInt(s.w, v)
|
||||||
case reflect.Int32:
|
case reflect.Int32:
|
||||||
printInt(s.w, v.Int(), 10, "int32")
|
printInt(s.w, v)
|
||||||
case reflect.Int64:
|
case reflect.Int64:
|
||||||
printInt(s.w, v.Int(), 10, "int64")
|
printInt(s.w, v)
|
||||||
|
|
||||||
case reflect.Uint:
|
case reflect.Uint:
|
||||||
printUint(s.w, v.Uint(), 10, "uint")
|
printUint(s.w, v)
|
||||||
case reflect.Uint8:
|
case reflect.Uint8:
|
||||||
printUint(s.w, v.Uint(), 10, "uint8")
|
printUint(s.w, v)
|
||||||
case reflect.Uint16:
|
case reflect.Uint16:
|
||||||
printUint(s.w, v.Uint(), 10, "uint16")
|
printUint(s.w, v)
|
||||||
case reflect.Uint32:
|
case reflect.Uint32:
|
||||||
printUint(s.w, v.Uint(), 10, "uint32")
|
printUint(s.w, v)
|
||||||
case reflect.Uint64:
|
case reflect.Uint64:
|
||||||
printUint(s.w, v.Uint(), 10, "uint64")
|
printUint(s.w, v)
|
||||||
|
|
||||||
case reflect.Float32:
|
case reflect.Float32:
|
||||||
printFloat(s.w, v.Float(), 32, "float32")
|
printFloat(s.w, v.Float(), 32, "float32")
|
||||||
@ -341,26 +341,26 @@ func (s *dumpState) dumpVal(value reflect.Value) {
|
|||||||
printBool(s.w, v.Bool())
|
printBool(s.w, v.Bool())
|
||||||
|
|
||||||
case reflect.Int:
|
case reflect.Int:
|
||||||
printInt(s.w, v.Int(), 10, "int")
|
printInt(s.w, v)
|
||||||
case reflect.Int8:
|
case reflect.Int8:
|
||||||
printInt(s.w, v.Int(), 10, "int8")
|
printInt(s.w, v)
|
||||||
case reflect.Int16:
|
case reflect.Int16:
|
||||||
printInt(s.w, v.Int(), 10, "int16")
|
printInt(s.w, v)
|
||||||
case reflect.Int32:
|
case reflect.Int32:
|
||||||
printInt(s.w, v.Int(), 10, "int32")
|
printInt(s.w, v)
|
||||||
case reflect.Int64:
|
case reflect.Int64:
|
||||||
printInt(s.w, v.Int(), 10, "int64")
|
printInt(s.w, v)
|
||||||
|
|
||||||
case reflect.Uint:
|
case reflect.Uint:
|
||||||
printUint(s.w, v.Uint(), 10, "uint")
|
printUint(s.w, v)
|
||||||
case reflect.Uint8:
|
case reflect.Uint8:
|
||||||
printUint(s.w, v.Uint(), 10, "uint8")
|
printUint(s.w, v)
|
||||||
case reflect.Uint16:
|
case reflect.Uint16:
|
||||||
printUint(s.w, v.Uint(), 10, "uint16")
|
printUint(s.w, v)
|
||||||
case reflect.Uint32:
|
case reflect.Uint32:
|
||||||
printUint(s.w, v.Uint(), 10, "uint32")
|
printUint(s.w, v)
|
||||||
case reflect.Uint64:
|
case reflect.Uint64:
|
||||||
printUint(s.w, v.Uint(), 10, "uint64")
|
printUint(s.w, v)
|
||||||
|
|
||||||
case reflect.Float32:
|
case reflect.Float32:
|
||||||
printFloat(s.w, v.Float(), 32, "float32")
|
printFloat(s.w, v.Float(), 32, "float32")
|
||||||
|
@ -21,18 +21,24 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
func printBool(w io.Writer, value bool) {
|
func printBool(w io.Writer, value bool) {
|
||||||
w.Write([]byte(strconv.FormatBool(value)))
|
w.Write([]byte(strconv.FormatBool(value)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func printInt(w io.Writer, val int64, base int, intType string) {
|
func printInt(w io.Writer, val reflect.Value) {
|
||||||
w.Write([]byte(fmt.Sprintf("%s(%s)", intType, strconv.FormatInt(val, base))))
|
typeName := fmt.Sprintf("%s", val.Type())
|
||||||
|
if strings.HasPrefix(typeName, "ast.") {
|
||||||
|
typeName = typeName[4:]
|
||||||
|
}
|
||||||
|
w.Write([]byte(fmt.Sprintf("%s(%s)", typeName, strconv.FormatInt(val.Int(), 10))))
|
||||||
}
|
}
|
||||||
|
|
||||||
func printUint(w io.Writer, val uint64, base int, uintType string) {
|
func printUint(w io.Writer, val reflect.Value) {
|
||||||
w.Write([]byte(fmt.Sprintf("%s(%s)", uintType, strconv.FormatUint(val, base))))
|
typeName := fmt.Sprintf("%s", val.Type())
|
||||||
|
w.Write([]byte(fmt.Sprintf("%s(%s)", typeName, strconv.FormatUint(val.Uint(), 10))))
|
||||||
}
|
}
|
||||||
|
|
||||||
func printFloat(w io.Writer, val float64, precision int, floatType string) {
|
func printFloat(w io.Writer, val float64, precision int, floatType string) {
|
||||||
|
5
reset_stdast_go.sh
Executable file
5
reset_stdast_go.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo 'package ast' > ast/stdast.go
|
||||||
|
echo 'var StdAst = &LiteralNull{}' >> ast/stdast.go
|
||||||
|
|
2
std.go
2
std.go
@ -193,7 +193,7 @@ var _escData = map[string]*_escFile{
|
|||||||
"/std/std.jsonnet": {
|
"/std/std.jsonnet": {
|
||||||
local: "std/std.jsonnet",
|
local: "std/std.jsonnet",
|
||||||
size: 42048,
|
size: 42048,
|
||||||
modtime: 1509684595,
|
modtime: 1509761227,
|
||||||
compressed: `
|
compressed: `
|
||||||
H4sIAAAJbogC/+w9f3PbNrL/61MgfHUr1bRsy47bOHFn0iS9812b9Jr0en2KRkNRlESbIlWSsuXm8t3f
|
H4sIAAAJbogC/+w9f3PbNrL/61MgfHUr1bRsy47bOHFn0iS9812b9Jr0en2KRkNRlESbIlWSsuXm8t3f
|
||||||
7gL8ARIAKTl5vXTO08tJIrC72F3sLhYL8PDLzrNodRf780XKBkfHD9lfomgeeOwydPvsaRAwepSw2Eu8
|
7gL8ARIAKTl5vXTO08tJIrC72F3sLhYL8PDLzrNodRf780XKBkfHD9lfomgeeOwydPvsaRAwepSw2Eu8
|
||||||
|
Loading…
x
Reference in New Issue
Block a user