package registry import ( "fmt" "reflect" cda "git.loafle.net/commons_go/di/annotation" ) type TypeDefinition struct { FullName string PkgName string TypeName string Type reflect.Type RealType reflect.Type Fields []*FieldDefinition } type FieldDefinition struct { FieldName string PkgName string TypeName string Type reflect.Type RealType reflect.Type Annotations map[string]cda.Annotation } func (fd *FieldDefinition) GetAnnotation(name string) cda.Annotation { if nil == fd.Annotations { return nil } return fd.Annotations[name] } func FullName(pkgName, typeName string) string { return fmt.Sprintf("%s/%s", pkgName, typeName) }