-- AImport-definition --
godef/b/b.go:5:2-43: defined here as ```go
package a ("golang.org/x/tools/internal/lsp/godef/a")
```

[`a` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a)
-- AImport-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 5,
			"column": 2,
			"offset": 112
		},
		"end": {
			"line": 5,
			"column": 43,
			"offset": 153
		}
	},
	"description": "```go\npackage a (\"golang.org/x/tools/internal/lsp/godef/a\")\n```\n\n[`a` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a)"
}

-- AImport-hover --
[`a` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a)

```go
package a ("golang.org/x/tools/internal/lsp/godef/a")
```
-- AString-definition --
godef/a/a.go:26:6-7: defined here as ```go
A string //@mark(AString, "A")

```

[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#A)
-- AString-definition-json --
{
	"span": {
		"uri": "file://godef/a/a.go",
		"start": {
			"line": 26,
			"column": 6,
			"offset": 452
		},
		"end": {
			"line": 26,
			"column": 7,
			"offset": 453
		}
	},
	"description": "```go\nA string //@mark(AString, \"A\")\n\n```\n\n[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#A)"
}

-- AString-hover --
[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#A)

```go
A string //@mark(AString, "A")

```
-- AStuff-definition --
godef/a/a.go:28:6-12: defined here as ```go
func a.AStuff()
```

[`a.AStuff` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#AStuff)
-- AStuff-definition-json --
{
	"span": {
		"uri": "file://godef/a/a.go",
		"start": {
			"line": 28,
			"column": 6,
			"offset": 489
		},
		"end": {
			"line": 28,
			"column": 12,
			"offset": 495
		}
	},
	"description": "```go\nfunc a.AStuff()\n```\n\n[`a.AStuff` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#AStuff)"
}

-- AStuff-hover --
[`a.AStuff` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#AStuff)

```go
func a.AStuff()
```
-- S1-definition --
godef/b/b.go:8:6-8: defined here as ```go
S1 struct {
	F1  int //@mark(S1F1, "F1")
	S2      //@godef("S2", S2), mark(S1S2, "S2")
	a.A     //@godef("A", AString)
}
```

[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)
-- S1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 8,
			"column": 6,
			"offset": 193
		},
		"end": {
			"line": 8,
			"column": 8,
			"offset": 195
		}
	},
	"description": "```go\nS1 struct {\n\tF1  int //@mark(S1F1, \"F1\")\n\tS2      //@godef(\"S2\", S2), mark(S1S2, \"S2\")\n\ta.A     //@godef(\"A\", AString)\n}\n```\n\n[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)"
}

-- S1-hover --
[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)

```go
S1 struct {
	F1  int //@mark(S1F1, "F1")
	S2      //@godef("S2", S2), mark(S1S2, "S2")
	a.A     //@godef("A", AString)
}
```
-- S1F1-definition --
godef/b/b.go:9:2-4: defined here as ```go
field F1 int
```

[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1)

\@mark\(S1F1, \"F1\"\)
-- S1F1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 9,
			"column": 2,
			"offset": 212
		},
		"end": {
			"line": 9,
			"column": 4,
			"offset": 214
		}
	},
	"description": "```go\nfield F1 int\n```\n\n[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1)\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)"
}

-- S1F1-hover --
\@mark\(S1F1, \"F1\"\)

[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1)

```go
field F1 int
```
-- S1S2-definition --
godef/b/b.go:10:2-4: defined here as ```go
field S2 S2
```

[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.S2)

\@godef\(\"S2\", S2\), mark\(S1S2, \"S2\"\)
-- S1S2-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 10,
			"column": 2,
			"offset": 241
		},
		"end": {
			"line": 10,
			"column": 4,
			"offset": 243
		}
	},
	"description": "```go\nfield S2 S2\n```\n\n[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.S2)\n\n\\@godef\\(\\\"S2\\\", S2\\), mark\\(S1S2, \\\"S2\\\"\\)"
}

-- S1S2-hover --
\@godef\(\"S2\", S2\), mark\(S1S2, \"S2\"\)

[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.S2)

```go
field S2 S2
```
-- S2-definition --
godef/b/b.go:14:6-8: defined here as ```go
S2 struct {
	F1   string //@mark(S2F1, "F1")
	F2   int    //@mark(S2F2, "F2")
	*a.A        //@godef("A", AString),godef("a",AImport)
}
```

[`b.S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2)
-- S2-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 14,
			"column": 6,
			"offset": 326
		},
		"end": {
			"line": 14,
			"column": 8,
			"offset": 328
		}
	},
	"description": "```go\nS2 struct {\n\tF1   string //@mark(S2F1, \"F1\")\n\tF2   int    //@mark(S2F2, \"F2\")\n\t*a.A        //@godef(\"A\", AString),godef(\"a\",AImport)\n}\n```\n\n[`b.S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2)"
}

-- S2-hover --
[`b.S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2)

```go
S2 struct {
	F1   string //@mark(S2F1, "F1")
	F2   int    //@mark(S2F2, "F2")
	*a.A        //@godef("A", AString),godef("a",AImport)
}
```
-- S2F1-definition --
godef/b/b.go:15:2-4: defined here as ```go
field F1 string
```

[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2.F1)

\@mark\(S2F1, \"F1\"\)
-- S2F1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 15,
			"column": 2,
			"offset": 345
		},
		"end": {
			"line": 15,
			"column": 4,
			"offset": 347
		}
	},
	"description": "```go\nfield F1 string\n```\n\n[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2.F1)\n\n\\@mark\\(S2F1, \\\"F1\\\"\\)"
}

-- S2F1-hover --
\@mark\(S2F1, \"F1\"\)

[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2.F1)

```go
field F1 string
```
-- S2F2-definition --
godef/b/b.go:16:2-4: defined here as ```go
field F2 int
```

[`(b.S1).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F2)

\@mark\(S2F2, \"F2\"\)
-- S2F2-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 16,
			"column": 2,
			"offset": 378
		},
		"end": {
			"line": 16,
			"column": 4,
			"offset": 380
		}
	},
	"description": "```go\nfield F2 int\n```\n\n[`(b.S1).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F2)\n\n\\@mark\\(S2F2, \\\"F2\\\"\\)"
}

-- S2F2-hover --
\@mark\(S2F2, \"F2\"\)

[`(b.S1).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F2)

```go
field F2 int
```
-- bX-definition --
godef/b/b.go:37:7-8: defined here as ```go
const X untyped int = 0
```

[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#X)

\@mark\(bX, \"X\"\),godef\(\"X\", bX\)
-- bX-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 37,
			"column": 7,
			"offset": 813
		},
		"end": {
			"line": 37,
			"column": 8,
			"offset": 814
		}
	},
	"description": "```go\nconst X untyped int = 0\n```\n\n[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#X)\n\n\\@mark\\(bX, \\\"X\\\"\\),godef\\(\\\"X\\\", bX\\)"
}

-- bX-hover --
\@mark\(bX, \"X\"\),godef\(\"X\", bX\)

[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#X)

```go
const X untyped int = 0
```
-- myFoo-definition --
godef/b/b.go:4:2-7: defined here as ```go
package myFoo ("golang.org/x/tools/internal/lsp/foo")
```

[`myFoo` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/foo)
-- myFoo-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 4,
			"column": 2,
			"offset": 21
		},
		"end": {
			"line": 4,
			"column": 7,
			"offset": 26
		}
	},
	"description": "```go\npackage myFoo (\"golang.org/x/tools/internal/lsp/foo\")\n```\n\n[`myFoo` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/foo)"
}

-- myFoo-hover --
[`myFoo` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/foo)

```go
package myFoo ("golang.org/x/tools/internal/lsp/foo")
```
