Skip to content

Fix: Check if method implements any interface method from the codeunit's interface or interfaces it extends#1202

Open
rvanbekkum wants to merge 4 commits intoStefanMaron:prereleasefrom
rvanbekkum:feature/method-implements-interface-method-from-any-interface-in-the-extends-tree
Open

Fix: Check if method implements any interface method from the codeunit's interface or interfaces it extends#1202
rvanbekkum wants to merge 4 commits intoStefanMaron:prereleasefrom
rvanbekkum:feature/method-implements-interface-method-from-any-interface-in-the-extends-tree

Conversation

@rvanbekkum
Copy link
Contributor

Fix: Check if method implements any interface method from the codeunit's interface or interfaces it extends.
The method did not account for ISomeInterface extends ISomeBaseInterface, because that wasn't available with older runtimes.

This fixes false positives from LC0052 and LC0053 which check for unused internal procedures.

@Arthurvdv
Copy link
Collaborator

Hi @rvanbekkum , thank you for providing this fix for the false positieve.

Would it be possible to include automated test(s) in the PR for these scenarios?

@rvanbekkum
Copy link
Contributor Author

False positive from LC0052 would be raised with this example:

interface IBase
{
    procedure SomeBaseInterfaceProcedure();
}

interface IExtended extends IBase
{
    procedure SomeExtendedInterfaceProcedure();
}

codeunit 51010 ExtendedImpl implements IExtended
{
    Access = Internal;

    procedure SomeBaseInterfaceProcedure()
    begin
        Message('Hello Base');
    end;

    procedure SomeExtendedInterfaceProcedure() // This would raise a false positive from LC0052, but this has been fixed.
    begin
        Message('Hello Extended');
    end;
}

would something of that form be a good test to ensure this false positive does not occur?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants