WIP if-expression reduction
This commit is contained in:
parent
37ce12b6d8
commit
b365a3fec7
@ -126,10 +126,7 @@ impl<'a> Reducer<'a> {
|
|||||||
.collect(),
|
.collect(),
|
||||||
},
|
},
|
||||||
TupleLiteral(exprs) => Expression::Tuple(exprs.iter().map(|e| self.expression(e)).collect()),
|
TupleLiteral(exprs) => Expression::Tuple(exprs.iter().map(|e| self.expression(e)).collect()),
|
||||||
IfExpression {
|
IfExpression { discriminator, body, } => self.reduce_if_expression(discriminator.as_ref().map(|x| x.as_ref()), body),
|
||||||
discriminator,
|
|
||||||
body,
|
|
||||||
} => Unimplemented, //self.reduce_if_expression(deref_optional_box(discriminator), body),
|
|
||||||
Lambda { params, body, .. } => {
|
Lambda { params, body, .. } => {
|
||||||
Expression::Callable(Function::Lambda {
|
Expression::Callable(Function::Lambda {
|
||||||
arity: params.len() as u8,
|
arity: params.len() as u8,
|
||||||
@ -144,6 +141,10 @@ impl<'a> Reducer<'a> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn reduce_if_expression(&mut self, discriminator: Option<&ast::Expression>, body: &ast::IfExpressionBody) -> Expression {
|
||||||
|
Expression::ReductionError("if expr".to_string())
|
||||||
|
}
|
||||||
|
|
||||||
fn invocation_argument(&mut self, invoc: &ast::InvocationArgument) -> Expression {
|
fn invocation_argument(&mut self, invoc: &ast::InvocationArgument) -> Expression {
|
||||||
use crate::ast::InvocationArgument::*;
|
use crate::ast::InvocationArgument::*;
|
||||||
match invoc {
|
match invoc {
|
||||||
|
Loading…
Reference in New Issue
Block a user