"Implement behavior method" bug

I have concept (TestImplement1) that extends BaseConcept and implements ScopeProvider
When i press Ctrl+i (Cmd+i) i see empty list of methods to implement (1st screenshot)
Then i create interface concept and there i create "public virtual abstract string getTest1()" and make my concept implement this interface concept.
When i hit "Implement behavior method" there i see only my abstract method (2nd screenshot)

P.S. im using mac version MPS 3.2 (build 139.2225) (last screen)
P.P.S. I'v attached project file here

2015-04-06 04-06-15 Select Behavior Methods to Implement.png

2015-04-06 04-04-12 Select Behavior Methods to Implement.png

2015-04-06 04-10-09 TestImplement1 - Project1 - [~ MPSProjects Project1].png

Project1.zip (48KB)<table width="100%" cellspacing="0" border="0"><tbody><tr><td align="left"><table width="80%" cellspacing="5" cellpadding="0" border="0"><tbody><tr><td><table width="100%" cellspacing="0" cellpadding="0" border="0"><tbody> <tr><td> <a href="http://youtrack.jetbrains.net/issue/MPS-21830">MPS-21830</a> Bug in "Implement behavior method" </td></tr> <tr><td>I have concept (TestImplement1) that extends BaseConcept and implements ScopeProvider<br>When i press Ctrl+i (Cmd+i) i see empty list of methods to implement (1st screenshot)<br>Then i create interface concept and there i create "public virtual abstract string getTest1()" and make my concept implement this interface concept.<br>When i hit "Implement behavior method" there i see only my abstract method (2nd screenshot)<br><br>P.S. im using mac version MPS 3.2 (build 139.2225) (last screen)<br>P.P.S. I'v attached project file here<br><br>!2015-04-06 04-06-15 Select Behavior Methods to Implement.png|thumb!<br>!2015-04-06 04-04-12 Select Behavior Methods to Implement.png|thumb!<br>!2015-04-06 04-10-09 TestImplement1 - Project1 - [~ MPSProjects Project1].png|thumb!<br>[^Project1.zip]{youTrack-issue:objectId=1303} </td></tr> <tr><td>Normal | Usability Problem | Invalid | atikhomirov</td></tr> </tbody></table></td></tr></tbody></table></td></tr></tbody></table>
2 comments
Hi,

I noticed the same issue. It seems that you can use ctrl+i to implement behavior methods of InterfaceConcepts in your own workspace. Otherwise, it seems that you have to use ctrl+o.
However, I agree with you that this is a bit odd.

Regards,
LaAck
0
I'v received answer from developers:

Artem Tikhomirov  06 Apr 2015, 13:17
Methods of ScopeProvider are not abstract, i.e. do not force implementers of the interface to provide implementation (see https://confluence.jetbrains.com/display/MPSD32/Behavior). There's implementation with 'no scope' default. That's why you don't see them in the list to implement, but only in the list to override, Cmd-O. Personally, I'm not sure this is 100% right, and I see why it may be confusing, but that's the way it's now. Please re-open as usability fix if you think it should be changed.
0

Please sign in to leave a comment.