8000 py: fix Eq and Ne · go-python/gpython@d95eafb · GitHub
[go: up one dir, main page]

Skip to content

Commit d95eafb

Browse files
committed
py: fix Eq and Ne
1 parent 7bea4c3 commit d95eafb

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

py/arithmetic.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,7 @@ func Eq(a Object, b Object) (Object, error) {
863863
}
864864
}
865865

866-
return nil, ExceptionNewf(TypeError, "unsupported operand type(s) for ==: '%s' and '%s'", a.Type().Name, b.Type().Name)
866+
return False, nil
867867
}
868868

869869
// Ne two python objects returning a boolean result
@@ -892,5 +892,5 @@ func Ne(a Object, b Object) (Object, error) {
892892
}
893893
}
894894

895-
return nil, ExceptionNewf(TypeError, "unsupported operand type(s) for !=: '%s' and '%s'", a.Type().Name, b.Type().Name)
895+
return True, nil
896896
}

py/gen.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type Ops []struct {
2222
NoInplace bool
2323
Reversed string
2424
Conversion string
25+
FailReturn string
2526
}
2627

2728
type Data struct {
@@ -61,8 +62,8 @@ var data = Data{
6162
{Name: "ge", Title: "Ge", Operator: ">=", Reversed: "le"},
6263
{Name: "lt", Title: "Lt", Operator: "<", Reversed: "gt"},
6364
{Name: "le", Title: "Le", Operator: "<=", Reversed: "ge"},
64-
{Name: "eq", Title: "Eq", Operator: "==", Reversed: "eq"},
65-
{Name: "ne", Title: "Ne", Operator: "!=", Reversed: "ne"},
65+
{Name: "eq", Title: "Eq", Operator: "==", Reversed: "eq", FailReturn: "False"},
66+
{Name: "ne", Title: "Ne", Operator: "!=", Reversed: "ne", FailReturn: "True"},
6667
},
6768
}
6869

@@ -79,7 +80,7 @@ func main() {
7980
if err != nil {
8081
log.Fatalf("Failed to close %q: %v", filename, err)
8182
}
82-
err = exec.Command("gofmt", filename).Run()
83+
err = exec.Command("go", "fmt", filename).Run()
8384
if err != nil {
8485
log.Fatalf("Failed to gofmt %q: %v", filename, err)
8586
}
@@ -193,7 +194,7 @@ func {{.Title}}(a Object, b Object) (Object, error) {
193194
}
194195
}
195196
196-
return nil, ExceptionNewf(TypeError, "unsupported operand type(s) for {{.Operator}}: '%s' and '%s'", a.Type().Name, b.Type().Name)
197+
return {{ if .FailReturn}}{{ .FailReturn }}, nil{{ else }}nil, ExceptionNewf(TypeError, "unsupported operand type(s) for {{.Operator}}: '%s' and '%s'", a.Type().Name, b.Type().Name){{ end }}
197198
}
198199
{{ end }}
199200
`

0 commit comments

Comments
 (0)
0