Skip to content


Subversion checkout URL

You can clone with
Download ZIP


inline agents in postconditions not parsable #51

ramack opened this Issue · 3 comments

2 participants


EIFFEL_PARSER.a_inline_agent fails in

for class Liberty/src/lib/foreign_interface/foreign_parameters.e:58

I'm not sue about the code, but at first glance the check seems to be not necessary at all. - it would be only necessary in case inline agents would be implemented as closures as suggested in that blog post but they are not (yet), are they?

I only guess this, from my expectation, that in the mentioned function tmp_feature is saved/restored, but not passed into the inline agent procedure. But of cause this is not necessary and could be handled in later stages of compilation - So please put some light into the dark of my brain and explain...


It is more than not necessary: it is plain wrong, just as your example shows (there is no outer feature).
Just remove it.

@ramack ramack was assigned

oh, it was not my example ;-) -> it is code from one of you, already in the repo... I don't know the parser (yet) so I was not sure - there could always be some special cases for everything ;-)

I'll pick it, remove the check and search whether we have some tests for this. BTW, are inline agent already implemented as closure? Or is there no access to the locals of the outer feature yet?


There is no access to the outer locals. Adding simple inline agents was trivial (just a matter of synthetizing anonymous features); but actual closures need the outer locals to be kept out of the stack with a correct life cycle management.

@ramack ramack closed this in 91305a6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.