(component ComponentDefinition, class ComponentDefinitionClass, w LanguageWriter, implw LanguageWriter, NameSpace string, classdefinitions* []string)
| 467 | |
| 468 | |
| 469 | func buildGoClass(component ComponentDefinition, class ComponentDefinitionClass, w LanguageWriter, implw LanguageWriter, NameSpace string, classdefinitions* []string) (error) { |
| 470 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("")) |
| 471 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("/*************************************************************************************************************************")) |
| 472 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("Class definition %s%s", NameSpace, class.ClassName)) |
| 473 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("**************************************************************************************************************************/")) |
| 474 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("")) |
| 475 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("type %s%s struct {", NameSpace, class.ClassName)) |
| 476 | |
| 477 | if (component.Global.BaseClassName == class.ClassName) { |
| 478 | *classdefinitions = append(*classdefinitions, fmt.Sprintf(" Interface %sGoInterface", NameSpace)) |
| 479 | *classdefinitions = append(*classdefinitions, fmt.Sprintf(" Handle %sHandle", NameSpace)) |
| 480 | } else { |
| 481 | if len(class.ParentClass)>0 { |
| 482 | *classdefinitions = append(*classdefinitions, fmt.Sprintf(" %s%s", NameSpace, class.ParentClass)) |
| 483 | } else { |
| 484 | *classdefinitions = append(*classdefinitions, fmt.Sprintf(" %s%s", NameSpace, component.Global.BaseClassName)) |
| 485 | } |
| 486 | } |
| 487 | |
| 488 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("}")) |
| 489 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("")) |
| 490 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("func (instance *%s%s) Close() (error) {", NameSpace, class.ClassName)) |
| 491 | *classdefinitions = append(*classdefinitions, fmt.Sprintf(" return instance.Handle.Close()")) |
| 492 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("}")) |
| 493 | *classdefinitions = append(*classdefinitions, fmt.Sprintf("")) |
| 494 | |
| 495 | for j := 0; j < len(class.Methods); j++ { |
| 496 | method := class.Methods[j] |
| 497 | |
| 498 | err := writeGoMethod(method, w, implw, NameSpace, class.ClassName, false, classdefinitions) |
| 499 | if err != nil { |
| 500 | return err |
| 501 | } |
| 502 | } |
| 503 | return nil |
| 504 | } |
| 505 | |
| 506 | func buildGoWrapper(component ComponentDefinition, w LanguageWriter, implw LanguageWriter) error { |
| 507 | NameSpace := component.NameSpace |
no test coverage detected