You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When looking up references to interface members, you don't have a way of finding references by implementers.
In other words:
It's hard to look up the implementations of methods if you're looking at the consumers.
It's hard to look up the consumers of methods if you're looking at the implementations.
It's hard to see which methods in an implementer belong to which interface and which ones don't.
To Reproduce
interface IMyInterface
{
procedure Foo(); // only used by MyConsumer.Consume, but this should also show MyImplementer.Foo
}
codeunit50000 MyImplementer implements IMyInterface
{
procedure Foo() // Foo doesn't have any references ??beginend;
procedure Bar() // you have no way of knowing quickly if this method belongs to the interface or not...beginend;
}
codeunit50001 MyConsumer
{
procedure Consume(i: Interface IMyInterface)begin
i.Foo(); // links to IMyInterface.Foo (1 reference), but not to MyImplementer.Fooend;
}
As the interface gains more members and implementers, it gets more and more difficult to navigate around and maintain.
Expected behavior
It should be possible to clearly know which members of an implementer are part of an interface (and which interface).
I'd also expect to be able to see references to these methods in the consumers.
Versions:
AL Language: v6.6.425415
The text was updated successfully, but these errors were encountered:
This is the case where two interfaces define the same member:
interface A
{
procedure Foo(); // should show reference to ImplementerMulti.Foo (and ConsumerMulti.Consume, which it does today)
}
interface B
{
procedure Foo(); // should show reference to ImplementerMulti.Foo (and ConsumerMulti.Consume, which it does today)
}
codeunit50003 ImplementerMulti implements A, B
{
// should show references to A.Foo, B.Foo and ConsumerMulti.Consumeprocedure Foo() // hover should show: procedure Foo() implements A, Bbeginend;
}
codeunit50004 ConsumerMulti
{
procedure Consume()var
a: Interface A;
b: Interface B;
begin
a.Foo(); // should show references to A.Foo and ImplementerMulti.Foo
b.Foo(); // should show references to B.Foo and ImplementerMulti.Fooend;
}
What's the status of this bug?
It's been open for quite a while, and it is increasingly difficult to manage interfaces with a large number of implementations, as each implementer needs to be inspected to find the right implementation.
Describe the bug
When looking up references to interface members, you don't have a way of finding references by implementers.
In other words:
To Reproduce
As the interface gains more members and implementers, it gets more and more difficult to navigate around and maintain.
Expected behavior
It should be possible to clearly know which members of an implementer are part of an interface (and which interface).
I'd also expect to be able to see references to these methods in the consumers.
Versions:
The text was updated successfully, but these errors were encountered: