From 435861b238f125b81184a4bed40b6447aad88686 Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 10 Oct 2023 19:37:04 +0200 Subject: [PATCH] fcl-passrc: added test unit not used through alias --- packages/fcl-passrc/tests/tcuseanalyzer.pas | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/packages/fcl-passrc/tests/tcuseanalyzer.pas b/packages/fcl-passrc/tests/tcuseanalyzer.pas index 748b98c449..fe37e7e6aa 100644 --- a/packages/fcl-passrc/tests/tcuseanalyzer.pas +++ b/packages/fcl-passrc/tests/tcuseanalyzer.pas @@ -99,6 +99,7 @@ type procedure TestM_Hint_UnitNotUsed_No_OnlyExternal; procedure TestM_Hint_UnitUsed; procedure TestM_Hint_UnitUsedVarArgs; + procedure TestM_Hint_UnitNotUsed_ClassInterfacesList; procedure TestM_Hint_ParameterNotUsed; procedure TestM_Hint_ParameterNotUsedOff; procedure TestM_Hint_ParameterInOverrideNotUsed; @@ -1629,6 +1630,39 @@ begin CheckUseAnalyzerUnexpectedHints; end; +procedure TTestUseAnalyzer.TestM_Hint_UnitNotUsed_ClassInterfacesList; +begin + AddModuleWithIntfImplSrc('unit2.pp', + LinesToStr([ + 'type', + ' IUnknown = interface', + ' end;', + ' IBird = interface(IUnknown)', + ' end;', + '']), + LinesToStr([''])); + + AddModuleWithIntfImplSrc('unit3.pp', + LinesToStr([ + 'uses unit2;', + 'type', + ' IBird2 = unit2.IBird;', + '']), + LinesToStr([''])); + + StartUnit(true,[supTObject]); + Add([ + 'interface', + 'uses unit3;', + 'type', + ' TBird = class(TObject,IBird2)', + ' end;', + 'implementation', + '']); + AnalyzeUnit; + CheckUseAnalyzerUnexpectedHints; +end; + procedure TTestUseAnalyzer.TestM_Hint_ParameterNotUsed; begin StartProgram(true);