
This is the conclusion of an effort to get LLDB's Python code structured into a bona-fide Python package. This has a number of benefits, but most notably the ability to more easily share Python code between different but related pieces of LLDB's Python infrastructure (for example, `scripts` can now share code with `test`). llvm-svn: 251532
38 lines
540 B
Go
38 lines
540 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
type Fooer interface {
|
|
Foo() int
|
|
}
|
|
|
|
type SomeFooer struct {
|
|
val int
|
|
}
|
|
|
|
func (s SomeFooer) Foo() int {
|
|
return s.val
|
|
}
|
|
|
|
type AnotherFooer struct {
|
|
a, b, c int
|
|
}
|
|
|
|
func (s AnotherFooer) Foo() int {
|
|
return s.a
|
|
}
|
|
|
|
|
|
func printEface(a, b, c, d interface{}) {
|
|
fmt.Println(a, b, c, d) // Set breakpoint 1
|
|
}
|
|
|
|
func printIface(a, b Fooer) {
|
|
fmt.Println(a, b) // Set breakpoint 2
|
|
}
|
|
func main() {
|
|
sf := SomeFooer{9}
|
|
af := AnotherFooer{-1, -2, -3}
|
|
printEface(1,2.0, sf, af)
|
|
printIface(sf, af)
|
|
} |