compiler: push additional type data into the bindings file

Structures/arrays and maps.
This commit is contained in:
Roman Khimov 2022-12-01 21:05:54 +03:00
parent 027e94fbde
commit b9d20b32e9
5 changed files with 168 additions and 62 deletions

View file

@ -291,13 +291,23 @@ func CompileAndSave(src string, o *Options) ([]byte, error) {
continue
}
for _, p := range m.Parameters {
pname := m.Name.Name + "." + p.Name
if p.RealType.TypeName != "" {
cfg.Overrides[m.Name.Name+"."+p.Name] = p.RealType
cfg.Overrides[pname] = p.RealType
}
if p.ExtendedType != nil {
cfg.Types[pname] = *p.ExtendedType
}
}
if m.ReturnTypeReal.TypeName != "" {
cfg.Overrides[m.Name.Name] = m.ReturnTypeReal
}
if m.ReturnTypeExtended != nil {
cfg.Types[m.Name.Name] = *m.ReturnTypeExtended
}
}
if len(di.NamedTypes) > 0 {
cfg.NamedTypes = di.NamedTypes
}
data, err := yaml.Marshal(&cfg)
if err != nil {