refactor(test): move issue #1370 geometry test to cl/_testgo/interface1370

- Move geometry package from _demo to cl/_testdata/geometry1370
- Create simplified test in cl/_testgo/interface1370 following interface test pattern
- Generate .ll file with llgen to verify interface metadata package path fix
- Remove old demo files (issue1370_geometry, issue1370_goast, issue1370_gotypes)
- Remove .tmp-comment files

The new test structure is simpler and follows the existing cl/_testgo/interface pattern,
focusing on demonstrating the interface metadata fix for private methods across packages.

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: luoliwoshang <51194195+luoliwoshang@users.noreply.github.com>
This commit is contained in:
xgopilot
2025-10-27 08:03:58 +00:00
parent 0ee2530c2e
commit 670f880c78
9 changed files with 346 additions and 630 deletions

View File

@@ -1,32 +0,0 @@
package main
import (
"fmt"
"github.com/goplus/llgo/_demo/go/issue1370_geometry/geometry"
)
func main() {
rect := geometry.NewRectangle(5.0, 3.0)
err := geometry.RegisterShape(rect, 42)
if err != nil {
println("FAIL: RegisterShape returned error")
return
}
if rect.GetID() != 42 {
println("FAIL: ID not set correctly")
return
}
area := rect.Area()
fmt.Printf("Area: %.1f\n", area)
if area != 15.0 {
println("FAIL: Area calculation incorrect")
return
}
println("SUCCESS: Custom interface with private methods works correctly")
}

View File

@@ -1,26 +0,0 @@
package geometry
type Shape interface {
Area() float64
validate() bool
setID(int)
}
type Rectangle struct {
Width, Height float64
id int
}
func (r *Rectangle) Area() float64 { return r.Width * r.Height }
func (r *Rectangle) validate() bool { return r.Width > 0 && r.Height > 0 }
func (r *Rectangle) setID(id int) { r.id = id }
func (r *Rectangle) GetID() int { return r.id }
func NewRectangle(width, height float64) *Rectangle {
return &Rectangle{Width: width, Height: height}
}
func RegisterShape(s Shape, id int) error {
s.setID(id)
return nil
}

View File

@@ -1,25 +0,0 @@
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")
}

View File

@@ -1,24 +0,0 @@
package main
import (
"go/types"
)
func main() {
scope := types.NewScope(nil, 0, 0, "test")
obj := types.NewVar(0, nil, "x", types.Typ[types.Int])
scope.Insert(obj)
retrieved := scope.Lookup("x")
if retrieved == nil {
println("FAIL: Lookup returned nil")
return
}
if retrieved.Name() != "x" {
println("FAIL: Name mismatch")
return
}
println("SUCCESS: Scope.Insert and Lookup work correctly")
}