mirror of
https://github.com/golang/go.git
synced 2025-05-09 01:23:01 +00:00
Suggested reading order: - doc.go - api.go, analysis.go, callgraph.go, labels.go - print.go, util.go - gen.go - solve.go - pointer_test.go, testdata/* - intrinsics.go (none are implemented yet) R=dannyb, gri, crawshaw, 0xjnml CC=golang-dev https://golang.org/cl/10618043
36 lines
906 B
Go
36 lines
906 B
Go
package pointer
|
|
|
|
import "fmt"
|
|
|
|
func (c *addrConstraint) String() string {
|
|
return fmt.Sprintf("addr n%d <- {&n%d}", c.dst, c.src)
|
|
}
|
|
|
|
func (c *copyConstraint) String() string {
|
|
return fmt.Sprintf("copy n%d <- n%d", c.dst, c.src)
|
|
}
|
|
|
|
func (c *loadConstraint) String() string {
|
|
return fmt.Sprintf("load n%d <- n%d[%d]", c.dst, c.src, c.offset)
|
|
}
|
|
|
|
func (c *storeConstraint) String() string {
|
|
return fmt.Sprintf("store n%d[%d] <- n%d", c.dst, c.offset, c.src)
|
|
}
|
|
|
|
func (c *offsetAddrConstraint) String() string {
|
|
return fmt.Sprintf("offsetAddr n%d <- n%d.#%d", c.dst, c.src, c.offset)
|
|
}
|
|
|
|
func (c *typeAssertConstraint) String() string {
|
|
return fmt.Sprintf("typeAssert n%d <- n%d.(%s)", c.dst, c.src, c.typ)
|
|
}
|
|
|
|
func (c *invokeConstraint) String() string {
|
|
return fmt.Sprintf("invoke n%d.%s(n%d ...)", c.iface, c.method.Name(), c.params+1)
|
|
}
|
|
|
|
func (n nodeid) String() string {
|
|
return fmt.Sprintf("n%d", n)
|
|
}
|