|
@@ -621,8 +621,8 @@ type
|
|
FCurToken: TToken;
|
|
FCurToken: TToken;
|
|
FCurTokenString: string;
|
|
FCurTokenString: string;
|
|
FCurLine: string;
|
|
FCurLine: string;
|
|
- FMacros,
|
|
|
|
- FDefines: TStrings;
|
|
|
|
|
|
+ FModuleRow: Integer;
|
|
|
|
+ FMacros, FDefines: TStrings;
|
|
FNonTokens: TTokens;
|
|
FNonTokens: TTokens;
|
|
FOnDirective: TPScannerDirectiveEvent;
|
|
FOnDirective: TPScannerDirectiveEvent;
|
|
FOnEvalFunction: TCEEvalFunctionEvent;
|
|
FOnEvalFunction: TCEEvalFunctionEvent;
|
|
@@ -710,6 +710,7 @@ type
|
|
constructor Create(AFileResolver: TBaseFileResolver);
|
|
constructor Create(AFileResolver: TBaseFileResolver);
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
procedure OpenFile(AFilename: string);
|
|
procedure OpenFile(AFilename: string);
|
|
|
|
+ procedure FinishedModule; virtual;
|
|
function FormatPath(const aFilename: string): string; virtual;
|
|
function FormatPath(const aFilename: string): string; virtual;
|
|
Procedure SetNonToken(aToken : TToken);
|
|
Procedure SetNonToken(aToken : TToken);
|
|
Procedure UnsetNonToken(aToken : TToken);
|
|
Procedure UnsetNonToken(aToken : TToken);
|
|
@@ -740,6 +741,7 @@ type
|
|
property CurTokenString: string read FCurTokenString;
|
|
property CurTokenString: string read FCurTokenString;
|
|
property CurTokenPos: TPasSourcePos read FCurTokenPos;
|
|
property CurTokenPos: TPasSourcePos read FCurTokenPos;
|
|
Property PreviousToken : TToken Read FPreviousToken;
|
|
Property PreviousToken : TToken Read FPreviousToken;
|
|
|
|
+ property ModuleRow: Integer read FModuleRow;
|
|
Property NonTokens : TTokens Read FNonTokens;
|
|
Property NonTokens : TTokens Read FNonTokens;
|
|
Property TokenOptions : TTokenOptions Read FTokenOptions Write FTokenOptions;
|
|
Property TokenOptions : TTokenOptions Read FTokenOptions Write FTokenOptions;
|
|
property Defines: TStrings read FDefines;
|
|
property Defines: TStrings read FDefines;
|
|
@@ -2383,6 +2385,7 @@ begin
|
|
FIncludeStack.Clear;
|
|
FIncludeStack.Clear;
|
|
FreeAndNil(FCurSourceFile);
|
|
FreeAndNil(FCurSourceFile);
|
|
FFiles.Clear;
|
|
FFiles.Clear;
|
|
|
|
+ FModuleRow:=0;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TPascalScanner.ClearMacros;
|
|
procedure TPascalScanner.ClearMacros;
|
|
@@ -2412,6 +2415,14 @@ begin
|
|
DoLog(mtInfo,nLogOpeningFile,SLogOpeningFile,[FormatPath(AFileName)],True);
|
|
DoLog(mtInfo,nLogOpeningFile,SLogOpeningFile,[FormatPath(AFileName)],True);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TPascalScanner.FinishedModule;
|
|
|
|
+begin
|
|
|
|
+ if (sleLineNumber in LogEvents)
|
|
|
|
+ and (not CurSourceFile.IsEOF)
|
|
|
|
+ and ((FCurRow Mod 100) > 0) then
|
|
|
|
+ DoLog(mtInfo,nLogLineNumber,SLogLineNumber,[CurRow],True);
|
|
|
|
+end;
|
|
|
|
+
|
|
function TPascalScanner.FormatPath(const aFilename: string): string;
|
|
function TPascalScanner.FormatPath(const aFilename: string): string;
|
|
begin
|
|
begin
|
|
if Assigned(OnFormatPath) then
|
|
if Assigned(OnFormatPath) then
|
|
@@ -3982,7 +3993,6 @@ begin
|
|
FReadOnlyValueSwitches:=AValue;
|
|
FReadOnlyValueSwitches:=AValue;
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
function TPascalScanner.FetchLine: boolean;
|
|
function TPascalScanner.FetchLine: boolean;
|
|
begin
|
|
begin
|
|
if CurSourceFile.IsEOF then
|
|
if CurSourceFile.IsEOF then
|
|
@@ -3992,6 +4002,7 @@ begin
|
|
FCurLine := '';
|
|
FCurLine := '';
|
|
FTokenStr := nil;
|
|
FTokenStr := nil;
|
|
inc(FCurRow); // set CurRow to last line+1
|
|
inc(FCurRow); // set CurRow to last line+1
|
|
|
|
+ inc(FModuleRow);
|
|
end;
|
|
end;
|
|
Result := false;
|
|
Result := false;
|
|
end else
|
|
end else
|
|
@@ -4000,7 +4011,10 @@ begin
|
|
FTokenStr := PChar(CurLine);
|
|
FTokenStr := PChar(CurLine);
|
|
Result := true;
|
|
Result := true;
|
|
Inc(FCurRow);
|
|
Inc(FCurRow);
|
|
- if LogEvent(sleLineNumber) and ((FCurRow Mod 100) = 0) then
|
|
|
|
|
|
+ inc(FModuleRow);
|
|
|
|
+ if LogEvent(sleLineNumber)
|
|
|
|
+ and (((FCurRow Mod 100) = 0)
|
|
|
|
+ or CurSourceFile.IsEOF) then
|
|
DoLog(mtInfo,nLogLineNumber,SLogLineNumber,[FCurRow],True);
|
|
DoLog(mtInfo,nLogLineNumber,SLogLineNumber,[FCurRow],True);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|