mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 10:09:29 +02:00
codetools: added ChangeStamp for all boss files
git-svn-id: trunk@26334 -
This commit is contained in:
parent
1fdeeff22c
commit
63fb9e4fd8
@ -69,6 +69,7 @@ type
|
||||
procedure SetScanner(const Value: TLinkScanner);
|
||||
procedure SetIsDeleted(const NewValue: boolean);
|
||||
protected
|
||||
procedure IncreaseChangeStep; override;
|
||||
procedure DecodeLoaded(const AFilename: string;
|
||||
var ASource, ADiskEncoding, AMemEncoding: string); override;
|
||||
procedure EncodeSaving(const AFilename: string; var ASource: string); override;
|
||||
@ -134,6 +135,7 @@ type
|
||||
|
||||
TCodeCache = class(TObject)
|
||||
private
|
||||
FChangeStamp: int64;
|
||||
FDefaultEncoding: string;
|
||||
FItems: TAVLTree; // tree of TCodeBuffer
|
||||
FIncludeLinks: TAVLTree; // tree of TIncludedByLink
|
||||
@ -197,6 +199,7 @@ type
|
||||
procedure WriteAllFileNames;
|
||||
procedure WriteDebugReport;
|
||||
function CalcMemSize(Stats: TCTMemStats): PtrUInt;
|
||||
procedure IncreaseChangeStamp;
|
||||
public
|
||||
property ExpirationTimeInDays: integer
|
||||
read FExpirationTimeInDays write FExpirationTimeInDays;
|
||||
@ -209,6 +212,7 @@ type
|
||||
property OnEncodeSaving: TOnCodeCacheEncodeSaving read FOnEncodeSaving
|
||||
write FOnEncodeSaving;
|
||||
property DefaultEncoding: string read FDefaultEncoding write FDefaultEncoding;
|
||||
property ChangeStamp: int64 read FChangeStamp;
|
||||
end;
|
||||
|
||||
|
||||
@ -958,6 +962,14 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeCache.IncreaseChangeStamp;
|
||||
begin
|
||||
if FChangeStamp<high(FChangeStamp) then
|
||||
inc(FChangeStamp)
|
||||
else
|
||||
FChangeStamp:=low(FChangeStamp);
|
||||
end;
|
||||
|
||||
procedure TCodeCache.WriteAllFileNames;
|
||||
procedure WriteNode(ANode: TAVLTreeNode);
|
||||
begin
|
||||
@ -1104,6 +1116,13 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeBuffer.IncreaseChangeStep;
|
||||
begin
|
||||
inherited IncreaseChangeStep;
|
||||
if FCodeCache<>nil then
|
||||
FCodeCache.IncreaseChangeStamp;
|
||||
end;
|
||||
|
||||
procedure TCodeBuffer.DecodeLoaded(const AFilename: string; var ASource,
|
||||
ADiskEncoding, AMemEncoding: string);
|
||||
begin
|
||||
|
@ -1158,6 +1158,7 @@ begin
|
||||
// cursor is in class/object definition
|
||||
if (AClassNode.SubDesc and ctnsForwardDeclaration)>0 then exit;
|
||||
CheckWholeUnitParsed(AClassNode,CursorNode);
|
||||
//BuildSubTreeForClass(AClassNode);
|
||||
// parse class and build CodeTreeNodes for all properties/methods
|
||||
{$IFDEF CTDEBUG}
|
||||
DebugLn('TCodeCompletionCodeTool.CompleteCode C ',dbgs(CleanCursorPos),', |',copy(Src,CleanCursorPos,8));
|
||||
|
@ -186,7 +186,7 @@ type
|
||||
TFileStateCache = class
|
||||
private
|
||||
FFiles: TAVLTree; // tree of TFileStateCacheItem
|
||||
FTimeStamp: integer;
|
||||
FTimeStamp: int64;
|
||||
FLockCount: integer;
|
||||
FChangeTimeStampHandler: array of TNotifyEvent;
|
||||
procedure SetFlag(AFile: TFileStateCacheItem;
|
||||
@ -215,7 +215,7 @@ type
|
||||
procedure RemoveChangeTimeStampHandler(const Handler: TNotifyEvent);
|
||||
function CalcMemSize: PtrUint;
|
||||
public
|
||||
property TimeStamp: integer read FTimeStamp;
|
||||
property TimeStamp: int64 read FTimeStamp;
|
||||
end;
|
||||
|
||||
var
|
||||
@ -2993,10 +2993,10 @@ begin
|
||||
if Self=nil then exit;
|
||||
if AFilename='' then begin
|
||||
// invalidate all
|
||||
if FTimeStamp<maxLongint then
|
||||
if FTimeStamp<high(FTimeStamp) then
|
||||
inc(FTimeStamp)
|
||||
else
|
||||
FTimeStamp:=-maxLongint;
|
||||
FTimeStamp:=low(FTimeStamp);
|
||||
for i:=0 to length(FChangeTimeStampHandler)-1 do
|
||||
FChangeTimeStampHandler[i](Self);
|
||||
end else begin
|
||||
|
@ -123,7 +123,7 @@ type
|
||||
procedure SetReadOnly(const Value: boolean);
|
||||
function IndexOfChangeHook(AChangeHook: TOnSourceChange): integer;
|
||||
protected
|
||||
procedure IncreaseChangeStep;
|
||||
procedure IncreaseChangeStep; virtual;
|
||||
procedure DecodeLoaded(const AFilename: string;
|
||||
var ASource, ADiskEncoding, AMemEncoding: string); virtual;
|
||||
procedure EncodeSaving(const AFilename: string; var ASource: string); virtual;
|
||||
@ -814,10 +814,10 @@ end;
|
||||
|
||||
procedure TSourceLog.IncreaseChangeStep;
|
||||
begin
|
||||
if FChangeStep<>$7fffffff then
|
||||
if FChangeStep<High(FChangeStep) then
|
||||
inc(FChangeStep)
|
||||
else
|
||||
FChangeStep:=-$7fffffff;
|
||||
FChangeStep:=low(FChangeStep);
|
||||
//DebugLn('[TSourceLog.IncreaseChangeStep] ',FChangeStep,',',DbgS(Self));
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user