Signature returns the function signature
()
| 116 | |
| 117 | // Signature returns the function signature |
| 118 | func (fn *Function) Signature() string { |
| 119 | out := new(strings.Builder) |
| 120 | out.WriteString("func") |
| 121 | recv := fn.Receiver() |
| 122 | if recv != nil { |
| 123 | out.WriteString(" (") |
| 124 | out.WriteString(recv.String()) |
| 125 | out.WriteString(")") |
| 126 | } |
| 127 | out.WriteString(" ") |
| 128 | out.WriteString(fn.Name()) |
| 129 | out.WriteString("(") |
| 130 | for i, param := range fn.Params() { |
| 131 | if i > 0 { |
| 132 | out.WriteString(", ") |
| 133 | } |
| 134 | out.WriteString(param.String()) |
| 135 | } |
| 136 | out.WriteString(")") |
| 137 | results := fn.Results() |
| 138 | if len(results) > 0 { |
| 139 | out.WriteString(" (") |
| 140 | for i, result := range fn.Results() { |
| 141 | if i > 0 { |
| 142 | out.WriteString(", ") |
| 143 | } |
| 144 | out.WriteString(result.String()) |
| 145 | } |
| 146 | out.WriteString(")") |
| 147 | } |
| 148 | return out.String() |
| 149 | } |
| 150 | |
| 151 | // Receiver is a function input |
| 152 | type Receiver struct { |