From f7ed856d0cbee5efe18fb4ca7f572d1865b98f32 Mon Sep 17 00:00:00 2001 From: Softonik Date: Sun, 11 Feb 2024 21:30:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=BA=D0=B0:=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20=D0=B8?= =?UTF-8?q?=20=D1=82=D0=B8=D0=BF=D1=8B=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=B0=D1=82=D1=8B=D0=B2=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=BE?= =?UTF-8?q?=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/class.go | 10 ++-------- pkg/service/spec.go | 2 +- pkg/service/type.go | 15 +++++++++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/pkg/service/class.go b/pkg/service/class.go index 4211007..00eb16a 100644 --- a/pkg/service/class.go +++ b/pkg/service/class.go @@ -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) { diff --git a/pkg/service/spec.go b/pkg/service/spec.go index 29b21eb..3d20dc8 100644 --- a/pkg/service/spec.go +++ b/pkg/service/spec.go @@ -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 diff --git a/pkg/service/type.go b/pkg/service/type.go index 48b28f2..d9eed96 100644 --- a/pkg/service/type.go +++ b/pkg/service/type.go @@ -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) {