so I'm trying to implement some scoping (like in the MPS Calculator example - my XXXReference also is of type Expression, so it's merely the same). However, now I'm fighting against the annoying problem, that MPS always takes any kind of expression, available in the scope of my solution, as a possible candidate for a reference, but I do not want that! So I tried to solve it using inherited scope, reference scope and also the deprecated variant search scope. I was able to include my own stuff in the drop down menu for referencing, however, MPS won't let me remove the other stuff it puts in the drop down menu (which should not be there). Currently, my assumption is that reference scope kinda should allow me to build up the scope from scratch, as I only return the scope I created, and search scope joins a default scope (from where?) with the one I created. Am I right or totally off track? Or isn't there any way to somehow remove such existing, other Expression from the drop down menu? I also tried to constrain it with can be parent, which actually also did not work (still all kinds of Expression possible).
I have a concept Operation which itself has Parameters (another concept). An operation may by annotated with Pre-/Postconditions (own concepts extending NodeAttribute). Each Pre-/Postcondition has one child of type Expression. And it's exactly inside this expression where I only want to refer to the parameters of the operation the pre-/postcondition is annotating, but nothing else.
Any ideas or hints?
Thanks in advance,