forked from zchee/clang-server
/
Info.go
122 lines (109 loc) · 3.01 KB
/
Info.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// automatically generated by the FlatBuffers compiler, do not modify
package symbol
import (
flatbuffers "github.com/google/flatbuffers/go"
)
/// Info symbol of C/C++ source.
type Info struct {
_tab flatbuffers.Table
}
func GetRootAsInfo(buf []byte, offset flatbuffers.UOffsetT) *Info {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &Info{}
x.Init(buf, n+offset)
return x
}
func (rcv *Info) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *Info) Table() flatbuffers.Table {
return rcv._tab
}
/// ID hashed clang.Cursor.USR.
func (rcv *Info) ID() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
/// ID hashed clang.Cursor.USR.
/// Decls locations of declaration.
func (rcv *Info) Decls(obj *Location, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *Info) DeclsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
/// Decls locations of declaration.
/// Definition location of definition.
func (rcv *Info) Def(obj *Location) *Location {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
x := rcv._tab.Indirect(o + rcv._tab.Pos)
if obj == nil {
obj = new(Location)
}
obj.Init(rcv._tab.Bytes, x)
return obj
}
return nil
}
/// Definition location of definition.
/// Callers caller of functions.
func (rcv *Info) Callers(obj *Caller, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *Info) CallersLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
/// Callers caller of functions.
func InfoStart(builder *flatbuffers.Builder) {
builder.StartObject(4)
}
func InfoAddID(builder *flatbuffers.Builder, ID flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(ID), 0)
}
func InfoAddDecls(builder *flatbuffers.Builder, Decls flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(Decls), 0)
}
func InfoStartDeclsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func InfoAddDef(builder *flatbuffers.Builder, Def flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(Def), 0)
}
func InfoAddCallers(builder *flatbuffers.Builder, Callers flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(Callers), 0)
}
func InfoStartCallersVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func InfoEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}