本文整理汇总了Golang中github.com/quarnster/completion/content.Type.Name方法的典型用法代码示例。如果您正苦于以下问题:Golang Type.Name方法的具体用法?Golang Type.Name怎么用?Golang Type.Name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/quarnster/completion/content.Type
的用法示例。
在下文中一共展示了Type.Name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ToContentType
func (td *TypeDef) ToContentType() (t *content.Type, err error) {
if td.ct.Name.Relative != "" {
return &td.ct, nil
}
t = &content.Type{}
t.Name = td.Name()
t.Flags = td.row.Flags.Convert()
if ext, err := td.Extends(); err != nil && err != ErrInterface {
return nil, err
} else {
t.Extends = ext
}
if imp, err := td.Implements(); err != nil {
return nil, err
} else {
t.Implements = imp
}
if f, err := td.Fields(); err != nil {
return nil, err
} else {
t.Fields = f
}
if f, err := td.Methods(); err != nil {
return nil, err
} else {
t.Methods = f
}
idx := td.mu.Search(id_NestedClass, func(ti TableIndex) bool {
if raw, err := ti.Data(); err == nil {
c := raw.(*NestedClassRow)
return c.NestedClass.Index() > td.index.Index()
}
return false
})
if idx != nil {
ci := idx.(*ConcreteTableIndex)
table := td.mu.Tables[idx.Table()]
for i := idx.Index(); i < table.Rows+1; i++ {
ci.index = i
if raw, err := ci.Data(); err != nil {
return nil, err
} else {
row := raw.(*NestedClassRow)
if row.EnclosingClass.Index() != td.index.Index() {
break
} else if td2, err := TypeDefFromIndex(row.NestedClass); err != nil {
return nil, err
} else {
ct := content.Type{}
ct.Name = td2.Name()
ct.Flags = td2.row.Flags.Convert()
if err := check(&ct, ct.Name); err != nil {
log4go.Fine("Skipping nested type: %s, %+v, %+v", err, ct, td2.row)
continue
}
t.Types = append(t.Types, ct)
}
}
}
}
err = content.Validate(&t)
td.ct = *t
return
}