Commit 54c79e09 authored by Matthew Fernandez's avatar Matthew Fernandez
Browse files

fix: disambiguate '&' and '|' occurring within a returned expression

'&' and '|' are initially parsed into AmbiguousAmp and AmbiguousPipe. Later they
are discriminated into logical or bitwise operations. The traversal that did
this was not performing this disambiguation on the expression in a return
statement. As a result, returning something of the form '... & ...' or
'... | ...' would cause an error during code generation, even with a valid input
model.

While making this change, I realised there are further missing cases here. E.g.
it looks like shifts like '(... & ...) << ...' suffer from the same issue.

Github: related to #197 "& and | in function return expressions cause validation
  failures"
parent 54efa88a
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment