Добавлена функция с типом ShouldBeSkipped

Этот коммит содержится в:
Softonik 2022-01-03 03:04:41 +03:00 коммит произвёл Nobody
родитель 938bb8bba4
коммит df0a4527aa
2 изменённых файлов: 44 добавлений и 0 удалений

Просмотреть файл

@ -184,6 +184,9 @@ func handleExprStmt(stmt *ast.ExprStmt) string {
func handleFuncDecl(decl ast.Decl) string {
fd := decl.(*ast.FuncDecl)
if shouldSkipFunction(fd.Type) {
return ""
}
code := ""
name := ""
code += handleFuncDeclType(fd.Type)
@ -200,6 +203,37 @@ func handleFuncDecl(decl ast.Decl) string {
code += "}"
return code
}
func shouldSkipFunction(t *ast.FuncType) (res bool) {
r := t.Results
if r == nil {
return
}
l := r.List
if len(l) != 1 {
return
}
p := l[0]
if p == nil {
return
}
pt := p.Type
if pt == nil {
return
}
i, ok := pt.(*ast.Ident)
if !ok {
return
}
if i.Name == "ShouldBeSkipped" {
return true
}
return
}
func handleFuncDeclParams(t *ast.FuncType) string {
code := ""

Просмотреть файл

@ -225,6 +225,16 @@ var _ = Describe("Go Translator", func() {
Compare(source, expected)
})
It("Function_Should_Be_Skipped", func() {
source := `package test
func foo() (s ShouldBeSkipped) {
return;
}
`
expected := ``
Compare(source, expected)
})
It("Package_Import", func() {
source := `package test
import "github.com/andygeiss/esp32-mqtt/api/controller"