git.delta.rocks / jrsonnet / refs/commits / 7b01ecbd8fbc

difftreelog

fix preserve visibility for object method members

Yaroslav Bolyukin2022-11-09parent: #f20aa24.patch.diff
in: master

1 file changed

modifiedcrates/jrsonnet-evaluator/src/evaluate/mod.rsdiffbeforeafterboth
208 }208 }
209 FieldMember {209 FieldMember {
210 params: Some(params),210 params: Some(params),
211 visibility,
211 value,212 value,
212 ..213 ..
213 } => {214 } => {
232233
233 builder234 builder
234 .member(name.clone())235 .member(name.clone())
235 .hide()236 .with_visibility(*visibility)
236 .with_location(value.1.clone())237 .with_location(value.1.clone())
237 .bindable(tb!(UnboundMethod {238 .bindable(tb!(UnboundMethod {
238 uctx: uctx.clone(),239 uctx: uctx.clone(),
384pub fn evaluate(ctx: Context, expr: &LocExpr) -> Result<Val> {385pub fn evaluate(ctx: Context, expr: &LocExpr) -> Result<Val> {
385 use Expr::*;386 use Expr::*;
386 let LocExpr(expr, loc) = expr;387 let LocExpr(expr, loc) = expr;
387 // let bp = with_state(|s| s.0.stop_at.borrow().clone());
388 Ok(match &**expr {388 Ok(match &**expr {
389 Literal(LiteralType::This) => {389 Literal(LiteralType::This) => {
390 Val::Obj(ctx.this().clone().ok_or(CantUseSelfOutsideOfObject)?)390 Val::Obj(ctx.this().clone().ok_or(CantUseSelfOutsideOfObject)?)