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