mirror of
https://github.com/google/go-jsonnet.git
synced 2025-09-29 09:21:03 +02:00
Rename valueSimpleObjectField -> simpleObjectField
A field on it's own is not a value
This commit is contained in:
parent
0c43340142
commit
4b0735826d
@ -556,7 +556,7 @@ func builtinUglyObjectFlatMerge(e *evaluator, objarrp potentialValue) (value, er
|
|||||||
if len(objarr.elements) == 0 {
|
if len(objarr.elements) == 0 {
|
||||||
return &valueSimpleObject{}, nil
|
return &valueSimpleObject{}, nil
|
||||||
}
|
}
|
||||||
newFields := make(valueSimpleObjectFieldMap)
|
newFields := make(simpleObjectFieldMap)
|
||||||
for _, elem := range objarr.elements {
|
for _, elem := range objarr.elements {
|
||||||
obj, err := e.evaluateObject(elem)
|
obj, err := e.evaluateObject(elem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -568,7 +568,7 @@ func builtinUglyObjectFlatMerge(e *evaluator, objarrp potentialValue) (value, er
|
|||||||
if _, alreadyExists := newFields[fieldName]; alreadyExists {
|
if _, alreadyExists := newFields[fieldName]; alreadyExists {
|
||||||
return nil, e.Error(duplicateFieldNameErrMsg(fieldName))
|
return nil, e.Error(duplicateFieldNameErrMsg(fieldName))
|
||||||
}
|
}
|
||||||
newFields[fieldName] = valueSimpleObjectField{
|
newFields[fieldName] = simpleObjectField{
|
||||||
hide: fieldVal.hide,
|
hide: fieldVal.hide,
|
||||||
field: &bindingsUnboundField{
|
field: &bindingsUnboundField{
|
||||||
inner: fieldVal.field,
|
inner: fieldVal.field,
|
||||||
|
@ -305,7 +305,7 @@ func (i *interpreter) evaluate(a ast.Node) (value, error) {
|
|||||||
|
|
||||||
case *ast.DesugaredObject:
|
case *ast.DesugaredObject:
|
||||||
// Evaluate all the field names. Check for null, dups, etc.
|
// Evaluate all the field names. Check for null, dups, etc.
|
||||||
fields := make(valueSimpleObjectFieldMap)
|
fields := make(simpleObjectFieldMap)
|
||||||
for _, field := range ast.Fields {
|
for _, field := range ast.Fields {
|
||||||
fieldNameValue, err := e.evalInCurrentContext(field.Name)
|
fieldNameValue, err := e.evalInCurrentContext(field.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -329,7 +329,7 @@ func (i *interpreter) evaluate(a ast.Node) (value, error) {
|
|||||||
if field.PlusSuper {
|
if field.PlusSuper {
|
||||||
f = &PlusSuperUnboundField{f}
|
f = &PlusSuperUnboundField{f}
|
||||||
}
|
}
|
||||||
fields[fieldName] = valueSimpleObjectField{field.Hide, f}
|
fields[fieldName] = simpleObjectField{field.Hide, f}
|
||||||
}
|
}
|
||||||
var asserts []unboundField
|
var asserts []unboundField
|
||||||
for _, assert := range ast.Asserts {
|
for _, assert := range ast.Asserts {
|
||||||
@ -734,7 +734,7 @@ func buildStdObject(i *interpreter) (valueObject, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for name, value := range builtinFields {
|
for name, value := range builtinFields {
|
||||||
obj.fields[name] = valueSimpleObjectField{ast.ObjectFieldHidden, value}
|
obj.fields[name] = simpleObjectField{ast.ObjectFieldHidden, value}
|
||||||
}
|
}
|
||||||
return obj, nil
|
return obj, nil
|
||||||
}
|
}
|
||||||
@ -774,9 +774,9 @@ func prepareExtVars(i *interpreter, ext vmExtMap) map[ast.Identifier]potentialVa
|
|||||||
}
|
}
|
||||||
|
|
||||||
func buildObject(hide ast.ObjectFieldHide, fields map[string]value) valueObject {
|
func buildObject(hide ast.ObjectFieldHide, fields map[string]value) valueObject {
|
||||||
fieldMap := valueSimpleObjectFieldMap{}
|
fieldMap := simpleObjectFieldMap{}
|
||||||
for name, v := range fields {
|
for name, v := range fields {
|
||||||
fieldMap[name] = valueSimpleObjectField{hide, &readyValue{v}}
|
fieldMap[name] = simpleObjectField{hide, &readyValue{v}}
|
||||||
}
|
}
|
||||||
return makeValueSimpleObject(bindingFrame{}, fieldMap, nil)
|
return makeValueSimpleObject(bindingFrame{}, fieldMap, nil)
|
||||||
}
|
}
|
||||||
|
12
value.go
12
value.go
@ -453,7 +453,7 @@ func (obj *valueObjectBase) getAssertionsCheckResult() error {
|
|||||||
type valueSimpleObject struct {
|
type valueSimpleObject struct {
|
||||||
valueObjectBase
|
valueObjectBase
|
||||||
upValues bindingFrame
|
upValues bindingFrame
|
||||||
fields valueSimpleObjectFieldMap
|
fields simpleObjectFieldMap
|
||||||
asserts []unboundField
|
asserts []unboundField
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -501,7 +501,7 @@ func (*valueSimpleObject) inheritanceSize() int {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeValueSimpleObject(b bindingFrame, fields valueSimpleObjectFieldMap, asserts []unboundField) *valueSimpleObject {
|
func makeValueSimpleObject(b bindingFrame, fields simpleObjectFieldMap, asserts []unboundField) *valueSimpleObject {
|
||||||
return &valueSimpleObject{
|
return &valueSimpleObject{
|
||||||
upValues: b,
|
upValues: b,
|
||||||
fields: fields,
|
fields: fields,
|
||||||
@ -509,11 +509,9 @@ func makeValueSimpleObject(b bindingFrame, fields valueSimpleObjectFieldMap, ass
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type valueSimpleObjectFieldMap map[string]valueSimpleObjectField
|
type simpleObjectFieldMap map[string]simpleObjectField
|
||||||
|
|
||||||
// TODO(sbarzowski) this is not a value and the name suggests it is...
|
type simpleObjectField struct {
|
||||||
// TODO(sbarzowski) better name? This is basically just a (hide, field) pair.
|
|
||||||
type valueSimpleObjectField struct {
|
|
||||||
hide ast.ObjectFieldHide
|
hide ast.ObjectFieldHide
|
||||||
field unboundField
|
field unboundField
|
||||||
}
|
}
|
||||||
@ -566,7 +564,7 @@ func makeValueExtendedObject(left, right valueObject) *valueExtendedObject {
|
|||||||
// findField returns a field in object curr, with superDepth at least minSuperDepth
|
// findField returns a field in object curr, with superDepth at least minSuperDepth
|
||||||
// It also returns an associated bindingFrame and actual superDepth that the field
|
// It also returns an associated bindingFrame and actual superDepth that the field
|
||||||
// was found at.
|
// was found at.
|
||||||
func findField(curr value, minSuperDepth int, f string) (*valueSimpleObjectField, bindingFrame, int) {
|
func findField(curr value, minSuperDepth int, f string) (*simpleObjectField, bindingFrame, int) {
|
||||||
switch curr := curr.(type) {
|
switch curr := curr.(type) {
|
||||||
case *valueExtendedObject:
|
case *valueExtendedObject:
|
||||||
if curr.right.inheritanceSize() > minSuperDepth {
|
if curr.right.inheritanceSize() > minSuperDepth {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user