Files
llgo/_cmptest/issue1370_goast/goast.go
xgopilot 2b763b631f test: add regression tests for issue #1370
Add three regression test cases for cross-package interface private method calls:

1. _cmptest/issue1370_gotypes/ - Tests go/types.Object interface with Scope.Insert()
   which calls the private setParent() method

2. _cmptest/issue1370_goast/ - Tests go/ast.Expr interface conversion with ast.Ident
   which has a private exprNode() method

3. _cmptest/issue1370_geometry/ - Tests custom geometry.Shape interface with private
   methods (validate, setID) across package boundaries

These tests verify the fix in ssa/abitype.go correctly sets the interface metadata's
PkgPath to the interface definition package instead of the compilation package,
preventing segmentation faults when calling private methods.

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: luoliwoshang <51194195+luoliwoshang@users.noreply.github.com>
2025-10-27 07:04:57 +00:00

26 lines
357 B
Go

package main
import (
"fmt"
"go/ast"
"go/token"
)
func main() {
ident := &ast.Ident{
NamePos: token.Pos(42),
Name: "foo",
}
var expr ast.Expr = ident
pos := expr.Pos()
fmt.Printf("Position: %d\n", pos)
if pos != 42 {
println("FAIL: Position mismatch")
return
}
println("SUCCESS: ast.Expr interface method calls work correctly")
}