q/src/ssa/Return.go
Eduard Urbach 2b703e9af2
All checks were successful
/ test (push) Successful in 17s
Improved SSA and added unused value checks
2025-06-23 23:11:05 +02:00

39 lines
No EOL
578 B
Go

package ssa
import "fmt"
type Return struct {
Arguments
HasToken
}
func (a *Return) AddUse(user Value) { panic("return is not a value") }
func (a *Return) Alive() int { return 0 }
func (a *Return) Equals(v Value) bool {
b, sameType := v.(*Return)
if !sameType {
return false
}
if len(a.Args) != len(b.Args) {
return false
}
for i := range a.Args {
if !a.Args[i].Equals(b.Args[i]) {
return false
}
}
return true
}
func (v *Return) IsConst() bool {
return false
}
func (v *Return) String() string {
return fmt.Sprintf("return %v", v.Args)
}