Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201105173854-bc9fc8d8c4bc / godoc / analysis / json.go
1 // Copyright 2014 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package analysis
6
7 // This file defines types used by client-side JavaScript.
8
9 type anchorJSON struct {
10         Text string // HTML
11         Href string // URL
12 }
13
14 type commOpJSON struct {
15         Op anchorJSON
16         Fn string
17 }
18
19 // JavaScript's onClickComm() expects a commJSON.
20 type commJSON struct {
21         Ops []commOpJSON
22 }
23
24 // Indicates one of these forms of fact about a type T:
25 // T "is implemented by <ByKind> type <Other>"  (ByKind != "", e.g. "array")
26 // T "implements <Other>"                       (ByKind == "")
27 type implFactJSON struct {
28         ByKind string `json:",omitempty"`
29         Other  anchorJSON
30 }
31
32 // Implements facts are grouped by form, for ease of reading.
33 type implGroupJSON struct {
34         Descr string
35         Facts []implFactJSON
36 }
37
38 // JavaScript's onClickIdent() expects a TypeInfoJSON.
39 type TypeInfoJSON struct {
40         Name        string // type name
41         Size, Align int64
42         Methods     []anchorJSON
43         ImplGroups  []implGroupJSON
44 }
45
46 // JavaScript's onClickCallees() expects a calleesJSON.
47 type calleesJSON struct {
48         Descr   string
49         Callees []anchorJSON // markup for called function
50 }
51
52 type callerJSON struct {
53         Func  string
54         Sites []anchorJSON
55 }
56
57 // JavaScript's onClickCallers() expects a callersJSON.
58 type callersJSON struct {
59         Callee  string
60         Callers []callerJSON
61 }
62
63 // JavaScript's cgAddChild requires a global array of PCGNodeJSON
64 // called CALLGRAPH, representing the intra-package call graph.
65 // The first element is special and represents "all external callers".
66 type PCGNodeJSON struct {
67         Func    anchorJSON
68         Callees []int // indices within CALLGRAPH of nodes called by this one
69 }