diff --git a/transpile/service.go b/transpile/service.go index 42cedae..b608d47 100644 --- a/transpile/service.go +++ b/transpile/service.go @@ -439,6 +439,8 @@ func handleIdent(expr ast.Expr) string { ident := expr.(*ast.Ident) code := "" switch ident.Name { + case "nil": + code += "NULL" case "string": code += "char*" default: diff --git a/transpile/service_test.go b/transpile/service_test.go index a4b2fea..2a6ebfe 100644 --- a/transpile/service_test.go +++ b/transpile/service_test.go @@ -860,7 +860,24 @@ var _ = Describe("Go Translator", func() { Compare(source, expected) }) }) - Describe("Математика", func() { + Describe("Действия", func() { + It("nil -> NULL", func() { + source := `package test + func Loop() { + if p == nil { + } + } + ` + expected := ` + void loop(); + + void loop() { + if (p == NULL) { + } + } + ` + Compare(source, expected) + }) It("i++", func() { source := `package test func Loop() {