Skip to content

Detect cyclical class hierarchy and prevent infinite recursion when calculating all fields and methods of an object #725

@datho7561

Description

@datho7561

Let's say we have the following classes:

  • ClassA which extends ClassC
  • ClassB which extends ClassA
  • ClassC which extends ClassB

JDT reports an error for this since it can't be compiled. If you make a Qute template that includes one of these classes as a parameter, then open up completion:

{@org.acme.ClassA objectA}
{objectA.|}

Then you won't ever get completion back, since qute-ls uses recursion in order to collect the fields and methods of the subtypes, and will be stuck cycling between the 3 types. I'd be nice to prevent the infinite recursion in this case.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingqute

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions