Interface "implement methods" helper behavior doesn't work quite as well for OST-based interfaces

Issue #1553 resolved
Chuck Liddell created an issue

This is super trivial, but it costs me about a minute a day so I figured I’d take a few extra minutes today and log it.

If I have an Apex interface defined in my local codebase and type “implements <myinterface>” on an Apex class, I get a helpful tip that I need to implement certain methods or be declared abstract, and I can auto-generate the method signatures.

When I do that, everything is fine, the methods appear in my class in the same order they exist in the interface and all the parameter type and names match up.

In contrast to the above, if I try to implement an interface that is NOT in my local codebase (example: global interface from a managed package installed in my org) Illuminated Cloud is smart enough to find the interface definition (I assume from OST) and allow me to generate signatures like I did before.

However, there are two minor irritants doing this:

  1. The interface methods are always in the reverse order that they actually exist in the interface, forcing me to rearrange them all to put them back in the “correct” order
  2. The parameter names are lost, and turn into param0, param1, etc

Like I said, trivial, but it’s enough keystrokes to repair that I’ve started getting in the habit of copying and pasting the actual interface file definitions into my implementing classes to save some keystrokes, and that just feels a bit silly.

Comments (2)

  1. Scott Wells repo owner

    Hey, Chuck. I'll take a look at the first issue. The second is something that's generally out of my control, though. That's how the parameters come back from the Tooling API's Apex completions resource. I've spoken with Nick Chen and some others about it, and while I can't remember the details, evidently it's a major undertaking to fix that on their side.

  2. Scott Wells repo owner

    Issue tracker grooming. Hopefully both of these are addressed at this point. I did some work a bit back to improve reported parameter names for standard Apex types with a specific focus on methods of interfaces that the user would implement. I think interface method ordering should be preserved now as well, but certainly let me know if that's not the case.

  3. Log in to comment