ssa: ChangeInterface

This commit is contained in:
visualfc
2024-06-03 16:03:05 +08:00
parent 7596658e6c
commit 193e6dfc93
7 changed files with 539 additions and 331 deletions

View File

@@ -9,6 +9,8 @@ func (t T) Invoke() int {
return 0
}
func (t *T) Method() {}
type T1 int
func (t T1) Invoke() int {
@@ -46,8 +48,20 @@ func main() {
invoke(t2)
invoke(&t2)
invoke(&t3)
var m M
var i I = m
println(i, m)
m = &t
invoke(m)
// panic
invoke(nil)
}
func invoke(i I) {
println(i.Invoke())
}
type M interface {
Invoke() int
Method()
}