Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Two-column argument layout breaks with different AST shapes #204

Open
dansanduleac opened this issue Feb 17, 2020 · 0 comments
Open

Two-column argument layout breaks with different AST shapes #204

dansanduleac opened this issue Feb 17, 2020 · 0 comments
Labels
bug Something isn't working

Comments

@dansanduleac
Copy link
Contributor

dansanduleac commented Feb 17, 2020

We've hit an obscure edge case for the two-column argList logic, where it doesn't end up keeping the pairs together.
The logic tries to assert that N/2+1 rows have the same "kind" of tree in the AST.
However, the values in the example seem to be

  • Kind.PLUS (BinaryTree of + operations)
  • Kind.VARIABLE
  • Kind.METHOD_INVOCATION

for (int i = 1; i < size0; i++) {
if (!expressionsAreParallel(rows, i, rows.size() / 2 + 1)) {
return -1;
}
}

I honestly don't see much reason for this kind of heuristic (at least for values), so it might make sense to remove it.

Originally posted by @dansanduleac in palantir/conjure-verification#311 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant