|
@@ -166,23 +166,27 @@ func escapeWord(s string) string {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func isName(val value) bool {
|
|
func isName(val value) bool {
|
|
|
- return nameExp.MatchString(val.String())
|
|
|
|
|
|
|
+ s := val.String()
|
|
|
|
|
+ return nameExp.MatchString(s)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func toName(val value) string {
|
|
func toName(val value) string {
|
|
|
- if nameExp.MatchString(val.String()) {
|
|
|
|
|
- return val.String()
|
|
|
|
|
|
|
+ s := val.String()
|
|
|
|
|
+ if nameExp.MatchString(s) {
|
|
|
|
|
+ return s
|
|
|
}
|
|
}
|
|
|
- panic(fmt.Errorf("name: %s (%s)", errInvalidName, val.String()))
|
|
|
|
|
|
|
+ panic(fmt.Errorf("name: %s (%s)", errInvalidName, s))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func isNameWithIndex(val value) bool {
|
|
func isNameWithIndex(val value) bool {
|
|
|
- return nameWithIndexExp.MatchString(val.String())
|
|
|
|
|
|
|
+ s := val.String()
|
|
|
|
|
+ return nameWithIndexExp.MatchString(s)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func toNameWithIndex(val value) (string, []string) {
|
|
func toNameWithIndex(val value) (string, []string) {
|
|
|
- if nameWithIndexExp.MatchString(val.String()) {
|
|
|
|
|
- index := strings.Split(val.String(), "[")
|
|
|
|
|
|
|
+ s := val.String()
|
|
|
|
|
+ if nameWithIndexExp.MatchString(s) {
|
|
|
|
|
+ index := strings.Split(s, "[")
|
|
|
name := index[0]
|
|
name := index[0]
|
|
|
if cnt := len(index) - 1; cnt > 0 {
|
|
if cnt := len(index) - 1; cnt > 0 {
|
|
|
for i := 1; i < cnt; i++ {
|
|
for i := 1; i < cnt; i++ {
|
|
@@ -192,7 +196,7 @@ func toNameWithIndex(val value) (string, []string) {
|
|
|
}
|
|
}
|
|
|
return name, index[1:]
|
|
return name, index[1:]
|
|
|
}
|
|
}
|
|
|
- panic(fmt.Errorf("name: %s (%s)", errInvalidName, val.String()))
|
|
|
|
|
|
|
+ panic(fmt.Errorf("name: %s (%s)", errInvalidName, s))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func isList(val value) bool {
|
|
func isList(val value) bool {
|