Multiple class definitions in the same file raise error "invalid syntax"
- Ngôn ngữ chính
- Go
- Star
- 1k
- Fork
- 105
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Hey, there. It seems like it's not possible to define multiple classes in a single Python file with `py.RunSrc()`, unless I'm misunderstanding something...? It works with `py.RunFile()`, though.
Go:
```go
context := py.NewContext(py.DefaultContextOpts())
data, _ := fs.ReadFile(g.FS, "math_stuff.py")
_, err := py.RunSrc(context, string(data), "run", nil)
log.Println(err)
```
`math_stuff.py`
```python
class A:
pass
class B:
pass
```
Gives me the error:
```
2026/07/02 15:06:16
File "run", line 5, offset 5
class B:
SyntaxError: 'invalid syntax'
```
I'm testing with the latest commit.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start by reproducing the issue with py.RunSrc and the two-class math_stuff.py example, then compare its handling with py.RunFile. Trace the parser or source-loading path reached by py.RunSrc and add a regression test for multiple class definitions; done means the example runs without the invalid syntax error.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- go, python
- Lĩnh vực
- compilers
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 65/100