GIR: Port new property comment syntax to overrides
Signed-off-by: Felicitas Pojtinger <felicitas@pojtinger.com>
- commit
- db738000e9aee82a4a384f67f10fd08ae3f505bd
- author
- Felicitas Pojtinger · · 2025-10-30 06:52 UTC
- committer
- Jeroen Wijenbergh · · 2025-12-01 16:10 UTC
- parent
- 4bdfabf
- signature
- unsigned
3 files · +18 -14
M internal/gir/pass/pass.go +1 -0
| @@ -169,6 +169,7 @@ func (p *Pass) writeGo(r types.Repository, gotemp *template.Template, dir string | |||
| 169 | 169 | ||
| 170 | 170 | callbackAccessors = append(callbackAccessors, types.CallbackAccessor{ | |
| 171 | 171 | Name: callbackName, | |
| 172 | + | CName: f.Name, | |
| 172 | 173 | Doc: doc, | |
| 173 | 174 | CallbackType: "func(" + strings.Join(apiTypes, ", ") + ") " + ret.Value, | |
| 174 | 175 | Args: args, | |
| @@ -169,6 +169,7 @@ func (p *Pass) writeGo(r types.Repository, gotemp *template.Template, dir string | |||||
| 169 | 169 | ||||
| 170 | callbackAccessors = append(callbackAccessors, types.CallbackAccessor{ | 170 | callbackAccessors = append(callbackAccessors, types.CallbackAccessor{ | ||
| 171 | Name: callbackName, | 171 | Name: callbackName, | ||
| 172 | + | CName: f.Name, | |||
| 172 | Doc: doc, | 173 | Doc: doc, | ||
| 173 | CallbackType: "func(" + strings.Join(apiTypes, ", ") + ") " + ret.Value, | 174 | CallbackType: "func(" + strings.Join(apiTypes, ", ") + ") " + ret.Value, | ||
| 174 | Args: args, | 175 | Args: args, | ||
M internal/gir/types/template.go +3 -0
| @@ -191,6 +191,9 @@ type CallbackAccessor struct { | |||
| 191 | 191 | // Name is the Go name of the callback field (without x prefix) | |
| 192 | 192 | Name string | |
| 193 | 193 | ||
| 194 | + | // CName is the raw c name | |
| 195 | + | CName string | |
| 196 | + | ||
| 194 | 197 | // Doc is the documentation for the callback | |
| 195 | 198 | Doc string | |
| 196 | 199 | ||
| @@ -191,6 +191,9 @@ type CallbackAccessor struct { | |||||
| 191 | // Name is the Go name of the callback field (without x prefix) | 191 | // Name is the Go name of the callback field (without x prefix) | ||
| 192 | Name string | 192 | Name string | ||
| 193 | 193 | ||||
| 194 | + | // CName is the raw c name | |||
| 195 | + | CName string | |||
| 196 | + | ||||
| 194 | // Doc is the documentation for the callback | 197 | // Doc is the documentation for the callback | ||
| 195 | Doc string | 198 | Doc string | ||
| 196 | 199 | ||||
M templates/go +14 -14
| @@ -84,9 +84,9 @@ func (x *{{$outer.Name}}) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Return}} { | |||
| 84 | 84 | {{end}} | |
| 85 | 85 | ||
| 86 | 86 | {{range .CallbackAccessors -}} | |
| 87 | - | {{if .Doc}}// Override{{.Name}} sets the callback function. | |
| 88 | - | {{.Doc}}{{else}}// Override{{.Name}} sets the callback function.{{end}} | |
| 89 | - | func (x *{{$outer.Name}}) Override{{.Name}}(cb {{.CallbackType}}) { | |
| 87 | + | // Override{{.Name}} sets the "{{.CName}}" callback function. | |
| 88 | + | {{if .Doc}}{{.Doc}} | |
| 89 | + | {{end}}func (x *{{$outer.Name}}) Override{{.Name}}(cb {{.CallbackType}}) { | |
| 90 | 90 | if cb == nil { | |
| 91 | 91 | x.x{{.Name}} = 0 | |
| 92 | 92 | } else { | |
| @@ -100,9 +100,9 @@ func (x *{{$outer.Name}}) Override{{.Name}}(cb {{.CallbackType}}) { | |||
| 100 | 100 | } | |
| 101 | 101 | } | |
| 102 | 102 | ||
| 103 | - | {{if .Doc}}// Get{{.Name}} gets the callback function. | |
| 104 | - | {{.Doc}}{{else}}// Get{{.Name}} gets the callback function.{{end}} | |
| 105 | - | func (x *{{$outer.Name}}) Get{{.Name}}() {{.CallbackType}} { | |
| 103 | + | // Get{{.Name}} gets the "{{.CName}}" callback function. | |
| 104 | + | {{if .Doc}}{{.Doc}} | |
| 105 | + | {{end}}func (x *{{$outer.Name}}) Get{{.Name}}() {{.CallbackType}} { | |
| 106 | 106 | if x.x{{.Name}} == 0 { | |
| 107 | 107 | return nil | |
| 108 | 108 | } | |
| @@ -167,8 +167,8 @@ func (x *{{$outer.Name}}Base) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Return}} | |||
| 167 | 167 | {{range .Properties -}} | |
| 168 | 168 | {{if .Writable}} | |
| 169 | 169 | // SetProperty{{.Name}} sets the "{{.CName}}" property. | |
| 170 | - | {{.Doc}} | |
| 171 | - | func (x *{{$outer.Name}}Base) SetProperty{{.Name}}(value {{.GoType}}) { | |
| 170 | + | {{if .Doc}}{{.Doc}} | |
| 171 | + | {{end}}func (x *{{$outer.Name}}Base) SetProperty{{.Name}}(value {{.GoType}}) { | |
| 172 | 172 | obj := {{if $NotGObject}}gobject.{{end}}Object{} | |
| 173 | 173 | obj.Ptr = x.GoPointer() | |
| 174 | 174 | var v {{if $NotGObject}}gobject.{{end}}Value | |
| @@ -180,8 +180,8 @@ func (x *{{$outer.Name}}Base) SetProperty{{.Name}}(value {{.GoType}}) { | |||
| 180 | 180 | ||
| 181 | 181 | {{if .Readable}} | |
| 182 | 182 | // GetProperty{{.Name}} gets the "{{.CName}}" property. | |
| 183 | - | {{.Doc}} | |
| 184 | - | func (x *{{$outer.Name}}Base) GetProperty{{.Name}}() {{.GoType}} { | |
| 183 | + | {{if .Doc}}{{.Doc}} | |
| 184 | + | {{end}}func (x *{{$outer.Name}}Base) GetProperty{{.Name}}() {{.GoType}} { | |
| 185 | 185 | obj := {{if $NotGObject}}gobject.{{end}}Object{} | |
| 186 | 186 | obj.Ptr = x.GoPointer() | |
| 187 | 187 | var v {{if $NotGObject}}gobject.{{end}}Value | |
| @@ -306,8 +306,8 @@ func (c *{{.Name}}) SetGoPointer(ptr uintptr) { | |||
| 306 | 306 | {{range .Properties -}} | |
| 307 | 307 | {{if .Writable}} | |
| 308 | 308 | // SetProperty{{.Name}} sets the "{{.CName}}" property. | |
| 309 | - | {{.Doc}} | |
| 310 | - | func (x *{{$outer.Name}}) SetProperty{{.Name}}(value {{.GoType}}) { | |
| 309 | + | {{if .Doc}}{{.Doc}} | |
| 310 | + | {{end}}func (x *{{$outer.Name}}) SetProperty{{.Name}}(value {{.GoType}}) { | |
| 311 | 311 | var v {{if $NotGObject}}gobject.{{end}}Value | |
| 312 | 312 | v.Init({{if $NotGObject}}gobject.{{end}}{{.GValueType}}) | |
| 313 | 313 | v.{{.SetMethod}}(value) | |
| @@ -317,8 +317,8 @@ func (x *{{$outer.Name}}) SetProperty{{.Name}}(value {{.GoType}}) { | |||
| 317 | 317 | ||
| 318 | 318 | {{if .Readable}} | |
| 319 | 319 | // GetProperty{{.Name}} gets the "{{.CName}}" property. | |
| 320 | - | {{.Doc}} | |
| 321 | - | func (x *{{$outer.Name}}) GetProperty{{.Name}}() {{.GoType}} { | |
| 320 | + | {{if .Doc}}{{.Doc}} | |
| 321 | + | {{end}}func (x *{{$outer.Name}}) GetProperty{{.Name}}() {{.GoType}} { | |
| 322 | 322 | var v {{if $NotGObject}}gobject.{{end}}Value | |
| 323 | 323 | x.GetProperty("{{.CName}}", &v) | |
| 324 | 324 | return v.{{.GetMethod}}() | |
| @@ -84,9 +84,9 @@ func (x *{{$outer.Name}}) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Return}} { | |||||
| 84 | {{end}} | 84 | {{end}} | ||
| 85 | 85 | ||||
| 86 | {{range .CallbackAccessors -}} | 86 | {{range .CallbackAccessors -}} | ||
| 87 | - | {{if .Doc}}// Override{{.Name}} sets the callback function. | 87 | + | // Override{{.Name}} sets the "{{.CName}}" callback function. |
| 88 | - | {{.Doc}}{{else}}// Override{{.Name}} sets the callback function.{{end}} | 88 | + | {{if .Doc}}{{.Doc}} |
| 89 | - | func (x *{{$outer.Name}}) Override{{.Name}}(cb {{.CallbackType}}) { | 89 | + | {{end}}func (x *{{$outer.Name}}) Override{{.Name}}(cb {{.CallbackType}}) { |
| 90 | if cb == nil { | 90 | if cb == nil { | ||
| 91 | x.x{{.Name}} = 0 | 91 | x.x{{.Name}} = 0 | ||
| 92 | } else { | 92 | } else { | ||
| @@ -100,9 +100,9 @@ func (x *{{$outer.Name}}) Override{{.Name}}(cb {{.CallbackType}}) { | |||||
| 100 | } | 100 | } | ||
| 101 | } | 101 | } | ||
| 102 | 102 | ||||
| 103 | - | {{if .Doc}}// Get{{.Name}} gets the callback function. | 103 | + | // Get{{.Name}} gets the "{{.CName}}" callback function. |
| 104 | - | {{.Doc}}{{else}}// Get{{.Name}} gets the callback function.{{end}} | 104 | + | {{if .Doc}}{{.Doc}} |
| 105 | - | func (x *{{$outer.Name}}) Get{{.Name}}() {{.CallbackType}} { | 105 | + | {{end}}func (x *{{$outer.Name}}) Get{{.Name}}() {{.CallbackType}} { |
| 106 | if x.x{{.Name}} == 0 { | 106 | if x.x{{.Name}} == 0 { | ||
| 107 | return nil | 107 | return nil | ||
| 108 | } | 108 | } | ||
| @@ -167,8 +167,8 @@ func (x *{{$outer.Name}}Base) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Return}} | |||||
| 167 | {{range .Properties -}} | 167 | {{range .Properties -}} | ||
| 168 | {{if .Writable}} | 168 | {{if .Writable}} | ||
| 169 | // SetProperty{{.Name}} sets the "{{.CName}}" property. | 169 | // SetProperty{{.Name}} sets the "{{.CName}}" property. | ||
| 170 | - | {{.Doc}} | 170 | + | {{if .Doc}}{{.Doc}} |
| 171 | - | func (x *{{$outer.Name}}Base) SetProperty{{.Name}}(value {{.GoType}}) { | 171 | + | {{end}}func (x *{{$outer.Name}}Base) SetProperty{{.Name}}(value {{.GoType}}) { |
| 172 | obj := {{if $NotGObject}}gobject.{{end}}Object{} | 172 | obj := {{if $NotGObject}}gobject.{{end}}Object{} | ||
| 173 | obj.Ptr = x.GoPointer() | 173 | obj.Ptr = x.GoPointer() | ||
| 174 | var v {{if $NotGObject}}gobject.{{end}}Value | 174 | var v {{if $NotGObject}}gobject.{{end}}Value | ||
| @@ -180,8 +180,8 @@ func (x *{{$outer.Name}}Base) SetProperty{{.Name}}(value {{.GoType}}) { | |||||
| 180 | 180 | ||||
| 181 | {{if .Readable}} | 181 | {{if .Readable}} | ||
| 182 | // GetProperty{{.Name}} gets the "{{.CName}}" property. | 182 | // GetProperty{{.Name}} gets the "{{.CName}}" property. | ||
| 183 | - | {{.Doc}} | 183 | + | {{if .Doc}}{{.Doc}} |
| 184 | - | func (x *{{$outer.Name}}Base) GetProperty{{.Name}}() {{.GoType}} { | 184 | + | {{end}}func (x *{{$outer.Name}}Base) GetProperty{{.Name}}() {{.GoType}} { |
| 185 | obj := {{if $NotGObject}}gobject.{{end}}Object{} | 185 | obj := {{if $NotGObject}}gobject.{{end}}Object{} | ||
| 186 | obj.Ptr = x.GoPointer() | 186 | obj.Ptr = x.GoPointer() | ||
| 187 | var v {{if $NotGObject}}gobject.{{end}}Value | 187 | var v {{if $NotGObject}}gobject.{{end}}Value | ||
| @@ -306,8 +306,8 @@ func (c *{{.Name}}) SetGoPointer(ptr uintptr) { | |||||
| 306 | {{range .Properties -}} | 306 | {{range .Properties -}} | ||
| 307 | {{if .Writable}} | 307 | {{if .Writable}} | ||
| 308 | // SetProperty{{.Name}} sets the "{{.CName}}" property. | 308 | // SetProperty{{.Name}} sets the "{{.CName}}" property. | ||
| 309 | - | {{.Doc}} | 309 | + | {{if .Doc}}{{.Doc}} |
| 310 | - | func (x *{{$outer.Name}}) SetProperty{{.Name}}(value {{.GoType}}) { | 310 | + | {{end}}func (x *{{$outer.Name}}) SetProperty{{.Name}}(value {{.GoType}}) { |
| 311 | var v {{if $NotGObject}}gobject.{{end}}Value | 311 | var v {{if $NotGObject}}gobject.{{end}}Value | ||
| 312 | v.Init({{if $NotGObject}}gobject.{{end}}{{.GValueType}}) | 312 | v.Init({{if $NotGObject}}gobject.{{end}}{{.GValueType}}) | ||
| 313 | v.{{.SetMethod}}(value) | 313 | v.{{.SetMethod}}(value) | ||
| @@ -317,8 +317,8 @@ func (x *{{$outer.Name}}) SetProperty{{.Name}}(value {{.GoType}}) { | |||||
| 317 | 317 | ||||
| 318 | {{if .Readable}} | 318 | {{if .Readable}} | ||
| 319 | // GetProperty{{.Name}} gets the "{{.CName}}" property. | 319 | // GetProperty{{.Name}} gets the "{{.CName}}" property. | ||
| 320 | - | {{.Doc}} | 320 | + | {{if .Doc}}{{.Doc}} |
| 321 | - | func (x *{{$outer.Name}}) GetProperty{{.Name}}() {{.GoType}} { | 321 | + | {{end}}func (x *{{$outer.Name}}) GetProperty{{.Name}}() {{.GoType}} { |
| 322 | var v {{if $NotGObject}}gobject.{{end}}Value | 322 | var v {{if $NotGObject}}gobject.{{end}}Value | ||
| 323 | x.GetProperty("{{.CName}}", &v) | 323 | x.GetProperty("{{.CName}}", &v) | ||
| 324 | return v.{{.GetMethod}}() | 324 | return v.{{.GetMethod}}() | ||