Bug description
When an functional predicate application is used in a message template, it is not lifted. This causes an exception when loading a specification.
Versions
Spoofax version: Spoofax 2.5.16
Statix setup: Both single-file and multi-file.
Steps to reproduce the behavior
Execute the following test:
Expected behavior
We expect the test to execute, and give a .stxresult file containing an error with text "msg".
Additional context
During normalization, functional constraints are translated to predicative constraints. As part of that process, functional constraint instantiations that occur inside other terms are lifted into a separate constraint, and their original position is substituted with a new variable. This lifting is not applied to messages, and hence functional rule application terms remain in the normalized specification, while they should be normalized away.
Bug description When an functional predicate application is used in a message template, it is not lifted. This causes an exception when loading a specification.
Versions Spoofax version: Spoofax 2.5.16 Statix setup: Both
single-file
andmulti-file
.Steps to reproduce the behavior Execute the following test:
Observed behavior The transformation fails with an exception:
Expected behavior We expect the test to execute, and give a
.stxresult
file containing an error with text"msg"
.Additional context
During normalization, functional constraints are translated to predicative constraints. As part of that process, functional constraint instantiations that occur inside other terms are lifted into a separate constraint, and their original position is substituted with a new variable. This lifting is not applied to messages, and hence functional rule application terms remain in the normalized specification, while they should be normalized away.