Переделка: классы и типы обрабатываются отдельно
Этот коммит содержится в:
родитель
a3f14ed097
коммит
f7ed856d0c
3 изменённых файлов: 14 добавлений и 13 удалений
|
@ -97,14 +97,8 @@ func (c *Class) AddMethod(m *ast.FuncDecl) {
|
|||
}
|
||||
|
||||
// Handlers
|
||||
func handleClass(t *ast.TypeSpec) string {
|
||||
st, ok := t.Type.(*ast.StructType)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
|
||||
addClassFromStructType(t.Name.String(), st)
|
||||
|
||||
func handleClass(name string, st *ast.StructType) string {
|
||||
addClassFromStructType(name, st)
|
||||
return ""
|
||||
}
|
||||
func addClassFromStructType(name string, s *ast.StructType) {
|
||||
|
|
|
@ -33,7 +33,7 @@ func handleSpecs(specs []ast.Spec) (code string) {
|
|||
case *ast.ValueSpec:
|
||||
code += handleValueSpec(s) + ";"
|
||||
case *ast.TypeSpec:
|
||||
code += handleTypeSpec(spec)
|
||||
code += handleTypeSpec(s)
|
||||
}
|
||||
}
|
||||
return
|
||||
|
|
|
@ -8,10 +8,17 @@ var (
|
|||
isPointerType = false
|
||||
)
|
||||
|
||||
func handleTypeSpec(spec ast.Spec) (code string) {
|
||||
s := spec.(*ast.TypeSpec)
|
||||
handleClass(s)
|
||||
return
|
||||
func handleTypeSpec(s *ast.TypeSpec) (code string) {
|
||||
st, ok := s.Type.(*ast.StructType)
|
||||
if ok {
|
||||
return handleClass(s.Name.String(), st)
|
||||
}
|
||||
|
||||
return handleType(s)
|
||||
}
|
||||
|
||||
func handleType(s *ast.TypeSpec) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func handleStructType(s *ast.StructType) (code string) {
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче