mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-11 13:49:07 +02:00
pasuseanalyzer: test for wpo resourcestring in other unit
git-svn-id: trunk@37547 -
This commit is contained in:
parent
194c0c7073
commit
399beb084b
@ -1960,7 +1960,7 @@ begin
|
||||
or C.InheritsFrom(TPasVariable)
|
||||
or C.InheritsFrom(TPasProcedure)
|
||||
or C.InheritsFrom(TPasModule)
|
||||
or C.InheritsFrom(TPasResString);
|
||||
or (C=TPasResString);
|
||||
end;
|
||||
|
||||
function TPasAnalyzer.IsImplBlockEmpty(El: TPasImplBlock): boolean;
|
||||
|
@ -60,6 +60,7 @@ type
|
||||
procedure TestM_RangeType;
|
||||
procedure TestM_Unary;
|
||||
procedure TestM_Const;
|
||||
procedure TestM_ResourceString;
|
||||
procedure TestM_Record;
|
||||
procedure TestM_Array;
|
||||
procedure TestM_NestedFuncResult;
|
||||
@ -110,6 +111,7 @@ type
|
||||
// whole program optimization
|
||||
procedure TestWP_LocalVar;
|
||||
procedure TestWP_UnitUsed;
|
||||
procedure TestWP_UnitUsed_ResourceString;
|
||||
procedure TestWP_UnitNotUsed;
|
||||
procedure TestWP_UnitInitialization;
|
||||
procedure TestWP_UnitFinalization;
|
||||
@ -545,21 +547,40 @@ end;
|
||||
procedure TTestUseAnalyzer.TestM_Const;
|
||||
begin
|
||||
StartProgram(false);
|
||||
Add('resourcestring {#rs_used}rs = ''txt'';');
|
||||
Add('procedure {#DoIt_used}DoIt;');
|
||||
Add('var');
|
||||
Add(' {#a_used}a: longint;');
|
||||
Add(' {#b_used}b: boolean;');
|
||||
Add(' {#c_used}c: array of longint;');
|
||||
Add(' {#d_used}d: string;');
|
||||
Add('begin');
|
||||
Add(' a:=+1;');
|
||||
Add(' b:=true;');
|
||||
Add(' c:=nil;');
|
||||
Add(' d:=''foo''+rs;');
|
||||
Add('end;');
|
||||
Add('begin');
|
||||
Add(' DoIt;');
|
||||
Add([
|
||||
'procedure {#DoIt_used}DoIt;',
|
||||
'var',
|
||||
' {#a_used}a: longint;',
|
||||
' {#b_used}b: boolean;',
|
||||
' {#c_used}c: array of longint;',
|
||||
' {#d_used}d: string;',
|
||||
'begin',
|
||||
' a:=+1;',
|
||||
' b:=true;',
|
||||
' c:=nil;',
|
||||
' d:=''foo'';',
|
||||
'end;',
|
||||
'begin',
|
||||
' DoIt;']);
|
||||
AnalyzeProgram;
|
||||
end;
|
||||
|
||||
procedure TTestUseAnalyzer.TestM_ResourceString;
|
||||
begin
|
||||
StartProgram(false);
|
||||
Add([
|
||||
'resourcestring',
|
||||
'resourcestring',
|
||||
' {#a_used}a = ''txt'';',
|
||||
' {#b_used}b = ''foo'';',
|
||||
'procedure {#DoIt_used}DoIt(s: string);',
|
||||
'var',
|
||||
' {#d_used}d: string;',
|
||||
'begin',
|
||||
' d:=b;',
|
||||
'end;',
|
||||
'begin',
|
||||
' DoIt(a);']);
|
||||
AnalyzeProgram;
|
||||
end;
|
||||
|
||||
@ -1519,6 +1540,25 @@ begin
|
||||
CheckUnitUsed('unit2.pp',true);
|
||||
end;
|
||||
|
||||
procedure TTestUseAnalyzer.TestWP_UnitUsed_ResourceString;
|
||||
begin
|
||||
AddModuleWithIntfImplSrc('unit2.pp',
|
||||
LinesToStr([
|
||||
'resourcestring rs = ''txt'';',
|
||||
'procedure DoIt;',
|
||||
'']),
|
||||
LinesToStr([
|
||||
'procedure DoIt; begin end;']));
|
||||
|
||||
StartProgram(true);
|
||||
Add('uses unit2;');
|
||||
Add('begin');
|
||||
Add(' if rs='''' then ;');
|
||||
AnalyzeWholeProgram;
|
||||
|
||||
CheckUnitUsed('unit2.pp',true);
|
||||
end;
|
||||
|
||||
procedure TTestUseAnalyzer.TestWP_UnitNotUsed;
|
||||
begin
|
||||
AddModuleWithIntfImplSrc('unit2.pp',
|
||||
|
Loading…
Reference in New Issue
Block a user