Rename valueSimpleObjectField -> simpleObjectField

A field on it's own is not a value
This commit is contained in:
Stanisław Barzowski 2017-10-09 14:01:34 -04:00 committed by Dave Cunningham
parent 0c43340142
commit 4b0735826d
3 changed files with 12 additions and 14 deletions

View File

@ -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,

View File

@ -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)
} }

View File

@ -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 {