@@ -20,41 +20,41 @@ def set_ready(self, is_ready: bool = True) -> None:
2020 """Set the readiness state of this field."""
2121 self .ready = is_ready
2222
23- def set_value (self , value : Any , mark_ready : bool = True ) -> None :
23+ def set_value (self , value : Any , mark_ready : bool = False ) -> None :
2424 """Set the value of this field and optionally mark it as ready."""
2525 self .value = value
2626 if mark_ready :
2727 self .ready = True
2828
29- def set_type (self , given_type , mark_ready : bool = True ) -> None :
29+ def set_type (self , given_type , mark_ready : bool = False ) -> None :
3030 """Set value of the type field and mark as ready"""
3131 self .type = given_type
3232 if mark_ready :
3333 self .ready = True
3434
3535 def set_containing_type (
36- self , containing_type : Optional [Any ], mark_ready : bool = True
36+ self , containing_type : Optional [Any ], mark_ready : bool = False
3737 ) -> None :
3838 """Set the containing_type of this field and optionally mark it as ready."""
3939 self .containing_type = containing_type
4040 if mark_ready :
4141 self .ready = True
4242
43- def set_type_size (self , type_size : Any , mark_ready : bool = True ) -> None :
43+ def set_type_size (self , type_size : Any , mark_ready : bool = False ) -> None :
4444 """Set the type_size of this field and optionally mark it as ready."""
4545 self .type_size = type_size
4646 if mark_ready :
4747 self .ready = True
4848
4949 def set_ctype_complex_type (
50- self , ctype_complex_type : Any , mark_ready : bool = True
50+ self , ctype_complex_type : Any , mark_ready : bool = False
5151 ) -> None :
5252 """Set the ctype_complex_type of this field and optionally mark it as ready."""
5353 self .ctype_complex_type = ctype_complex_type
5454 if mark_ready :
5555 self .ready = True
5656
57- def set_bitfield_size (self , bitfield_size : Any , mark_ready : bool = True ) -> None :
57+ def set_bitfield_size (self , bitfield_size : Any , mark_ready : bool = False ) -> None :
5858 """Set the bitfield_size of this field and optionally mark it as ready."""
5959 self .bitfield_size = bitfield_size
6060 if mark_ready :
@@ -138,7 +138,7 @@ def get_field(self, name: str) -> Field:
138138 """Get a field by name."""
139139 return self .fields [name ]
140140
141- def set_field_value (self , name : str , value : Any , mark_ready : bool = True ) -> None :
141+ def set_field_value (self , name : str , value : Any , mark_ready : bool = False ) -> None :
142142 """Set a field's value and optionally mark it as ready."""
143143 if name not in self .fields :
144144 raise KeyError (f"Field '{ name } ' does not exist in node '{ self .name } '" )
@@ -147,7 +147,7 @@ def set_field_value(self, name: str, value: Any, mark_ready: bool = True) -> Non
147147 # Invalidate readiness cache
148148 self ._ready_cache = None
149149
150- def set_field_type (self , name : str , type : Any , mark_ready : bool = True ) -> None :
150+ def set_field_type (self , name : str , type : Any , mark_ready : bool = False ) -> None :
151151 """Set a field's type and optionally mark it as ready."""
152152 if name not in self .fields :
153153 raise KeyError (f"Field '{ name } ' does not exist in node '{ self .name } '" )
@@ -157,7 +157,7 @@ def set_field_type(self, name: str, type: Any, mark_ready: bool = True) -> None:
157157 self ._ready_cache = None
158158
159159 def set_field_containing_type (
160- self , name : str , containing_type : Any , mark_ready : bool = True
160+ self , name : str , containing_type : Any , mark_ready : bool = False
161161 ) -> None :
162162 """Set a field's containing_type and optionally mark it as ready."""
163163 if name not in self .fields :
@@ -168,7 +168,7 @@ def set_field_containing_type(
168168 self ._ready_cache = None
169169
170170 def set_field_type_size (
171- self , name : str , type_size : Any , mark_ready : bool = True
171+ self , name : str , type_size : Any , mark_ready : bool = False
172172 ) -> None :
173173 """Set a field's type_size and optionally mark it as ready."""
174174 if name not in self .fields :
@@ -179,7 +179,7 @@ def set_field_type_size(
179179 self ._ready_cache = None
180180
181181 def set_field_ctype_complex_type (
182- self , name : str , ctype_complex_type : Any , mark_ready : bool = True
182+ self , name : str , ctype_complex_type : Any , mark_ready : bool = False
183183 ) -> None :
184184 """Set a field's ctype_complex_type and optionally mark it as ready."""
185185 if name not in self .fields :
@@ -190,7 +190,7 @@ def set_field_ctype_complex_type(
190190 self ._ready_cache = None
191191
192192 def set_field_bitfield_size (
193- self , name : str , bitfield_size : Any , mark_ready : bool = True
193+ self , name : str , bitfield_size : Any , mark_ready : bool = False
194194 ) -> None :
195195 """Set a field's bitfield_size and optionally mark it as ready."""
196196 if name not in self .fields :
@@ -200,7 +200,7 @@ def set_field_bitfield_size(
200200 # Invalidate readiness cache
201201 self ._ready_cache = None
202202
203- def set_field_ready (self , name : str , is_ready : bool = True ) -> None :
203+ def set_field_ready (self , name : str , is_ready : bool = False ) -> None :
204204 """Mark a field as ready or not ready."""
205205 if name not in self .fields :
206206 raise KeyError (f"Field '{ name } ' does not exist in node '{ self .name } '" )
@@ -218,8 +218,8 @@ def is_ready(self) -> bool:
218218
219219 # Calculate readiness only when needed
220220 if not self .fields :
221- self ._ready_cache = False
222- return False
221+ self ._ready_cache = True
222+ return True
223223
224224 self ._ready_cache = all (elem .ready for elem in self .fields .values ())
225225 return self ._ready_cache
@@ -231,3 +231,7 @@ def get_field_values(self) -> Dict[str, Any]:
231231 def get_ready_fields (self ) -> Dict [str , Field ]:
232232 """Get all fields that are marked as ready."""
233233 return {name : elem for name , elem in self .fields .items () if elem .ready }
234+
235+ def get_not_ready_fields (self ) -> Dict [str , Field ]:
236+ """Get all fields that are marked as not ready."""
237+ return {name : elem for name , elem in self .fields .items () if not elem .ready }
0 commit comments