From 48c50504477cb397e4971e2171f426ce5fa47d40 Mon Sep 17 00:00:00 2001 From: Softonik Date: Wed, 9 Nov 2022 06:09:37 +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=20=D1=82=D0=B5=D1=81=D1=82=20=D0=BD=D0=B0=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=20=D1=81=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA=D1=81=D0=BE=D0=BC=20?= =?UTF-8?q?(=D0=BF=D0=BE=D0=BA=D0=B0=20=D0=B1=D0=B5=D0=B7=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- transpile_python/service.go | 13 ++++++++++++- transpile_python/service_test.go | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/transpile_python/service.go b/transpile_python/service.go index bab29fa..74e19ca 100644 --- a/transpile_python/service.go +++ b/transpile_python/service.go @@ -447,7 +447,18 @@ func handleSelectorExpr(expr ast.Expr) string { } func handleIndexExpr(expr *ast.IndexExpr) string { - code := expr.X.(*ast.Ident).String() + code := "" + + switch x := expr.X.(type) { + case *ast.Ident: + code += x.String() + // case *ast.CallExpr: + // code += x.... + default: + spew.Dump(x) + code += "unknown handleIndexExpr" + } + code += "[" code += expr.Index.(*ast.BasicLit).Value code += "]" diff --git a/transpile_python/service_test.go b/transpile_python/service_test.go index 8d49604..e75ede5 100644 --- a/transpile_python/service_test.go +++ b/transpile_python/service_test.go @@ -175,6 +175,20 @@ main() Compare(source, expected) }) + XIt("Assignments += by index of function call", func() { + source := `package test + func main() { + vkl_iface = vkl_iface_part(1)[0] + } + ` + expected := `from skidl import * +def main(): + vkl_iface = vkl_iface_part(1)[0] +main() +` + Compare(source, expected) + }) + It("Assignments &", func() { source := `package test func main() {