summaryrefslogtreecommitdiff
path: root/buildscripts/idl
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2021-02-15 09:14:35 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-18 18:35:28 +0000
commit8711e20292978dd942e346b64829152922b7a7b1 (patch)
treee078632cdc4448457923a3235755dd57c4551347 /buildscripts/idl
parent05025cd86de1ad3fc0c2f90ddf4c43a9d901553b (diff)
downloadmongo-8711e20292978dd942e346b64829152922b7a7b1.tar.gz
SERVER-54585 Move support for `findAndModify` to the write_ops utilities
... also clean up the include files.
Diffstat (limited to 'buildscripts/idl')
-rw-r--r--buildscripts/idl/idl/generator.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/buildscripts/idl/idl/generator.py b/buildscripts/idl/idl/generator.py
index 3485a0dc2c2..fe8fccb80a0 100644
--- a/buildscripts/idl/idl/generator.py
+++ b/buildscripts/idl/idl/generator.py
@@ -243,7 +243,11 @@ class _SlowFieldUsageChecker(_FieldUsageCheckerBase):
(_get_field_constant_name(field))
with writer.IndentedScopedBlock(self._writer, pred, '}'):
if field.default:
- if field.type.is_enum:
+ if field.chained_struct_field:
+ self._writer.write_line('%s.%s(%s);' % (_get_field_member_name(
+ field.chained_struct_field), _get_field_member_setter_name(field),
+ field.default))
+ elif field.type.is_enum:
self._writer.write_line(
'%s = %s::%s;' % (_get_field_member_name(field),
field.type.cpp_type, field.default))