Python: добавлена поддержка цепочки вызовов
Этот коммит содержится в:
родитель
6d70364357
коммит
37c9ded2b0
2 изменённых файлов: 23 добавлений и 0 удалений
|
@ -176,6 +176,7 @@ func handleBinaryExpr(expr ast.Expr) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleCallExpr(expr *ast.CallExpr) string {
|
func handleCallExpr(expr *ast.CallExpr) string {
|
||||||
|
// spew.Dump(expr)
|
||||||
func_name := handleExpr(expr.Fun)
|
func_name := handleExpr(expr.Fun)
|
||||||
code := ""
|
code := ""
|
||||||
switch func_name {
|
switch func_name {
|
||||||
|
@ -477,6 +478,11 @@ func handleSelectorExpr(expr ast.Expr) string {
|
||||||
code += handleSelectorExpr(x)
|
code += handleSelectorExpr(x)
|
||||||
case *ast.Ident:
|
case *ast.Ident:
|
||||||
code += handleIdent(x)
|
code += handleIdent(x)
|
||||||
|
case *ast.CallExpr:
|
||||||
|
code += handleCallExpr(x)
|
||||||
|
default:
|
||||||
|
spew.Dump(s)
|
||||||
|
code += "unknown handleSelectorExpr"
|
||||||
}
|
}
|
||||||
code += "."
|
code += "."
|
||||||
code += handleIdent(s.Sel)
|
code += handleIdent(s.Sel)
|
||||||
|
|
|
@ -228,6 +228,23 @@ main()
|
||||||
Compare(source, expected)
|
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() {
|
It("Func return", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import . "skidl"
|
import . "skidl"
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче