| package a |
| |
| import "fmt" |
| |
| type Thing struct { //@Thing |
| Member string //@Member |
| } |
| |
| var Other Thing //@Other |
| |
| func Things(val []string) []Thing { //@Things |
| return nil |
| } |
| |
| func (t Thing) Method(i int) string { //@Method |
| return t.Member |
| } |
| |
| func useThings() { |
| t := Thing{} //@mark(aStructType, "ing") |
| fmt.Print(t.Member) //@mark(aMember, "ember") |
| fmt.Print(Other) //@mark(aVar, "ther") |
| Things() //@mark(aFunc, "ings") |
| t.Method() //@mark(aMethod, "eth") |
| } |
| |
| /*@ |
| definition(aStructType, "", Thing, "$file:$line:$col-$ecol: defined here as type Thing struct{Member string}") |
| definition(aStructType, "-emulate=guru", Thing, "$file:$line:$col: defined here as type Thing") |
| |
| definition(aMember, "", Member, "$file:$line:$col-$ecol: defined here as field Member string") |
| definition(aMember, "-emulate=guru", Member, "$file:$line:$col: defined here as field Member string") |
| |
| definition(aVar, "", Other, "$file:$line:$col-$ecol: defined here as var Other Thing") |
| definition(aVar, "-emulate=guru", Other, "$file:$line:$col: defined here as var Other") |
| |
| definition(aFunc, "", Things, "$file:$line:$col-$ecol: defined here as func Things(val []string) []Thing") |
| definition(aFunc, "-emulate=guru", Things, "$file:$line:$col: defined here as func Things") |
| |
| definition(aMethod, "", Method, "$file:$line:$col-$ecol: defined here as func (Thing).Method(i int) string") |
| definition(aMethod, "-emulate=guru", Method, "$file:$line:$col: defined here as func (Thing).Method(i int) string") |
| |
| //param |
| //package name |
| //const |
| //anon field |
| |
| // JSON tests |
| |
| definition(aStructType, "-json", Thing, `{ |
| "span": { |
| "uri": "$euri", |
| "start": { |
| "line": $line, |
| "column": $col, |
| "offset": $offset |
| }, |
| "end": { |
| "line": $eline, |
| "column": $ecol, |
| "offset": $eoffset |
| } |
| }, |
| "description": "type Thing struct{Member string}" |
| }`) |
| definition(aStructType, "-json -emulate=guru", Thing, `{ |
| "objpos": "$efile:$line:$col", |
| "desc": "type Thing$$" |
| }`) |
| */ |