@@ -78,6 +78,7 @@ class BuiltinConstructorSpec:
7878 index : int
7979 arguments : list [BuiltinMethodArgumentSpec ]
8080 base_name : str
81+ description : str | None
8182
8283 @property
8384 def c_name (self ) -> str :
@@ -92,13 +93,15 @@ def c_name(self) -> str:
9293 @classmethod
9394 def parse (cls , item : dict , snake_name : str ) -> BuiltinConstructorSpec :
9495 item .setdefault ("arguments" , [])
96+ item .setdefault ("description" , None )
9597 args = [BuiltinMethodArgumentSpec .parse (x ) for x in item ["arguments" ]]
9698 item ["base_name" ] = f"{ snake_name } _new"
9799 assert_api_consistency (cls , item )
98100 return cls (
99101 index = item ["index" ],
100102 arguments = args ,
101103 base_name = item ["base_name" ],
104+ description = item ["description" ],
102105 )
103106
104107
@@ -109,11 +112,13 @@ class BuiltinOperatorSpec:
109112 variant_operator_name : str
110113 right_type : TypeInUse | None
111114 return_type : TypeInUse
115+ description : str | None
112116
113117 @classmethod
114118 def parse (cls , item : dict ) -> BuiltinOperatorSpec :
115119 item .setdefault ("original_name" , item ["name" ])
116120 item .setdefault ("right_type" , None )
121+ item .setdefault ("description" , None )
117122 item ["name" ], item ["variant_operator_name" ] = VARIANT_OPERATORS [item .pop ("name" )]
118123 if item ["right_type" ] is not None :
119124 right_type_snake_name = _builtin_snake_name (item ["right_type" ])
@@ -129,6 +134,7 @@ def parse(cls, item: dict) -> BuiltinOperatorSpec:
129134 # emptiness.
130135 right_type = None if item ["right_type" ] is None else TypeInUse .parse (item ["right_type" ]),
131136 return_type = TypeInUse .parse (item ["return_type" ]),
137+ description = item ["description" ],
132138 )
133139
134140
@@ -138,6 +144,7 @@ class BuiltinMemberSpec:
138144 original_name : str
139145 offset : int | None
140146 type : TypeInUse
147+ description : str | None
141148
142149 @property
143150 def is_in_struct (self ) -> bool :
@@ -147,12 +154,14 @@ def is_in_struct(self) -> bool:
147154 def parse (cls , item : dict ) -> BuiltinMemberSpec :
148155 item .setdefault ("original_name" , item ["name" ])
149156 item .setdefault ("offset" , None )
157+ item .setdefault ("description" , None )
150158 assert_api_consistency (cls , item )
151159 return cls (
152160 name = correct_name (item ["name" ]),
153161 original_name = item ["original_name" ],
154162 offset = item ["offset" ],
155163 type = TypeInUse .parse (item ["type" ]),
164+ description = item ["description" ],
156165 )
157166
158167
@@ -162,16 +171,19 @@ class BuiltinConstantSpec:
162171 original_name : str
163172 type : TypeInUse
164173 value : str
174+ description : str | None
165175
166176 @classmethod
167177 def parse (cls , item : dict ) -> BuiltinConstantSpec :
168178 item .setdefault ("original_name" , item ["name" ])
179+ item .setdefault ("description" , None )
169180 assert_api_consistency (cls , item )
170181 return cls (
171182 name = correct_name (item ["name" ]),
172183 original_name = item ["original_name" ],
173184 type = TypeInUse .parse (item ["type" ]),
174185 value = item ["value" ],
186+ description = item ["description" ],
175187 )
176188
177189
@@ -185,6 +197,7 @@ class BuiltinMethodSpec:
185197 is_static : bool
186198 hash : int
187199 arguments : list [BuiltinMethodArgumentSpec ]
200+ description : str | None
188201
189202 @property
190203 def contains_unsuported_types (self ) -> bool :
@@ -203,6 +216,7 @@ def parse(cls, item: dict) -> BuiltinMethodSpec:
203216 item .setdefault ("original_name" , item ["name" ])
204217 item .setdefault ("arguments" , [])
205218 item .setdefault ("return_type" , "Nil" )
219+ item .setdefault ("description" , None )
206220 assert_api_consistency (cls , item )
207221 return cls (
208222 name = correct_name (item ["name" ]),
@@ -213,6 +227,7 @@ def parse(cls, item: dict) -> BuiltinMethodSpec:
213227 is_static = item ["is_static" ],
214228 hash = item ["hash" ],
215229 arguments = [BuiltinMethodArgumentSpec .parse (x ) for x in item ["arguments" ]],
230+ description = item ["description" ],
216231 )
217232
218233
@@ -224,7 +239,7 @@ def parse_builtin_enum(spec: dict, builtin_cy_type: str, builtin_py_type: str) -
224239 py_type = f"{ builtin_py_type } .{ spec ['name' ]} " ,
225240 cy_type = f"{ builtin_cy_type } .{ spec ['name' ]} " ,
226241 is_bitfield = spec ["is_bitfield" ],
227- values = { x [ "name" ]: x [ "value" ] for x in spec ["values" ]} ,
242+ values = spec ["values" ],
228243 )
229244
230245
@@ -243,6 +258,8 @@ class BuiltinTypeSpec(TypeSpec):
243258 members : list [BuiltinMemberSpec ]
244259 constants : list [BuiltinConstantSpec ]
245260 enums : list [EnumTypeSpec ]
261+ description : str | None
262+ brief_description : str | None
246263
247264 @property
248265 def all_nested_scalar_members (self ) -> Generator [str ]:
@@ -367,6 +384,8 @@ def _parse_builtin(spec: dict) -> BuiltinTypeSpec:
367384 spec .setdefault ("members" , [])
368385 spec .setdefault ("constants" , [])
369386 spec .setdefault ("enums" , [])
387+ spec .setdefault ("brief_description" , None )
388+ spec .setdefault ("description" , None )
370389 assert spec .keys () == {
371390 "name" ,
372391 "indexing_return_type" ,
@@ -379,6 +398,8 @@ def _parse_builtin(spec: dict) -> BuiltinTypeSpec:
379398 "members" ,
380399 "constants" ,
381400 "enums" ,
401+ "brief_description" ,
402+ "description" ,
382403 }
383404
384405 original_name = spec ["name" ]
@@ -442,6 +463,8 @@ def _parse_builtin(spec: dict) -> BuiltinTypeSpec:
442463 members = members ,
443464 constants = constants ,
444465 enums = enums ,
466+ description = spec ["description" ],
467+ brief_description = spec ["brief_description" ],
445468 )
446469 else :
447470 return OpaqueBuiltinTypeSpec (
@@ -463,6 +486,8 @@ def _parse_builtin(spec: dict) -> BuiltinTypeSpec:
463486 members = members ,
464487 constants = constants ,
465488 enums = enums ,
489+ description = spec ["description" ],
490+ brief_description = spec ["brief_description" ],
466491 )
467492
468493
0 commit comments