myroslavarm / Experimental-Completion

My internship project: improving code completion for Pharo
6 stars 3 forks source link

To Check: AST seems to be not updated after typing #69

Closed MarcusDenker closed 5 years ago

MarcusDenker commented 5 years ago

Right now it seems that we do not create a new AST for the suggestions in some cases, but instead we rely on updating the AST (see narrowWith: on the Node classes).

It might be better to instead update the AST by re-parsing it from source.

It is not really clear what happens in detail, so the first step is to understand the problem better

myroslavarm commented 5 years ago

seems to be that AST is only updated on the nodes where we have #completionToken and #narrrowWith: methods, which is not all of the nodes. for example, i just added a solution for RBMethodNode and it seems to work. PR : https://github.com/pharo-project/pharo/pull/4120

MarcusDenker commented 5 years ago

I would like to find a way to not update the AST (that is change it with narrrowWith:), but instead always re-parse.

But as an intermediate step, the PR is a good step.

MarcusDenker commented 5 years ago

With a huge image the idea to reset the entries is too slow... did a change to not do that:

https://github.com/pharo-project/pharo/pull/4914/files

The side effect is that we do not need to update the AST at all. It seems to work fine.