authorgravatar for reece@thrasker.comReece Van Atta <reece@thrasker.com> 2022-03-21 13:42:22-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-07-19 19:10:11-07:00
log5f0ab34cc5b5d4d59bf4665964b36ae8c218df76
tree69c752df3a9a1341dd1d8722f911453de121a234
parent9cd9a390ae1e5940a81bbe7e0fdf51ecfcb93d3d

autodoc: add type comments to main.js file


1 files changed, 179 insertions(+), 0 deletions(-)

lib/docs/main.js+179
...@@ -1,5 +1,184 @@...@@ -1,5 +1,184 @@
1'use strict';1'use strict';
22
3/**
4 * @typedef {
5 | "Type"
6 | "Void"
7 | "Bool"
8 | "NoReturn"
9 | "Int"
10 | "Float"
11 | "Pointer"
12 | "Array"
13 | "Struct"
14 | "ComptimeFloat"
15 | "ComptimeInt"
16 | "Undefined"
17 | "Null"
18 | "Optional"
19 | "ErrorUnion"
20 | "ErrorSet"
21 | "Enum"
22 | "Union"
23 | "Fn"
24 | "BoundFn"
25 | "Opaque"
26 | "Frame"
27 | "AnyFrame"
28 | "Vector"
29 | "EnumLiteral"
30 | "ComptimeExpr"
31 | "Unanalyzed"
32 } TypeKind
33*/
34
35/**
36 * @typedef {
37 | WalkResult
38 | { unspecified: {} }
39 | { anytype: {} }
40 | { type: number }
41 | { comptimeExpr: number }
42 | { call: number }
43 | { hasCte: boolean; declPath: number[] }
44 } TypeRef
45*/
46
47/**
48 * @typedef {
49 | { void: {} }
50 | { unreachable: {} }
51 | { anytype: {} }
52 | { type: number }
53 | { comptimeExpr: number }
54 | { call: number }
55 | { int: { typeRef: TypeRef; value: number } }
56 | { float: { typeRef: TypeRef; value: number } }
57 | { bool: boolean }
58 | { undefined: TypeRef }
59 | { null: TypeRef }
60 | { typeOf: WalkResult }
61 | { compileError: string }
62 | { string: string }
63 | { struct: Struct }
64 | { hasCte: boolean; declPath: number[] }
65 | { array: ZigArray }
66 | { enumLiteral: string }
67 } WalkResult
68*/
69
70/**
71 * @typedef {
72 { kind: number } & (
73 | { name: string } // Type, Void, Bool, NoReturn, Int, Float, ComptimeExpr, ComptimeFloat, ComptimeInt, Undefined, Null, ErrorUnion, BoundFn, Opaque, Frame, AnyFrame, Vector, EnumLiteral
74 | { name: string; child: TypeRef } // Optional
75 | { len: WalkResult; child: TypeRef } // Array
76 | { name: string; fields: { name: string; docs: string }[] } // ErrorSet
77 | { size: "One" | "Many" | "Slice" | "C"; child: TypeRef } // Pointer
78 | { name: string; src?: number; privDecls: number[]; pubDecls: number[]; fields?: TypeRef[] } // Struct, Enum, Union
79 | { name: string; src?: number; ret: TypeRef; params?: TypeRef[] } // Fn
80 )
81 } Type
82*/
83
84/**
85 * @typedef {{
86 name: string,
87 src: number | null,
88 ret: TypeRef,
89 params: TypeRef[] | null,
90 }} Fn
91*/
92
93/**
94 * @typedef {{
95 func: TypeRef,
96 args: WalkResult[],
97 ret: WalkResult,
98 }} Call
99*/
100
101/**
102 * @typedef {{
103 file: number,
104 line: number,
105 col: number,
106 name?: string,
107 docs?: string,
108 fields?: number[],
109 comptime: boolean,
110 }} AstNode
111*/
112
113/**
114 * @typedef {{
115 name: string,
116 kind: string,
117 src: number,
118 value: WalkResult,
119 decltest?: number,
120 }} Decl
121*/
122
123/**
124 * @typedef {{
125 name: string,
126 file: number,
127 main: number,
128 table: { root: number },
129 }} Package
130*/
131
132/**
133 * @typedef {{
134 name: string,
135 src?: number,
136 privDecls: number[],
137 pubDecls: number[],
138 fields?: TypeRef[],
139 }} Struct
140*/
141
142/**
143 * @typedef {{
144 len: WalkResult,
145 child: TypeRef,
146 }} ZigArray
147*/
148
149/**
150 * @typedef {{
151 code: string,
152 typeRef: TypeRef,
153 }} ComptimeExpr
154*/
155
156/**
157 * @typedef {{
158 typeKinds: TypeKind[];
159 rootPkg: number;
160 params: {
161 zigId: string;
162 zigVersion: string;
163 target: string;
164 rootName: string;
165 builds: { target: string };
166 };
167 packages: Package[];
168 errors: {};
169 astNodes: AstNode[];
170 calls: Call[];
171 files: Record<string, number>;
172 types: Type[];
173 decls: Decl[];
174 comptimeExprs: ComptimeExpr[];
175 fns: Fn[];
176 }} DocData
177*/
178
179/** @type {DocData} */
180var zigAnalysis;
181
3(function() {182(function() {
4 var domStatus = document.getElementById("status");183 var domStatus = document.getElementById("status");
5 var domSectNav = document.getElementById("sectNav");184 var domSectNav = document.getElementById("sectNav");