From 1e94cad0ffb57db5244b5cf1cf3286df0b90086b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=BCbbe=20Onken?= Date: Thu, 29 Apr 2021 10:43:43 +0200 Subject: [PATCH 1/2] Allow shared read access to parsed files --- Source/DelphiAST.ProjectIndexer.pas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/DelphiAST.ProjectIndexer.pas b/Source/DelphiAST.ProjectIndexer.pas index 2a2ecb70..4370f546 100644 --- a/Source/DelphiAST.ProjectIndexer.pas +++ b/Source/DelphiAST.ProjectIndexer.pas @@ -457,7 +457,7 @@ class function TProjectIndexer.SafeOpenFileStream(const fileName: string; var fi begin Result := true; try - readStream := TFileStream.Create(fileName, fmOpenRead); + readStream := TFileStream.Create(fileName, fmOpenRead or fmShareDenyWrite); except on E: EFCreateError do begin errorMsg := E.Message; From 07fe6c62ae0aa6591759fdeb0fdcc4ea5d3dc832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=BCbbe=20Onken?= Date: Wed, 18 Aug 2021 13:10:46 +0200 Subject: [PATCH 2/2] Log encoding errors as problems --- Source/DelphiAST.ProjectIndexer.pas | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/DelphiAST.ProjectIndexer.pas b/Source/DelphiAST.ProjectIndexer.pas index 4370f546..77e217aa 100644 --- a/Source/DelphiAST.ProjectIndexer.pas +++ b/Source/DelphiAST.ProjectIndexer.pas @@ -509,6 +509,9 @@ procedure TProjectIndexer.RunParserOnUnit(const fileName: string; var syntaxTree FProblems.LogProblem(ptCantParseFile, fileName, Format('Line %d, Column %d: %s', [E.Line, E.Col, E.Message])); end; + on E: EEncodingError do begin + FProblems.LogProblem(ptCantParseFile, fileName, E.Message); + end; end; finally FreeAndNil(builder); end; finally FreeAndNil(fileStream); end;