Use TypeDefined in generator

This commit is contained in:
Sasha Koshka 2024-01-25 18:19:22 +00:00
parent 3840220582
commit 143aeb5236
1 changed files with 5 additions and 2 deletions

View File

@ -65,14 +65,17 @@ func (this *generator) generate () (*llvm.Module, error) {
func (this *generator) typedef (typeName string) (llvm.Type, error) {
for _, ty := range this.module.Types {
if ty.Name() == typeName {
return ty, nil
return &llvm.TypeDefined { Source: ty }, nil
}
}
def, exists := this.tree.Types[typeName]
if !exists {
return nil, errNotFound
}
return this.generateTypedef(def)
ty, err := this.generateTypedef(def)
if err != nil { return nil, err }
return &llvm.TypeDefined { Source: ty }, nil
}
func (this *generator) method (typeName string, name string) (*llvm.Function, error) {