* Move InsertJSFiles to compiler

git-svn-id: trunk@40439 -
This commit is contained in:
michael 2018-12-01 21:06:59 +00:00
parent 92c07633c2
commit a3337afa98
3 changed files with 91 additions and 89 deletions

View File

@ -412,6 +412,8 @@ type
FInterfaceType: TPasClassInterfaceType; FInterfaceType: TPasClassInterfaceType;
FRTLVersionCheck: TP2jsRTLVersionCheck; FRTLVersionCheck: TP2jsRTLVersionCheck;
FPrecompileGUID: TGUID; FPrecompileGUID: TGUID;
FInsertFilenames: TStringList;
procedure AddInsertJSFilename(const aFilename: string);
procedure ConditionEvalLog(Sender: TCondDirectiveEvaluator; procedure ConditionEvalLog(Sender: TCondDirectiveEvaluator;
Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif}); Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif});
function ConditionEvalVariable(Sender: TCondDirectiveEvaluator; function ConditionEvalVariable(Sender: TCondDirectiveEvaluator;
@ -431,10 +433,13 @@ type
function GetWriteDebugLog: boolean; function GetWriteDebugLog: boolean;
function GetWriteMsgToStdErr: boolean; function GetWriteMsgToStdErr: boolean;
function HandleOptionOptimization(C: Char; aValue: String): Boolean; function HandleOptionOptimization(C: Char; aValue: String): Boolean;
function IndexOfInsertJSFilename(const aFilename: string): integer;
procedure InsertCustomJSFiles(aWriter: TPas2JSMapper);
function OnMacroCfgDir(Sender: TObject; var Params: string; Lvl: integer function OnMacroCfgDir(Sender: TObject; var Params: string; Lvl: integer
): boolean; ): boolean;
function OnMacroEnv(Sender: TObject; var Params: string; Lvl: integer function OnMacroEnv(Sender: TObject; var Params: string; Lvl: integer
): boolean; ): boolean;
procedure RemoveInsertJSFilename(const aFilename: string);
procedure SetCompilerExe(AValue: string); procedure SetCompilerExe(AValue: string);
procedure SetFileCache(AValue: TPas2jsFilesCache); procedure SetFileCache(AValue: TPas2jsFilesCache);
procedure SetMode(AValue: TP2jsMode); procedure SetMode(AValue: TP2jsMode);
@ -580,6 +585,7 @@ type
property WriteDebugLog: boolean read GetWriteDebugLog write SetWriteDebugLog; property WriteDebugLog: boolean read GetWriteDebugLog write SetWriteDebugLog;
property WriteMsgToStdErr: boolean read GetWriteMsgToStdErr write SetWriteMsgToStdErr; property WriteMsgToStdErr: boolean read GetWriteMsgToStdErr write SetWriteMsgToStdErr;
property ExitCode: longint read GetExitCode write SetExitCode; property ExitCode: longint read GetExitCode write SetExitCode;
property InsertFilenames: TStringList read FInsertFilenames;
end; end;
@ -1566,7 +1572,7 @@ var
FoundPasUnitName:=TestUnitName; FoundPasUnitName:=TestUnitName;
end else begin end else begin
// search pas in unit path // search pas in unit path
FoundPasFilename:=Compiler.FileCache.FindUnitFileName(TestUnitName,'',FoundPasIsForeign,FileResolver.StrictFileCase); FoundPasFilename:=Compiler.FileCache.FindUnitFileName(TestUnitName,'',FoundPasIsForeign);
if FoundPasFilename<>'' then if FoundPasFilename<>'' then
FoundPasUnitName:=TestUnitName; FoundPasUnitName:=TestUnitName;
end; end;
@ -1631,7 +1637,7 @@ begin
if FoundPasFilename='' then if FoundPasFilename='' then
begin begin
// search Pascal file // search Pascal file
FoundPasFilename:=Compiler.FileCache.FindUnitFileName(UseUnitname,InFilename,FoundPasIsForeign,FileResolver.StrictFileCase); FoundPasFilename:=Compiler.FileCache.FindUnitFileName(UseUnitname,InFilename,FoundPasIsForeign);
if FoundPasFilename<>'' then if FoundPasFilename<>'' then
begin begin
if InFilename<>'' then if InFilename<>'' then
@ -2273,7 +2279,7 @@ begin
DestFilename:=FileCache.GetResolvedMainJSFile; DestFilename:=FileCache.GetResolvedMainJSFile;
CreateFileWriter(DestFilename); CreateFileWriter(DestFilename);
CombinedFileWriter:=aFileWriter; CombinedFileWriter:=aFileWriter;
FileCache.InsertCustomJSFiles(CombinedFileWriter); InsertCustomJSFiles(CombinedFileWriter);
end else begin end else begin
DestFilename:=aFile.JSFilename; DestFilename:=aFile.JSFilename;
end; end;
@ -2290,7 +2296,7 @@ begin
// create writer for this file // create writer for this file
CreateFileWriter(DestFilename); CreateFileWriter(DestFilename);
if aFile.IsMainFile and not FileCache.AllJSIntoMainJS then if aFile.IsMainFile and not FileCache.AllJSIntoMainJS then
FileCache.InsertCustomJSFiles(aFileWriter); InsertCustomJSFiles(aFileWriter);
end; end;
// write JavaScript // write JavaScript
@ -3154,9 +3160,9 @@ begin
if aValue='' then if aValue='' then
Result:=False Result:=False
else else
FileCache.RemoveInsertJSFilename(aValue); RemoveInsertJSFilename(aValue);
end else end else
FileCache.AddInsertJSFilename(aValue); AddInsertJSFilename(aValue);
end; end;
'l': SetOption(coLowercase,aValue<>'-'); 'l': SetOption(coLowercase,aValue<>'-');
'm': 'm':
@ -3983,6 +3989,7 @@ begin
FLog:=TPas2jsLogger.Create; FLog:=TPas2jsLogger.Create;
FParamMacros:=TPas2jsMacroEngine.Create; FParamMacros:=TPas2jsMacroEngine.Create;
RegisterMessages; RegisterMessages;
FInsertFilenames:=TStringList.Create;
FFileCache:=TPas2jsFilesCache.Create(Log); FFileCache:=TPas2jsFilesCache.Create(Log);
FFileCache.BaseDirectory:=GetCurrentDirPJ; FFileCache.BaseDirectory:=GetCurrentDirPJ;
@ -4017,6 +4024,7 @@ destructor TPas2jsCompiler.Destroy;
procedure FreeStuff; procedure FreeStuff;
begin begin
FreeAndNil(FWPOAnalyzer); FreeAndNil(FWPOAnalyzer);
FreeAndNil(FInsertFilenames);
FMainFile:=nil; FMainFile:=nil;
FreeAndNil(FUnits); FreeAndNil(FUnits);
@ -4137,7 +4145,7 @@ begin
FUnits.Clear; FUnits.Clear;
FReadingModules.Clear; FReadingModules.Clear;
FFiles.FreeItems; FFiles.FreeItems;
FInsertFilenames.Clear;
FPostProcs.Clear; FPostProcs.Clear;
FCompilerExe:=''; FCompilerExe:='';
FOptions:=DefaultP2jsCompilerOptions; FOptions:=DefaultP2jsCompilerOptions;
@ -4751,5 +4759,57 @@ begin
Result:=ExpandFileNamePJ(Filename,FileCache.BaseDirectory); Result:=ExpandFileNamePJ(Filename,FileCache.BaseDirectory);
end; end;
procedure TPas2jsCompiler.InsertCustomJSFiles(aWriter: TPas2JSMapper);
var
i: Integer;
Filename: String;
FileResolver: TPas2jsFileResolver;
aFile: TPas2jsCachedFile;
begin
if InsertFilenames.Count=0 then exit;
FileResolver:=FileCache.CreateResolver;
try
for i:=0 to InsertFilenames.Count-1 do begin
Filename:=FileCache.FindCustomJSFileName(ResolveDots(InsertFilenames[i]));
if Filename='' then
begin
Log.LogMsg(nCustomJSFileNotFound,[InsertFilenames[i]]);
raise EFileNotFoundError.Create('');
end;
aFile:=FileCache.LoadFile(Filename);
if aFile.Source='' then continue;
aWriter.WriteFile(aFile.Source,Filename);
end
finally
FileResolver.Free;
end;
end;
function TPas2jsCompiler.IndexOfInsertJSFilename(const aFilename: string
): integer;
var
i: Integer;
begin
for i:=0 to FInsertFilenames.Count-1 do
if CompareFilenames(aFilename,InsertFilenames[i])=0 then
exit(i);
Result:=-1;
end;
procedure TPas2jsCompiler.AddInsertJSFilename(const aFilename: string);
begin
if IndexOfInsertJSFilename(aFilename)<0 then
InsertFilenames.Add(aFilename);
end;
procedure TPas2jsCompiler.RemoveInsertJSFilename(const aFilename: string);
var
i: Integer;
begin
i:=IndexOfInsertJSFilename(aFilename);
if i>=0 then
InsertFilenames.Delete(i);
end;
end. end.

View File

@ -269,7 +269,6 @@ type
FForeignUnitPathsFromCmdLine: integer; FForeignUnitPathsFromCmdLine: integer;
FIncludePaths: TStringList; FIncludePaths: TStringList;
FIncludePathsFromCmdLine: integer; FIncludePathsFromCmdLine: integer;
FInsertFilenames: TStringList;
FLog: TPas2jsLogger; FLog: TPas2jsLogger;
FMainJSFile: string; FMainJSFile: string;
FMainJSFileResolved: string; // only valid if cfsMainJSFileResolved in FStates FMainJSFileResolved: string; // only valid if cfsMainJSFileResolved in FStates
@ -284,13 +283,13 @@ type
FResetStamp: TChangeStamp; FResetStamp: TChangeStamp;
FSrcMapBaseDir: string; FSrcMapBaseDir: string;
FStates: TPas2jsFileCacheStates; FStates: TPas2jsFileCacheStates;
FStrictFileCase: Boolean;
FUnitOutputPath: string; FUnitOutputPath: string;
FUnitPaths: TStringList; FUnitPaths: TStringList;
FUnitPathsFromCmdLine: integer; FUnitPathsFromCmdLine: integer;
function FileExistsILogged(var Filename: string): integer; function FileExistsILogged(var Filename: string): integer;
function FileExistsLogged(const Filename: string): boolean; function FileExistsLogged(const Filename: string): boolean;
function FindCustomJSFileName(const aFilename: string): String; function FindSourceFileName(const aFilename: string): String;
function FindSourceFileName(const aFilename: string; StrictFileCase: Boolean): String;
function GetAllJSIntoMainJS: Boolean; function GetAllJSIntoMainJS: Boolean;
function GetSearchLikeFPC: boolean; function GetSearchLikeFPC: boolean;
function GetShowFullFilenames: boolean; function GetShowFullFilenames: boolean;
@ -317,10 +316,11 @@ type
constructor Create(aLog: TPas2jsLogger); constructor Create(aLog: TPas2jsLogger);
destructor Destroy; override; destructor Destroy; override;
procedure Reset; virtual; procedure Reset; virtual;
function SearchLowUpCase(var Filename: string; StrictFileCase : Boolean): boolean; function SearchLowUpCase(var Filename: string): boolean;
function FindCustomJSFileName(const aFilename: string): String;
function FindUnitJSFileName(const aUnitFilename: string): String; function FindUnitJSFileName(const aUnitFilename: string): String;
function FindUnitFileName(const aUnitname, InFilename: string; out IsForeign: boolean; StrictFileCase: Boolean): String; virtual; function FindUnitFileName(const aUnitname, InFilename: string; out IsForeign: boolean): String; virtual;
function FindIncludeFileName(const aFilename: string; StrictFileCase : Boolean): String; virtual; function FindIncludeFileName(const aFilename: string): String; virtual;
function AddIncludePaths(const Paths: string; FromCmdLine: boolean; out ErrorMsg: string): boolean; function AddIncludePaths(const Paths: string; FromCmdLine: boolean; out ErrorMsg: string): boolean;
function AddNamespaces(const Paths: string; FromCmdLine: boolean; out ErrorMsg: string): boolean; function AddNamespaces(const Paths: string; FromCmdLine: boolean; out ErrorMsg: string): boolean;
function AddUnitPaths(const Paths: string; FromCmdLine: boolean; out ErrorMsg: string): boolean; function AddUnitPaths(const Paths: string; FromCmdLine: boolean; out ErrorMsg: string): boolean;
@ -335,10 +335,6 @@ type
function FindFile(Filename: string): TPas2jsCachedFile; function FindFile(Filename: string): TPas2jsCachedFile;
function LoadFile(Filename: string; Binary: boolean = false): TPas2jsCachedFile; function LoadFile(Filename: string; Binary: boolean = false): TPas2jsCachedFile;
function NormalizeFilename(const Filename: string; RaiseOnError: boolean): string; function NormalizeFilename(const Filename: string; RaiseOnError: boolean): string;
procedure InsertCustomJSFiles(aWriter: TPas2JSMapper);
function IndexOfInsertJSFilename(const aFilename: string): integer;
procedure AddInsertJSFilename(const aFilename: string);
procedure RemoveInsertJSFilename(const aFilename: string);
procedure GetListing(const aDirectory: string; var Files: TStrings; procedure GetListing(const aDirectory: string; var Files: TStrings;
FullPaths: boolean = true); FullPaths: boolean = true);
procedure RaiseDuplicateFile(aFilename: string); procedure RaiseDuplicateFile(aFilename: string);
@ -354,7 +350,6 @@ type
property ForeignUnitPathsFromCmdLine: integer read FForeignUnitPathsFromCmdLine; property ForeignUnitPathsFromCmdLine: integer read FForeignUnitPathsFromCmdLine;
property IncludePaths: TStringList read FIncludePaths; property IncludePaths: TStringList read FIncludePaths;
property IncludePathsFromCmdLine: integer read FIncludePathsFromCmdLine; property IncludePathsFromCmdLine: integer read FIncludePathsFromCmdLine;
property InsertFilenames: TStringList read FInsertFilenames;
property Log: TPas2jsLogger read FLog; property Log: TPas2jsLogger read FLog;
property MainJSFile: string read FMainJSFile write SetMainJSFile; property MainJSFile: string read FMainJSFile write SetMainJSFile;
property MainSrcFileShort: string read FMainSrcFileShort write FMainSrcFileShort; property MainSrcFileShort: string read FMainSrcFileShort write FMainSrcFileShort;
@ -373,6 +368,7 @@ type
property UnitPathsFromCmdLine: integer read FUnitPathsFromCmdLine; property UnitPathsFromCmdLine: integer read FUnitPathsFromCmdLine;
property OnReadFile: TPas2jsReadFileEvent read FOnReadFile write FOnReadFile; property OnReadFile: TPas2jsReadFileEvent read FOnReadFile write FOnReadFile;
property OnWriteFile: TPas2jsWriteFileEvent read FOnWriteFile write FOnWriteFile; property OnWriteFile: TPas2jsWriteFileEvent read FOnWriteFile write FOnWriteFile;
Property StrictFileCase : Boolean Read FStrictFileCase Write FStrictFileCase;
end; end;
@ -1312,7 +1308,7 @@ var
Filename: String; Filename: String;
begin begin
Result:=nil; Result:=nil;
Filename:=Cache.FindIncludeFileName(aFilename,StrictFileCase); Filename:=Cache.FindIncludeFileName(aFilename);
if Filename='' then exit; if Filename='' then exit;
try try
Result:=FindSourceFile(Filename); Result:=FindSourceFile(Filename);
@ -1324,7 +1320,7 @@ end;
function TPas2jsFileResolver.FindIncludeFileName(const aFilename: string): String; function TPas2jsFileResolver.FindIncludeFileName(const aFilename: string): String;
begin begin
Result:=Cache.FindIncludeFileName(aFilename,StrictFileCase); Result:=Cache.FindIncludeFileName(aFilename);
end; end;
@ -1334,7 +1330,7 @@ var
CurFilename: String; CurFilename: String;
begin begin
CurFilename:=Cache.FindSourceFileName(aFileName,StrictFileCase); CurFilename:=Cache.FindSourceFileName(aFileName);
Result:=Cache.LoadFile(CurFilename).CreateLineReader(false); Result:=Cache.LoadFile(CurFilename).CreateLineReader(false);
end; end;
@ -1663,7 +1659,6 @@ begin
FLog:=aLog; FLog:=aLog;
FOptions:=DefaultPas2jsFileCacheOptions; FOptions:=DefaultPas2jsFileCacheOptions;
FIncludePaths:=TStringList.Create; FIncludePaths:=TStringList.Create;
FInsertFilenames:=TStringList.Create;
FForeignUnitPaths:=TStringList.Create; FForeignUnitPaths:=TStringList.Create;
FNamespaces:=TStringList.Create; FNamespaces:=TStringList.Create;
FUnitPaths:=TStringList.Create; FUnitPaths:=TStringList.Create;
@ -1683,7 +1678,6 @@ begin
FFiles.FreeItems; FFiles.FreeItems;
FreeAndNil(FDirectoryCache); FreeAndNil(FDirectoryCache);
FreeAndNil(FFiles); FreeAndNil(FFiles);
FreeAndNil(FInsertFilenames);
FreeAndNil(FIncludePaths); FreeAndNil(FIncludePaths);
FreeAndNil(FForeignUnitPaths); FreeAndNil(FForeignUnitPaths);
FreeAndNil(FNamespaces); FreeAndNil(FNamespaces);
@ -1710,7 +1704,6 @@ begin
FUnitPathsFromCmdLine:=0; FUnitPathsFromCmdLine:=0;
FIncludePaths.Clear; FIncludePaths.Clear;
FIncludePathsFromCmdLine:=0; FIncludePathsFromCmdLine:=0;
FInsertFilenames.Clear;
FStates:=FStates-[cfsMainJSFileResolved]; FStates:=FStates-[cfsMainJSFileResolved];
FNamespaces.Clear; FNamespaces.Clear;
FNamespacesFromCmdLine:=0; FNamespacesFromCmdLine:=0;
@ -1865,57 +1858,6 @@ begin
raise EFileNotFoundError.Create('invalid file name "'+Filename+'"'); raise EFileNotFoundError.Create('invalid file name "'+Filename+'"');
end; end;
procedure TPas2jsFilesCache.InsertCustomJSFiles(aWriter: TPas2JSMapper);
var
i: Integer;
Filename: String;
FileResolver: TPas2jsFileResolver;
aFile: TPas2jsCachedFile;
begin
if InsertFilenames.Count=0 then exit;
FileResolver:=CreateResolver;
try
for i:=0 to InsertFilenames.Count-1 do begin
Filename:=FindCustomJSFileName(ResolveDots(InsertFilenames[i]));
if Filename='' then
begin
Log.LogMsg(nCustomJSFileNotFound,[InsertFilenames[i]]);
raise EFileNotFoundError.Create('');
end;
aFile:=LoadFile(Filename);
if aFile.Source='' then continue;
aWriter.WriteFile(aFile.Source,Filename);
end
finally
FileResolver.Free;
end;
end;
function TPas2jsFilesCache.IndexOfInsertJSFilename(const aFilename: string
): integer;
var
i: Integer;
begin
for i:=0 to FInsertFilenames.Count-1 do
if CompareFilenames(aFilename,InsertFilenames[i])=0 then
exit(i);
Result:=-1;
end;
procedure TPas2jsFilesCache.AddInsertJSFilename(const aFilename: string);
begin
if IndexOfInsertJSFilename(aFilename)<0 then
InsertFilenames.Add(aFilename);
end;
procedure TPas2jsFilesCache.RemoveInsertJSFilename(const aFilename: string);
var
i: Integer;
begin
i:=IndexOfInsertJSFilename(aFilename);
if i>=0 then
InsertFilenames.Delete(i);
end;
procedure TPas2jsFilesCache.GetListing(const aDirectory: string; procedure TPas2jsFilesCache.GetListing(const aDirectory: string;
var Files: TStrings; FullPaths: boolean); var Files: TStrings; FullPaths: boolean);
@ -2066,7 +2008,7 @@ begin
Result:=ExpandFileNamePJ(Filename,BaseDirectory); Result:=ExpandFileNamePJ(Filename,BaseDirectory);
end; end;
function TPas2jsFilesCache.FindIncludeFileName(const aFilename: string; StrictFileCase : Boolean): String; function TPas2jsFilesCache.FindIncludeFileName(const aFilename: string): String;
function SearchCasedInIncPath(const Filename: string): string; function SearchCasedInIncPath(const Filename: string): string;
var var
@ -2077,12 +2019,12 @@ function TPas2jsFilesCache.FindIncludeFileName(const aFilename: string; StrictFi
if BaseDirectory<>'' then if BaseDirectory<>'' then
begin begin
Result:=BaseDirectory+Filename; Result:=BaseDirectory+Filename;
if SearchLowUpCase(Result,StrictFileCase) then exit; if SearchLowUpCase(Result) then exit;
end; end;
// then search in include path // then search in include path
for i:=0 to IncludePaths.Count-1 do begin for i:=0 to IncludePaths.Count-1 do begin
Result:=IncludeTrailingPathDelimiter(IncludePaths[i])+Filename; Result:=IncludeTrailingPathDelimiter(IncludePaths[i])+Filename;
if SearchLowUpCase(Result,StrictFileCase) then exit; if SearchLowUpCase(Result) then exit;
end; end;
Result:=''; Result:='';
end; end;
@ -2100,7 +2042,7 @@ begin
if FilenameIsAbsolute(Filename) then if FilenameIsAbsolute(Filename) then
begin begin
Result:=Filename; Result:=Filename;
if not SearchLowUpCase(Result,StrictFileCase) then if not SearchLowUpCase(Result) then
Result:=''; Result:='';
exit; exit;
end; end;
@ -2121,7 +2063,7 @@ begin
end; end;
end; end;
function TPas2jsFilesCache.FindSourceFileName(const aFilename: string; StrictFileCase : Boolean): String; function TPas2jsFilesCache.FindSourceFileName(const aFilename: string): String;
Var Var
Found: Boolean; Found: Boolean;
@ -2142,18 +2084,18 @@ begin
raise EFileNotFoundError.Create(aFilename) raise EFileNotFoundError.Create(aFilename)
end; end;
function TPas2jsFilesCache.FindUnitFileName(const aUnitname, InFilename: string; out IsForeign: boolean; StrictFileCase : Boolean): String; function TPas2jsFilesCache.FindUnitFileName(const aUnitname, InFilename: string; out IsForeign: boolean): String;
function SearchInDir(Dir: string; var Filename: string): boolean; function SearchInDir(Dir: string; var Filename: string): boolean;
// search in Dir for pp, pas, p times given case, lower case, upper case // search in Dir for pp, pas, p times given case, lower case, upper case
begin begin
Dir:=IncludeTrailingPathDelimiter(Dir); Dir:=IncludeTrailingPathDelimiter(Dir);
Filename:=Dir+aUnitname+'.pp'; Filename:=Dir+aUnitname+'.pp';
if SearchLowUpCase(Filename,StrictFileCase) then exit(true); if SearchLowUpCase(Filename) then exit(true);
Filename:=Dir+aUnitname+'.pas'; Filename:=Dir+aUnitname+'.pas';
if SearchLowUpCase(Filename,StrictFileCase) then exit(true); if SearchLowUpCase(Filename) then exit(true);
Filename:=Dir+aUnitname+'.p'; Filename:=Dir+aUnitname+'.p';
if SearchLowUpCase(Filename,StrictFileCase) then exit(true); if SearchLowUpCase(Filename) then exit(true);
Result:=false; Result:=false;
end; end;
@ -2170,11 +2112,11 @@ begin
Result:=ResolveDots(aFilename); Result:=ResolveDots(aFilename);
if FilenameIsAbsolute(Result) then if FilenameIsAbsolute(Result) then
begin begin
if SearchLowUpCase(Result,StrictFileCase) then exit; if SearchLowUpCase(Result) then exit;
end else end else
begin begin
Result:=ResolveDots(BaseDirectory+Result); Result:=ResolveDots(BaseDirectory+Result);
if SearchLowUpCase(Result,StrictFileCase) then exit; if SearchLowUpCase(Result) then exit;
end; end;
exit(''); exit('');
end; end;
@ -2286,7 +2228,7 @@ begin
Log.LogMsgIgnoreFilter(nSearchingFileNotFound,[FormatPath(Filename)]); Log.LogMsgIgnoreFilter(nSearchingFileNotFound,[FormatPath(Filename)]);
end; end;
function TPas2jsFilesCache.SearchLowUpCase(var Filename: string; StrictFileCase : Boolean): boolean; function TPas2jsFilesCache.SearchLowUpCase(var Filename: string): boolean;
var var
i: Integer; i: Integer;
{$IFNDEF CaseInsensitiveFilenames} {$IFNDEF CaseInsensitiveFilenames}

View File

@ -35,7 +35,7 @@ Type
Function Compiler : TPas2JSCompiler; Function Compiler : TPas2JSCompiler;
Function HandleException(E: exception) : Boolean; override; Function HandleException(E: exception) : Boolean; override;
function FindPCU(const UseUnitName: string): string;override; function FindPCU(const UseUnitName: string): string;override;
function FindPCU(const UseUnitName: string; out aFormat: TPas2JSPrecompileFormat): string; function FindPCU(const UseUnitName: string; out aFormat: TPas2JSPrecompileFormat): string;
Function HasReader : Boolean; override; Function HasReader : Boolean; override;
Function ReadContinue: Boolean; override; Function ReadContinue: Boolean; override;
Function ReadCanContinue : Boolean; override; Function ReadCanContinue : Boolean; override;
@ -199,7 +199,7 @@ function TFilerPCUSupport.FindPCU(const UseUnitName: string; out aFormat: TPas2
CurFormat:=PrecompileFormats[i]; CurFormat:=PrecompileFormats[i];
if not CurFormat.Enabled then continue; if not CurFormat.Enabled then continue;
Filename:=DirPath+UseUnitName+'.'+CurFormat.Ext; Filename:=DirPath+UseUnitName+'.'+CurFormat.Ext;
if Compiler.FileCache.SearchLowUpCase(Filename,MyFile.FileResolver.StrictFileCase) then if Compiler.FileCache.SearchLowUpCase(Filename) then
begin begin
FindPCU:=Filename; FindPCU:=Filename;
aFormat:=CurFormat; aFormat:=CurFormat;