Skip to content

Commit

Permalink
Add support for slices to non-pointers, use non-nullable AnyValue (#2192
Browse files Browse the repository at this point in the history
)

* Add support for slices to non-pointers, use non-nullable AnyValue

Before:
```
goos: darwin
goarch: amd64
pkg: go.opentelemetry.io/collector/consumer/pdata
BenchmarkTracesFromOtlp
BenchmarkTracesFromOtlp-16    	     584	   1805875 ns/op	  940352 B/op	   29954 allocs/op
PASS
```

After:
```
goos: darwin
goarch: amd64
pkg: go.opentelemetry.io/collector/consumer/pdata
BenchmarkTracesFromOtlp
BenchmarkTracesFromOtlp-16    	     681	   1575996 ns/op	  857915 B/op	   24802 allocs/op
PASS
```

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Resolve comments

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Update slice pdatagen names

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
  • Loading branch information
bogdandrutu committed Nov 30, 2020
1 parent e48f95f commit 6f60275
Show file tree
Hide file tree
Showing 30 changed files with 926 additions and 712 deletions.
8 changes: 4 additions & 4 deletions cmd/pdatagen/internal/base_fields.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ type baseField interface {
type sliceField struct {
fieldName string
originFieldName string
returnSlice *sliceStruct
returnSlice baseSlice
}

func (sf *sliceField) generateAccessors(ms baseStruct, sb *strings.Builder) {
Expand All @@ -137,7 +137,7 @@ func (sf *sliceField) generateAccessors(ms baseStruct, sb *strings.Builder) {
case "fieldName":
return sf.fieldName
case "returnType":
return sf.returnSlice.structName
return sf.returnSlice.getName()
case "originFieldName":
return sf.originFieldName
default:
Expand All @@ -154,15 +154,15 @@ func (sf *sliceField) generateAccessorsTest(ms baseStruct, sb *strings.Builder)
case "fieldName":
return sf.fieldName
case "returnType":
return sf.returnSlice.structName
return sf.returnSlice.getName()
default:
panic(name)
}
}))
}

func (sf *sliceField) generateSetWithTestValue(sb *strings.Builder) {
sb.WriteString("\tfillTest" + sf.returnSlice.structName + "(tv." + sf.fieldName + "())")
sb.WriteString("\tfillTest" + sf.returnSlice.getName() + "(tv." + sf.fieldName + "())")
}

func (sf *sliceField) generateCopyToValue(sb *strings.Builder) {
Expand Down
Loading

0 comments on commit 6f60275

Please sign in to comment.