Skip to content

Commit b12f22b

Browse files
committed
Update format
1 parent 9cd72de commit b12f22b

File tree

2 files changed

+181
-156
lines changed

2 files changed

+181
-156
lines changed

inputfiles/patches/webgl.kdl

Lines changed: 168 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,143 +1,173 @@
11
interface-mixin WebGLRenderingContextBase {
22
property canvas exposed=Window
3+
34
method getExtension {
4-
signatures {
5-
_ {
6-
param extensionName type="\"ANGLE_instanced_arrays\""
7-
type ANGLE_instanced_arrays nullable=#true
8-
}
9-
_ {
10-
param extensionName type="\"EXT_blend_minmax\""
11-
type EXT_blend_minmax nullable=#true
12-
}
13-
_ {
14-
param extensionName type="\"EXT_color_buffer_float\""
15-
type EXT_color_buffer_float nullable=#true
16-
}
17-
_ {
18-
param extensionName type="\"EXT_color_buffer_half_float\""
19-
type EXT_color_buffer_half_float nullable=#true
20-
}
21-
_ {
22-
param extensionName type="\"EXT_float_blend\""
23-
type EXT_float_blend nullable=#true
24-
}
25-
_ {
26-
param extensionName type="\"EXT_frag_depth\""
27-
type EXT_frag_depth nullable=#true
28-
}
29-
_ {
30-
param extensionName type="\"EXT_sRGB\""
31-
type EXT_sRGB nullable=#true
32-
}
33-
_ {
34-
param extensionName type="\"EXT_shader_texture_lod\""
35-
type EXT_shader_texture_lod nullable=#true
36-
}
37-
_ {
38-
param extensionName type="\"EXT_texture_compression_bptc\""
39-
type EXT_texture_compression_bptc nullable=#true
40-
}
41-
_ {
42-
param extensionName type="\"EXT_texture_compression_rgtc\""
43-
type EXT_texture_compression_rgtc nullable=#true
44-
}
45-
_ {
46-
param extensionName type="\"EXT_texture_filter_anisotropic\""
47-
type EXT_texture_filter_anisotropic nullable=#true
48-
}
49-
_ {
50-
param extensionName type="\"KHR_parallel_shader_compile\""
51-
type KHR_parallel_shader_compile nullable=#true
52-
}
53-
_ {
54-
param extensionName type="\"OES_element_index_uint\""
55-
type OES_element_index_uint nullable=#true
56-
}
57-
_ {
58-
param extensionName type="\"OES_fbo_render_mipmap\""
59-
type OES_fbo_render_mipmap nullable=#true
60-
}
61-
_ {
62-
param extensionName type="\"OES_standard_derivatives\""
63-
type OES_standard_derivatives nullable=#true
64-
}
65-
_ {
66-
param extensionName type="\"OES_texture_float\""
67-
type OES_texture_float nullable=#true
68-
}
69-
_ {
70-
param extensionName type="\"OES_texture_float_linear\""
71-
type OES_texture_float_linear nullable=#true
72-
}
73-
_ {
74-
param extensionName type="\"OES_texture_half_float\""
75-
type OES_texture_half_float nullable=#true
76-
}
77-
_ {
78-
param extensionName type="\"OES_texture_half_float_linear\""
79-
type OES_texture_half_float_linear nullable=#true
80-
}
81-
_ {
82-
param extensionName type="\"OES_vertex_array_object\""
83-
type OES_vertex_array_object nullable=#true
84-
}
85-
_ {
86-
param extensionName type="\"OVR_multiview2\""
87-
type OVR_multiview2 nullable=#true
88-
}
89-
_ {
90-
param extensionName type="\"WEBGL_color_buffer_float\""
91-
type WEBGL_color_buffer_float nullable=#true
92-
}
93-
_ {
94-
param extensionName type="\"WEBGL_compressed_texture_astc\""
95-
type WEBGL_compressed_texture_astc nullable=#true
96-
}
97-
_ {
98-
param extensionName type="\"WEBGL_compressed_texture_etc\""
99-
type WEBGL_compressed_texture_etc nullable=#true
100-
}
101-
_ {
102-
param extensionName type="\"WEBGL_compressed_texture_etc1\""
103-
type WEBGL_compressed_texture_etc1 nullable=#true
104-
}
105-
_ {
106-
param extensionName type="\"WEBGL_compressed_texture_pvrtc\""
107-
type WEBGL_compressed_texture_pvrtc nullable=#true
108-
}
109-
_ {
110-
param extensionName type="\"WEBGL_compressed_texture_s3tc\""
111-
type WEBGL_compressed_texture_s3tc nullable=#true
112-
}
113-
_ {
114-
param extensionName type="\"WEBGL_compressed_texture_s3tc_srgb\""
115-
type WEBGL_compressed_texture_s3tc_srgb nullable=#true
116-
}
117-
_ {
118-
param extensionName type="\"WEBGL_debug_renderer_info\""
119-
type WEBGL_debug_renderer_info nullable=#true
120-
}
121-
_ {
122-
param extensionName type="\"WEBGL_debug_shaders\""
123-
type WEBGL_debug_shaders nullable=#true
124-
}
125-
_ {
126-
param extensionName type="\"WEBGL_depth_texture\""
127-
type WEBGL_depth_texture nullable=#true
128-
}
129-
_ {
130-
param extensionName type="\"WEBGL_draw_buffers\""
131-
type WEBGL_draw_buffers nullable=#true
132-
}
133-
_ {
134-
param extensionName type="\"WEBGL_lose_context\""
135-
type WEBGL_lose_context nullable=#true
136-
}
137-
_ {
138-
param extensionName type="\"WEBGL_multi_draw\""
139-
type WEBGL_multi_draw nullable=#true
140-
}
141-
}
5+
param extensionName type="\"ANGLE_instanced_arrays\""
6+
type ANGLE_instanced_arrays nullable=#true
7+
}
8+
9+
method getExtension {
10+
param extensionName type="\"EXT_blend_minmax\""
11+
type EXT_blend_minmax nullable=#true
12+
}
13+
14+
method getExtension {
15+
param extensionName type="\"EXT_color_buffer_float\""
16+
type EXT_color_buffer_float nullable=#true
17+
}
18+
19+
method getExtension {
20+
param extensionName type="\"EXT_color_buffer_half_float\""
21+
type EXT_color_buffer_half_float nullable=#true
22+
}
23+
24+
method getExtension {
25+
param extensionName type="\"EXT_float_blend\""
26+
type EXT_float_blend nullable=#true
27+
}
28+
29+
method getExtension {
30+
param extensionName type="\"EXT_frag_depth\""
31+
type EXT_frag_depth nullable=#true
32+
}
33+
34+
method getExtension {
35+
param extensionName type="\"EXT_sRGB\""
36+
type EXT_sRGB nullable=#true
37+
}
38+
39+
method getExtension {
40+
param extensionName type="\"EXT_shader_texture_lod\""
41+
type EXT_shader_texture_lod nullable=#true
42+
}
43+
44+
method getExtension {
45+
param extensionName type="\"EXT_texture_compression_bptc\""
46+
type EXT_texture_compression_bptc nullable=#true
47+
}
48+
49+
method getExtension {
50+
param extensionName type="\"EXT_texture_compression_rgtc\""
51+
type EXT_texture_compression_rgtc nullable=#true
52+
}
53+
54+
method getExtension {
55+
param extensionName type="\"EXT_texture_filter_anisotropic\""
56+
type EXT_texture_filter_anisotropic nullable=#true
57+
}
58+
59+
method getExtension {
60+
param extensionName type="\"KHR_parallel_shader_compile\""
61+
type KHR_parallel_shader_compile nullable=#true
62+
}
63+
64+
method getExtension {
65+
param extensionName type="\"OES_element_index_uint\""
66+
type OES_element_index_uint nullable=#true
67+
}
68+
69+
method getExtension {
70+
param extensionName type="\"OES_fbo_render_mipmap\""
71+
type OES_fbo_render_mipmap nullable=#true
72+
}
73+
74+
method getExtension {
75+
param extensionName type="\"OES_standard_derivatives\""
76+
type OES_standard_derivatives nullable=#true
77+
}
78+
79+
method getExtension {
80+
param extensionName type="\"OES_texture_float\""
81+
type OES_texture_float nullable=#true
82+
}
83+
84+
method getExtension {
85+
param extensionName type="\"OES_texture_float_linear\""
86+
type OES_texture_float_linear nullable=#true
87+
}
88+
89+
method getExtension {
90+
param extensionName type="\"OES_texture_half_float\""
91+
type OES_texture_half_float nullable=#true
92+
}
93+
94+
method getExtension {
95+
param extensionName type="\"OES_texture_half_float_linear\""
96+
type OES_texture_half_float_linear nullable=#true
97+
}
98+
99+
method getExtension {
100+
param extensionName type="\"OES_vertex_array_object\""
101+
type OES_vertex_array_object nullable=#true
102+
}
103+
104+
method getExtension {
105+
param extensionName type="\"OVR_multiview2\""
106+
type OVR_multiview2 nullable=#true
107+
}
108+
109+
method getExtension {
110+
param extensionName type="\"WEBGL_color_buffer_float\""
111+
type WEBGL_color_buffer_float nullable=#true
112+
}
113+
114+
method getExtension {
115+
param extensionName type="\"WEBGL_compressed_texture_astc\""
116+
type WEBGL_compressed_texture_astc nullable=#true
117+
}
118+
119+
method getExtension {
120+
param extensionName type="\"WEBGL_compressed_texture_etc\""
121+
type WEBGL_compressed_texture_etc nullable=#true
122+
}
123+
124+
method getExtension {
125+
param extensionName type="\"WEBGL_compressed_texture_etc1\""
126+
type WEBGL_compressed_texture_etc1 nullable=#true
127+
}
128+
129+
method getExtension {
130+
param extensionName type="\"WEBGL_compressed_texture_pvrtc\""
131+
type WEBGL_compressed_texture_pvrtc nullable=#true
132+
}
133+
134+
method getExtension {
135+
param extensionName type="\"WEBGL_compressed_texture_s3tc\""
136+
type WEBGL_compressed_texture_s3tc nullable=#true
137+
}
138+
139+
method getExtension {
140+
param extensionName type="\"WEBGL_compressed_texture_s3tc_srgb\""
141+
type WEBGL_compressed_texture_s3tc_srgb nullable=#true
142+
}
143+
144+
method getExtension {
145+
param extensionName type="\"WEBGL_debug_renderer_info\""
146+
type WEBGL_debug_renderer_info nullable=#true
147+
}
148+
149+
method getExtension {
150+
param extensionName type="\"WEBGL_debug_shaders\""
151+
type WEBGL_debug_shaders nullable=#true
152+
}
153+
154+
method getExtension {
155+
param extensionName type="\"WEBGL_depth_texture\""
156+
type WEBGL_depth_texture nullable=#true
157+
}
158+
159+
method getExtension {
160+
param extensionName type="\"WEBGL_draw_buffers\""
161+
type WEBGL_draw_buffers nullable=#true
162+
}
163+
164+
method getExtension {
165+
param extensionName type="\"WEBGL_lose_context\""
166+
type WEBGL_lose_context nullable=#true
167+
}
168+
169+
method getExtension {
170+
param extensionName type="\"WEBGL_multi_draw\""
171+
type WEBGL_multi_draw nullable=#true
142172
}
143173
}

src/build/patches.ts

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,12 @@ function handleMixinandInterfaces(
161161
}
162162
case "method": {
163163
const methodName = string(child.values[0]);
164-
method[methodName] = handleMethod(child);
164+
const m = handleMethod(child);
165+
if (method[methodName]) {
166+
method[methodName]!.signature!.push(m.signature![0]);
167+
break;
168+
}
169+
method[methodName] = m;
165170
break;
166171
}
167172
default:
@@ -231,14 +236,11 @@ function handleProperty(child: Node): Partial<Property> {
231236
* @param child The child node to handle.
232237
* @param name Optional name for the method.
233238
*/
234-
function handleMethod(child: Node, name?: string): Partial<Method> {
235-
if (!name) {
236-
name = string(child.values[0]);
237-
}
239+
function handleMethod(child: Node): Partial<Method> {
240+
const name = string(child.values[0]);
238241

239242
let typeNode: Node | undefined;
240243
const params: { name: string; type: string }[] = [];
241-
const signatures = [];
242244

243245
for (const c of child.children) {
244246
switch (c.name) {
@@ -256,29 +258,22 @@ function handleMethod(child: Node, name?: string): Partial<Method> {
256258
});
257259
break;
258260

259-
case "signatures":
260-
for (const sc of c.children) {
261-
signatures.push(handleMethod(sc, name).signature![0] || []);
262-
}
263-
break;
264-
265261
default:
266262
throw new Error(`Unexpected child "${c.name}" in method "${name}"`);
267263
}
268264
}
269265

270-
let signature;
271-
if (typeNode || child.properties?.returns !== undefined) {
272-
signature = {
266+
const signature: Method["signature"] = [
267+
{
273268
param: params,
274269
...(typeNode
275270
? handleTyped(typeNode)
276271
: { type: string(child.properties?.returns) }),
277-
};
278-
}
272+
},
273+
];
279274
return {
280275
name,
281-
signature: [...(signature ? [signature] : []), ...(signatures as any)],
276+
signature,
282277
};
283278
}
284279

0 commit comments

Comments
 (0)