Python: добавлена поддержка цепочки вызовов

Этот коммит содержится в:
Softonik 2022-12-10 04:55:23 +03:00 коммит произвёл Nikolay Kopitonenko
родитель 6d70364357
коммит 37c9ded2b0
2 изменённых файлов: 23 добавлений и 0 удалений

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

@ -176,6 +176,7 @@ func handleBinaryExpr(expr ast.Expr) string {
}
func handleCallExpr(expr *ast.CallExpr) string {
// spew.Dump(expr)
func_name := handleExpr(expr.Fun)
code := ""
switch func_name {
@ -477,6 +478,11 @@ func handleSelectorExpr(expr ast.Expr) string {
code += handleSelectorExpr(x)
case *ast.Ident:
code += handleIdent(x)
case *ast.CallExpr:
code += handleCallExpr(x)
default:
spew.Dump(s)
code += "unknown handleSelectorExpr"
}
code += "."
code += handleIdent(s.Sel)

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

@ -228,6 +228,23 @@ main()
Compare(source, expected)
})
FIt("Sequence func call", func() {
source := `package test
import . "skidl"
func main() {
a.b().c(1).d(2).e(3)
}
`
expected := `from skidl import *
def main():
a.b().c(1).d(2).e(3)
main()
`
Compare(source, expected)
})
It("Func return", func() {
source := `package test
import . "skidl"