5930 def update_field(self, field_accessor, new_value):
5931 """Return a new datatype expression with the specified field updated.
5932
5933 Args:
5934 field_accessor: The accessor function declaration for the field to update
5935 new_value: The new value for the field
5936
5937 Returns:
5938 A new datatype expression with the field updated, other fields unchanged
5939
5940 Example:
5941 >>> Person = Datatype('Person')
5942 >>> Person.declare('person', ('name', StringSort()), ('age', IntSort()))
5943 >>> Person = Person.create()
5944 >>> person_age = Person.accessor(0, 1) # age accessor
5945 >>> p = Const('p', Person)
5946 >>> p2 = p.update_field(person_age, IntVal(30))
5947 """
5948 if z3_debug():
5949 _z3_assert(is_func_decl(field_accessor), "Z3 function declaration expected")
5950 _z3_assert(is_expr(new_value), "Z3 expression expected")
5951 return _to_expr_ref(
5953 self.ctx
5954 )
5955
Z3_ast Z3_API Z3_datatype_update_field(Z3_context c, Z3_func_decl field_access, Z3_ast t, Z3_ast value)
Update record field with a value.