I was considering to create a new bug report in YouTrack but ... this seems to be so simple and widely used feature that I assume it is more likely I am just dumb.
In simple words - I can't override a method.
Yes, it happened at least several times that I managed to override a method in concept's behavior. This works for abstract methods. For a non-abstract methods this works ... SOMETIMES (?!!).
Finally I decided to isolate the issue. Please find attached MPS project. It is extremely simplistic. There is a language "jekyll" containing only two concepts: Fruit and Apple. Apple extends Fruit. There is a method "name" implemented in Fruit.
I spent about an hour trying to override this method in Apple - no success. While pressing Ctrl+O, the method "name" defined in superclass (Fruit) is just not showing in the popup window. I was hoping there is some trick to enforce the "override" clause, but I failed to find one.
And the naive attempt to override a method by just defining a method with the same signature like a method in superclass - fails. It works in java, but does not work in MPS. Yes, you CAN define such method, but the resulting behavior is not like in object-oriented language. In the attached project you can actually find a proof: I created a simple editor for Fruit concept and I am showing node.name() in this editor. Then I created an instance of Apple...
I am using MPS 3.2 (build=139.2225).
Is this a bug or I am doing something wrong ?