JetBrains / ruby-type-inference

Dynamic definitions and types provider for ruby static analysis
Apache License 2.0
137 stars 7 forks source link

Interesting... #1

Open Justin-Maxwell opened 7 years ago

Justin-Maxwell commented 7 years ago

I stumbled across this repo when having another go at defeating a few more RubyMine dynamic-inference/inspection warnings - always hunting for that elusive green-tick at top-right.

So it was good to see an attempt by JetBrains at really getting to grips with Ruby and it's loose dynamic nature.

I had a couple of questions after reading the readme, that might warrant a sentence or two there:

1) Is any of this already in RubyMine 2017.x, and assuming not, is there any approximate plan. Like, it might be something going into 2017.2, or it might be expected some time in late 2018, or it might just be pure experiment, without enough confidence yet to be anything more than an experiment. A few words on vaguely where and when things could end up heading would be interesting.

2) Is the state of the project anywhere near where fellow green-tick hunters using RubyMine as a core tool could get some value and give useful feedback by installing, or is it really only suited at this stage for people involved in helping develop the project?

3) If the plugin is installed, is anything required to disable existing inference bits, or does the plugin do that, or do they happily site side-by-side.

tl;dr If I install this now, will I regret it? If so, when should I come back to see how it's progressing?

valich commented 7 years ago

Hi,

  1. We are going to make the plugin working and publicly available with 2017.3 release though it will definitely be in "beta" since several problems are yet to be solved even on the theoretical side. For everything to work real properly we have to rework our type system on IDE side which is most likely not going to be completed in 2017.
  2. It might be run at the moment, however without real love from the IDE side the results are more of experimental value. @ViugiNick have around 30% better symbol resolution with the plugin, however this is obviously not the result we're aiming at. I hope to make everything working better (and maybe open EAP) by the end of August so probably that's the time to return and check how the things are going.
  3. At the moment, the plugin results are applied in the cases where IDE fails to cope itself so I don't think there will be any problems. However, the effective merging of collected data is not yet finished so it will be difficult to use it on a daily basis.

I hope this answers your questions.

Justin-Maxwell commented 7 years ago

Fantastic answers, thanks! I wish you well.

I will follow along with interest, and look forward to installing in a few months and seeing what 'types' of magic you have managed to 'cast'.