ceylon-ide-intellij icon indicating copy to clipboard operation
ceylon-ide-intellij copied to clipboard

hide impl classes in Navigate > Class

Open gavinking opened this issue 9 years ago • 10 comments

@bjansen would it be possible to eliminate the e.g. Sequence$impl classes in the result list?

gavinking avatar Jun 23 '16 17:06 gavinking

I can hide them, but then they won't be visible from Java files either. I think they might be useful when we try to implement a Ceylon interface in Java. I'll have to dig deeper.

bjansen avatar Jun 23 '16 18:06 bjansen

I think they might be useful when we try to implement a Ceylon interface in Java.

Well, perhaps, but it's probably a bad idea to do this, especially since the $impl classes are going away, and for sure we don't do this anywhere right now, except in the language module which is a special case.

I'll have to dig deeper.

That's fine, but in the meantime, I still think we should just hide them.

gavinking avatar Jun 24 '16 10:06 gavinking

If we hide them, it means they're not in the index, which means the model loader won't be available to find them, which means List$impl won't be found, which means every piece of code that uses iterables will have (invalid) red highlights :(

bjansen avatar Jun 25 '16 17:06 bjansen

WDYM "code that uses iterables"? I don't understand.

gavinking avatar Jun 25 '16 18:06 gavinking

A compromise solution might be to add a Weigher so that the fall to the bottom of the list.

gavinking avatar Jun 25 '16 18:06 gavinking

for sure we don't do this anywhere right now

Just found a place where we do this.

bjansen avatar Jun 27 '16 16:06 bjansen

well, this code is temporary and will probably change. But it's right that Java code that implements a Ceylon interface with some implementation methods has to manage $impl elements explicitly.

davidfestal avatar Jun 27 '16 17:06 davidfestal

Just found a place where we do this.

Then I suggest that we fix that code.

gavinking avatar Jun 27 '16 17:06 gavinking

But it's right that Java code that implements a Ceylon interface with some implementation methods has to manage $impl elements explicitly.

No. It's not right. $impls are going away, and any code which uses them directly will break.

gavinking avatar Jun 27 '16 17:06 gavinking

Moving to 1.3.5 because it's more an inconvenience than a critical bug.

bjansen avatar Sep 01 '16 14:09 bjansen