Make ref and deref only parse primary expression
This commit is contained in:
parent
d3a4964f10
commit
be2d809986
@ -122,7 +122,7 @@ namespace parsing {
|
|||||||
}
|
}
|
||||||
else if (inner.peek().content == "&") {
|
else if (inner.peek().content == "&") {
|
||||||
inner.next();
|
inner.next();
|
||||||
auto expr = parse_expression(inner).unwrap();
|
auto expr = parse_primary_expression(inner).unwrap();
|
||||||
stream.m_position = inner.m_position;
|
stream.m_position = inner.m_position;
|
||||||
return std::unique_ptr<AST::Expression> {
|
return std::unique_ptr<AST::Expression> {
|
||||||
new AST::RefExpression(before_meta + inner.metadata(), std::move(expr))
|
new AST::RefExpression(before_meta + inner.metadata(), std::move(expr))
|
||||||
@ -130,7 +130,7 @@ namespace parsing {
|
|||||||
}
|
}
|
||||||
else if (inner.peek().content == "*") {
|
else if (inner.peek().content == "*") {
|
||||||
inner.next();
|
inner.next();
|
||||||
auto expr = parse_expression(inner).unwrap();
|
auto expr = parse_primary_expression(inner).unwrap();
|
||||||
stream.m_position = inner.m_position;
|
stream.m_position = inner.m_position;
|
||||||
return std::unique_ptr<AST::Expression> {
|
return std::unique_ptr<AST::Expression> {
|
||||||
new AST::DerefExpression(before_meta + inner.metadata(), std::move(expr))
|
new AST::DerefExpression(before_meta + inner.metadata(), std::move(expr))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user