Automatic broken references resolution in MPS 3.1

One of the neat enhancements that has been implemented in MPS 3.1 is the ability of the editor to automatically re-resolve broken or out-of-scope references. Imagine, for example, that you refer to a field from a piece of BaseLanguage code, e.g. from a method body.

re1 re2 re3 re4

 

 

 

Highlighting the field’s usages (Control/Cmd + Shift + F7) confirms that the reference points to the field declaration.

If, at this point, you introduce a parameter to the method with the same name, the field declaration gets moved out of the scope, since the parameter hides it. The reference gets automatically re-resolved to the parameter declaration so that the code remains valid.

If you eventually remove the parameter, the reference will start pointing at the field declaration again.

This capability also enables you to first type in the reference and only then create a definition that the reference should point to.

To enable automatical reference re-resolution, you need to enable the corresponding flag on the Editor page in the Project settings.

re5

We’ve also shot a short video showing this and other scenarios when this capability comes in handy. Check it out.

Develop with pleasure!
-JetBrains MPS Team

This entry was posted in Feature and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">