diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-04-24 15:27:06 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-04-24 15:27:06 +0200 |
| commit | e4ee14e54fb87961096856c7ea105435b7cc3c45 (patch) | |
| tree | 3430a5e257920bb776e734b28edda29019d899e2 /src/eval/mod.rs | |
| parent | 50e4002a2a65c27f46895103c59cb775ca60d16d (diff) | |
Extract methods into separate module
Diffstat (limited to 'src/eval/mod.rs')
| -rw-r--r-- | src/eval/mod.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs index 7e0d3b15..f77efe47 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -15,8 +15,9 @@ mod content; mod control; mod func; mod layout; +pub mod methods; mod module; -mod ops; +pub mod ops; mod raw; mod scope; mod show; @@ -484,15 +485,15 @@ impl Eval for MethodCall { let method = self.method(); let point = || Tracepoint::Call(Some(method.to_string())); - Ok(if Value::is_mutable_method(&method) { + Ok(if methods::is_mutating(&method) { let args = self.args().eval(ctx, scp)?; - let mut receiver = self.receiver().access(ctx, scp)?; - receiver.call_mut(ctx, &method, span, args).trace(point, span)?; + let mut value = self.receiver().access(ctx, scp)?; + methods::call_mut(ctx, &mut value, &method, args, span).trace(point, span)?; Value::None } else { - let receiver = self.receiver().eval(ctx, scp)?; + let value = self.receiver().eval(ctx, scp)?; let args = self.args().eval(ctx, scp)?; - receiver.call(ctx, &method, span, args).trace(point, span)? + methods::call(ctx, value, &method, args, span).trace(point, span)? }) } } |
