Arg is an argument on a Call.
| 112 | |
| 113 | // Arg is an argument on a Call. |
| 114 | type Arg struct { |
| 115 | // IsAggregate is true if the argument is an aggregate type. If true, the |
| 116 | // argument does not contain a value itself, but contains a set of nested |
| 117 | // argument fields. If false, the argument contains a single scalar value. |
| 118 | IsAggregate bool |
| 119 | |
| 120 | // The following are set if IsAggregate == false. |
| 121 | |
| 122 | // Name is a pseudo name given to the argument. |
| 123 | Name string |
| 124 | // Value is the raw value as found in the stack trace |
| 125 | Value uint64 |
| 126 | // IsPtr is true if we guess it's a pointer. It's only a guess, it can be |
| 127 | // easily confused by a bitmask. |
| 128 | IsPtr bool |
| 129 | // IsOffsetTooLarge is true if the argument's frame offset was too large, |
| 130 | // preventing the argument from being printed in the stack trace. |
| 131 | IsOffsetTooLarge bool |
| 132 | |
| 133 | // IsInaccurate determines if Value is inaccurate. Stacks could have inaccurate values |
| 134 | // for arguments passed in registers. Go 1.18 prints a ? for these values. |
| 135 | IsInaccurate bool |
| 136 | |
| 137 | // The following are set if IsAggregate == true. |
| 138 | |
| 139 | // Fields are the fields/elements of aggregate-typed arguments. |
| 140 | Fields Args |
| 141 | |
| 142 | // Disallow initialization with unnamed parameters. |
| 143 | _ struct{} |
| 144 | } |
| 145 | |
| 146 | const zeroToNine = "0123456789" |
| 147 |
nothing calls this directly
no outgoing calls
no test coverage detected