From 7aef2b730b90fdd82dacb120f2e4e7e2ae425f30 Mon Sep 17 00:00:00 2001 From: Softonik Date: Mon, 22 Jan 2024 02:56:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80?= =?UTF-8?q?=D1=8B-=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/features/app.feature | 10 ++++++++++ pkg/service/service.go | 2 ++ pkg/service/type.go | 15 +++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 pkg/service/type.go diff --git a/pkg/service/features/app.feature b/pkg/service/features/app.feature index eda97f7..75b6122 100644 --- a/pkg/service/features/app.feature +++ b/pkg/service/features/app.feature @@ -13,4 +13,14 @@ void loop() {} void setup() {} ``` + Сценарий: Пустая структура - класс + * Исходник: +``` +package test + +type device struct {} +``` + * Результат: +``` +class device {} ``` diff --git a/pkg/service/service.go b/pkg/service/service.go index 3b1049d..48b5c93 100644 --- a/pkg/service/service.go +++ b/pkg/service/service.go @@ -512,6 +512,8 @@ func handleSpecs(specs []ast.Spec) string { code += handleImportSpec(spec) case *ast.ValueSpec: code += handleValueSpec(spec) + ";" + case *ast.TypeSpec: + code += handleTypeSpec(spec) } } return code diff --git a/pkg/service/type.go b/pkg/service/type.go new file mode 100644 index 0000000..8fea284 --- /dev/null +++ b/pkg/service/type.go @@ -0,0 +1,15 @@ +package service + +import ( + "go/ast" +) + +func handleTypeSpec(spec ast.Spec) string { + s := spec.(*ast.TypeSpec) + code := "class" + code += " " + code += s.Name.String() + code += " " + code += "{}" + return code +}