From 0d47e9f8e1b43b62d2707512f5f60d852c0b981e Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Thu, 10 Aug 2023 22:04:05 +0000 Subject: [PATCH] fix: extend builder --- --- a/crates/jrsonnet-evaluator/src/obj.rs +++ b/crates/jrsonnet-evaluator/src/obj.rs @@ -349,10 +349,19 @@ ObjValueBuilder::with_capacity(capacity) } pub(crate) fn extend_with_raw_member(self, key: IStr, value: ObjMember) -> Self { - // let mut new = GcHashMap::with_capacity(1); - // new.insert(key, value); - // Self::new(Some(self), Cc::new(new), Cc::new(Vec::new())) - todo!() + let mut out = ObjValueBuilder::with_capacity(1); + out.with_super(self); + let mut member = out.member(key); + if value.flags.add() { + member = member.add() + } + if let Some(loc) = value.location { + member = member.with_location(loc); + } + let _ = member + .with_visibility(value.flags.visibility()) + .binding(value.invoke); + out.build() } pub fn extend_field(&mut self, name: IStr) -> ObjMemberBuilder> { ObjMemberBuilder::new(ExtendBuilder(self), name, FieldIndex::default()) -- gitstuff