mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-13 21:39:21 +02:00
IDE: use pas2js msg parser
git-svn-id: trunk@57905 -
This commit is contained in:
parent
b1d331665f
commit
f65a30ed47
@ -31,7 +31,7 @@ const
|
|||||||
SubToolFPCAssembler = 'FPCAssembler';
|
SubToolFPCAssembler = 'FPCAssembler';
|
||||||
|
|
||||||
SubToolPas2js = 'Pas2JS';
|
SubToolPas2js = 'Pas2JS';
|
||||||
SubToolPas2jsPriority = 101;
|
SubToolPas2jsPriority = 99;
|
||||||
|
|
||||||
SubToolMake = 'make';
|
SubToolMake = 'make';
|
||||||
SubToolMakePriority = 1000; // higher than FPC
|
SubToolMakePriority = 1000; // higher than FPC
|
||||||
|
@ -525,6 +525,7 @@ begin
|
|||||||
ExternalTools:=TExternalTools.Create(Self);
|
ExternalTools:=TExternalTools.Create(Self);
|
||||||
EnvOptsChanged;
|
EnvOptsChanged;
|
||||||
RegisterFPCParser;
|
RegisterFPCParser;
|
||||||
|
RegisterPas2jsParser;
|
||||||
RegisterMakeParser;
|
RegisterMakeParser;
|
||||||
ExternalToolList.RegisterParser(TDefaultParser);
|
ExternalToolList.RegisterParser(TDefaultParser);
|
||||||
|
|
||||||
|
@ -334,7 +334,10 @@ begin
|
|||||||
CompileTool:=ExternalToolList.Add(dlgCCOTestToolCompilingEmptyFile);
|
CompileTool:=ExternalToolList.Add(dlgCCOTestToolCompilingEmptyFile);
|
||||||
CompileTool.Reference(Self,ClassName);
|
CompileTool.Reference(Self,ClassName);
|
||||||
try
|
try
|
||||||
CompileTool.AddParsers(SubToolFPC);
|
if GuessCompilerType(CompilerFilename)=pcPas2js then
|
||||||
|
CompileTool.AddParsers(SubToolPas2js)
|
||||||
|
else
|
||||||
|
CompileTool.AddParsers(SubToolFPC);
|
||||||
CompileTool.AddParsers(SubToolMake);
|
CompileTool.AddParsers(SubToolMake);
|
||||||
CompileTool.Process.CurrentDirectory:=TestDir;
|
CompileTool.Process.CurrentDirectory:=TestDir;
|
||||||
CompileTool.Process.Executable:=CompilerFilename;
|
CompileTool.Process.Executable:=CompilerFilename;
|
||||||
|
@ -41,7 +41,7 @@ uses
|
|||||||
Classes, SysUtils, LCLProc, Forms, Controls, contnrs, strutils,
|
Classes, SysUtils, LCLProc, Forms, Controls, contnrs, strutils,
|
||||||
IDEExternToolIntf, IDEMsgIntf, LazIDEIntf, MacroIntf, LazUTF8,
|
IDEExternToolIntf, IDEMsgIntf, LazIDEIntf, MacroIntf, LazUTF8,
|
||||||
IDECmdLine, LazarusIDEStrConsts, CompilerOptions, Project,
|
IDECmdLine, LazarusIDEStrConsts, CompilerOptions, Project,
|
||||||
DefineTemplates, TransferMacros, EnvironmentOpts, LazFileUtils;
|
DefineTemplates, LinkScanner, TransferMacros, EnvironmentOpts, LazFileUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
TOnCmdLineCreate = procedure(var CmdLine: string; var Abort:boolean) of object;
|
TOnCmdLineCreate = procedure(var CmdLine: string; var Abort:boolean) of object;
|
||||||
@ -274,7 +274,7 @@ var
|
|||||||
Title: String;
|
Title: String;
|
||||||
TargetOS: String;
|
TargetOS: String;
|
||||||
TargetCPU: String;
|
TargetCPU: String;
|
||||||
TargetFilename: String;
|
TargetFilename, SubTool: String;
|
||||||
begin
|
begin
|
||||||
Result:=mrCancel;
|
Result:=mrCancel;
|
||||||
if ConsoleVerbosity>=1 then
|
if ConsoleVerbosity>=1 then
|
||||||
@ -336,7 +336,10 @@ begin
|
|||||||
Tool.CmdLineParams:=CmdLine;
|
Tool.CmdLineParams:=CmdLine;
|
||||||
Tool.Process.CurrentDirectory:=WorkingDir;
|
Tool.Process.CurrentDirectory:=WorkingDir;
|
||||||
Tool.CurrentDirectoryIsTestDir:=CurrentDirectoryIsTestDir;
|
Tool.CurrentDirectoryIsTestDir:=CurrentDirectoryIsTestDir;
|
||||||
FPCParser:=TFPCParser(Tool.AddParsers(SubToolFPC));
|
SubTool:=SubToolFPC;
|
||||||
|
if GuessCompilerType(CompilerFilename)=pcPas2js then
|
||||||
|
SubTool:=SubToolPas2js;
|
||||||
|
FPCParser:=TFPCParser(Tool.AddParsers(SubTool));
|
||||||
FPCParser.ShowLinesCompiled:=EnvironmentOptions.MsgViewShowFPCMsgLinesCompiled;
|
FPCParser.ShowLinesCompiled:=EnvironmentOptions.MsgViewShowFPCMsgLinesCompiled;
|
||||||
FPCParser.HideHintsSenderNotUsed:=not AProject.CompilerOptions.ShowHintsForSenderNotUsed;
|
FPCParser.HideHintsSenderNotUsed:=not AProject.CompilerOptions.ShowHintsForSenderNotUsed;
|
||||||
FPCParser.HideHintsUnitNotUsedInMainSource:=not AProject.CompilerOptions.ShowHintsForUnusedUnitsInMainSrc;
|
FPCParser.HideHintsUnitNotUsedInMainSource:=not AProject.CompilerOptions.ShowHintsForUnusedUnitsInMainSrc;
|
||||||
|
@ -118,7 +118,7 @@ type
|
|||||||
procedure EnterCriticalsection;
|
procedure EnterCriticalsection;
|
||||||
procedure LeaveCriticalSection;
|
procedure LeaveCriticalSection;
|
||||||
procedure GetMsgFileNames(CompilerFilename, TargetOS, TargetCPU: string;
|
procedure GetMsgFileNames(CompilerFilename, TargetOS, TargetCPU: string;
|
||||||
out anEnglishFile, aTranslationFile: string); // (main thread)
|
out anEnglishFile, aTranslationFile: string); virtual; // (main thread)
|
||||||
property DefaultEnglishFile: string read FDefaultEnglishFile write SetDefaultEnglishFile;
|
property DefaultEnglishFile: string read FDefaultEnglishFile write SetDefaultEnglishFile;
|
||||||
property DefaulTranslationFile: string read FDefaultTranslationFile write SetDefaultTranslationFile;
|
property DefaulTranslationFile: string read FDefaultTranslationFile write SetDefaultTranslationFile;
|
||||||
property OnLoadFile: TETLoadFileEvent read FOnLoadFile write FOnLoadFile; // (main or workerthread)
|
property OnLoadFile: TETLoadFileEvent read FOnLoadFile write FOnLoadFile; // (main or workerthread)
|
||||||
@ -831,6 +831,7 @@ begin
|
|||||||
Result:=nil;
|
Result:=nil;
|
||||||
GetMsgFileNames(EnvironmentOptions.GetParsedCompilerFilename,'','',
|
GetMsgFileNames(EnvironmentOptions.GetParsedCompilerFilename,'','',
|
||||||
anEnglishFile,aTranslationFile);
|
anEnglishFile,aTranslationFile);
|
||||||
|
writeln('TFPCMsgFilePool.LoadCurrentEnglishFile ',anEnglishFile);
|
||||||
if not FilenameIsAbsolute(anEnglishFile) then exit;
|
if not FilenameIsAbsolute(anEnglishFile) then exit;
|
||||||
Result:=LoadFile(anEnglishFile,UpdateFromDisk,AThread);
|
Result:=LoadFile(anEnglishFile,UpdateFromDisk,AThread);
|
||||||
end;
|
end;
|
||||||
@ -1255,7 +1256,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.Urgency:=mluProgress;
|
MsgLine.Urgency:=mluProgress;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Filename:=AFilename;
|
MsgLine.Filename:=AFilename;
|
||||||
MsgLine.Msg:=OldP;
|
MsgLine.Msg:=OldP;
|
||||||
inherited AddMsgLine(MsgLine);
|
inherited AddMsgLine(MsgLine);
|
||||||
@ -1273,7 +1274,7 @@ begin
|
|||||||
if (not Result) and (not CompStr('Assembling ',p)) then exit;
|
if (not Result) and (not CompStr('Assembling ',p)) then exit;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.Urgency:=mluProgress;
|
MsgLine.Urgency:=mluProgress;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=mluProgress;
|
MsgLine.Urgency:=mluProgress;
|
||||||
MsgLine.Msg:=OldP;
|
MsgLine.Msg:=OldP;
|
||||||
inherited AddMsgLine(MsgLine);
|
inherited AddMsgLine(MsgLine);
|
||||||
@ -1390,7 +1391,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.Urgency:=MsgType;
|
MsgLine.Urgency:=MsgType;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Msg:=p;
|
MsgLine.Msg:=p;
|
||||||
MsgLine.TranslatedMsg:=TranslatedMsg;
|
MsgLine.TranslatedMsg:=TranslatedMsg;
|
||||||
AddMsgLine(MsgLine);
|
AddMsgLine(MsgLine);
|
||||||
@ -1411,7 +1412,7 @@ begin
|
|||||||
if not ReadNumberWithThousandSep(p) then exit;
|
if not ReadNumberWithThousandSep(p) then exit;
|
||||||
if not ReadChar(p,' ') then exit;
|
if not ReadChar(p,' ') then exit;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=mluProgress;
|
MsgLine.Urgency:=mluProgress;
|
||||||
MsgLine.Msg:=OldP;
|
MsgLine.Msg:=OldP;
|
||||||
inherited AddMsgLine(MsgLine);
|
inherited AddMsgLine(MsgLine);
|
||||||
@ -1433,7 +1434,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
Result:=true;
|
Result:=true;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
if ShowLinesCompiled then
|
if ShowLinesCompiled then
|
||||||
MsgLine.Urgency:=mluImportant
|
MsgLine.Urgency:=mluImportant
|
||||||
else
|
else
|
||||||
@ -1469,7 +1470,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
Result:=true;
|
Result:=true;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=mluProgress;
|
MsgLine.Urgency:=mluProgress;
|
||||||
MsgLine.Msg:=OldStart;
|
MsgLine.Msg:=OldStart;
|
||||||
inherited AddMsgLine(MsgLine);
|
inherited AddMsgLine(MsgLine);
|
||||||
@ -1595,7 +1596,7 @@ begin
|
|||||||
if MsgType=mluNone then
|
if MsgType=mluNone then
|
||||||
MsgType:=mluVerbose;
|
MsgType:=mluVerbose;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=MsgType;
|
MsgLine.Urgency:=MsgType;
|
||||||
if (fMsgID=FPCMsgIDLogo) and ReadFPCLogo(PatternItem,aFPCVersion) then begin
|
if (fMsgID=FPCMsgIDLogo) and ReadFPCLogo(PatternItem,aFPCVersion) then begin
|
||||||
if aFPCVersion<>PC_FullVersion then begin
|
if aFPCVersion<>PC_FullVersion then begin
|
||||||
@ -1730,7 +1731,7 @@ begin
|
|||||||
if MsgLine.MsgID=MsgID then exit(true);
|
if MsgLine.MsgID=MsgID then exit(true);
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if MsgLine.MsgID<>0 then exit;
|
if MsgLine.MsgID<>0 then exit;
|
||||||
if MsgLine.SubTool<>SubToolFPC then exit;
|
if MsgLine.SubTool<>DefaultSubTool then exit;
|
||||||
if Item=nil then begin
|
if Item=nil then begin
|
||||||
Item:=MsgFile.GetMsg(MsgID);
|
Item:=MsgFile.GetMsg(MsgID);
|
||||||
if Item=nil then
|
if Item=nil then
|
||||||
@ -2480,7 +2481,7 @@ begin
|
|||||||
//debugln(['TIDEFPCParser.FindSrcViaPPU i=',i,' PPUFilename="',PPUFilename,'" Filename="',aFilename,'"']);
|
//debugln(['TIDEFPCParser.FindSrcViaPPU i=',i,' PPUFilename="',PPUFilename,'" Filename="',aFilename,'"']);
|
||||||
if (i>0) then begin
|
if (i>0) then begin
|
||||||
PrevMsgLine:=Tool.WorkerMessages[i-1];
|
PrevMsgLine:=Tool.WorkerMessages[i-1];
|
||||||
if (PrevMsgLine.SubTool=SubToolFPC)
|
if (PrevMsgLine.SubTool=DefaultSubTool)
|
||||||
and (CompareFilenames(PPUFilename,PrevMsgLine.Attribute['PPU'])=0)
|
and (CompareFilenames(PPUFilename,PrevMsgLine.Attribute['PPU'])=0)
|
||||||
and FilenameIsAbsolute(PrevMsgLine.Filename)
|
and FilenameIsAbsolute(PrevMsgLine.Filename)
|
||||||
and (CompareFilenames(ExtractFilename(PrevMsgLine.Filename),ExtractFilename(aFilename))=0)
|
and (CompareFilenames(ExtractFilename(PrevMsgLine.Filename),ExtractFilename(aFilename))=0)
|
||||||
@ -2685,7 +2686,7 @@ begin
|
|||||||
if ShowLinesCompiled then MsgUrgency:=mluImportant;
|
if ShowLinesCompiled then MsgUrgency:=mluImportant;
|
||||||
end;
|
end;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=MsgUrgency;
|
MsgLine.Urgency:=MsgUrgency;
|
||||||
MsgLine.Msg:=Msg;
|
MsgLine.Msg:=Msg;
|
||||||
MsgLine.TranslatedMsg:=TranslatedMsg;
|
MsgLine.TranslatedMsg:=TranslatedMsg;
|
||||||
@ -2821,10 +2822,10 @@ begin
|
|||||||
MsgItem:=MsgFile.GetMsg(fMsgID);
|
MsgItem:=MsgFile.GetMsg(fMsgID);
|
||||||
Translate(p,MsgItem,TranslatedItem,TranslatedMsg,MsgType);
|
Translate(p,MsgItem,TranslatedItem,TranslatedMsg,MsgType);
|
||||||
if (TranslatedItem=nil) and (MsgItem=nil) then begin
|
if (TranslatedItem=nil) and (MsgItem=nil) then begin
|
||||||
if ConsoleVerbosity>=0 then
|
if ConsoleVerbosity>=1 then
|
||||||
debugln(['TFPCParser.CheckForFileLineColMessage msgid not found: ',fMsgID]);
|
debugln(['TFPCParser.CheckForFileLineColMessage msgid not found: ',fMsgID]);
|
||||||
end else if MsgType=mluNone then begin
|
end else if MsgType=mluNone then begin
|
||||||
if ConsoleVerbosity>=0 then
|
if ConsoleVerbosity>=1 then
|
||||||
debugln(['TFPCParser.CheckForFileLineColMessage msgid has no type: ',fMsgID]);
|
debugln(['TFPCParser.CheckForFileLineColMessage msgid has no type: ',fMsgID]);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2836,7 +2837,7 @@ begin
|
|||||||
Column:=0;
|
Column:=0;
|
||||||
|
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=MsgType;
|
MsgLine.Urgency:=MsgType;
|
||||||
aFilename:=GetString(FileStartPos,FileEndPos-FileStartPos);
|
aFilename:=GetString(FileStartPos,FileEndPos-FileStartPos);
|
||||||
if PPUFileStartPos<>nil then
|
if PPUFileStartPos<>nil then
|
||||||
@ -2868,7 +2869,7 @@ begin
|
|||||||
if not ReadString(p,') unit ') then exit;
|
if not ReadString(p,') unit ') then exit;
|
||||||
end;
|
end;
|
||||||
MsgLine:=CreateMsgLine;
|
MsgLine:=CreateMsgLine;
|
||||||
MsgLine.SubTool:=SubToolFPC;
|
MsgLine.SubTool:=DefaultSubTool;
|
||||||
MsgLine.Urgency:=mluProgress;
|
MsgLine.Urgency:=mluProgress;
|
||||||
MsgLine.Msg:=OldP;
|
MsgLine.Msg:=OldP;
|
||||||
AddMsgLine(MsgLine);
|
AddMsgLine(MsgLine);
|
||||||
@ -3088,7 +3089,7 @@ begin
|
|||||||
Y:=MsgLine.Line;
|
Y:=MsgLine.Line;
|
||||||
X:=MsgLine.Column;
|
X:=MsgLine.Column;
|
||||||
if (Y>0) and (X>0)
|
if (Y>0) and (X>0)
|
||||||
and (MsgLine.SubTool=SubToolFPC) and (MsgLine.Filename<>'')
|
and (MsgLine.SubTool=DefaultSubTool) and (MsgLine.Filename<>'')
|
||||||
then begin
|
then begin
|
||||||
if mlfTestBuildFile in MsgLine.Flags then
|
if mlfTestBuildFile in MsgLine.Flags then
|
||||||
aFilename:=MsgLine.Attribute[MsgAttrDiskFilename]
|
aFilename:=MsgLine.Attribute[MsgAttrDiskFilename]
|
||||||
@ -3106,7 +3107,7 @@ begin
|
|||||||
// short file name => 1. search the full file name in previous message
|
// short file name => 1. search the full file name in previous message
|
||||||
if i>0 then begin
|
if i>0 then begin
|
||||||
PrevMsgLine:=Tool.WorkerMessages[i-1];
|
PrevMsgLine:=Tool.WorkerMessages[i-1];
|
||||||
if (PrevMsgLine.SubTool=SubToolFPC)
|
if (PrevMsgLine.SubTool=DefaultSubTool)
|
||||||
and FilenameIsAbsolute(PrevMsgLine.Filename)
|
and FilenameIsAbsolute(PrevMsgLine.Filename)
|
||||||
and (CompareFilenames(ExtractFilename(PrevMsgLine.Filename),ExtractFilename(aFilename))=0)
|
and (CompareFilenames(ExtractFilename(PrevMsgLine.Filename),ExtractFilename(aFilename))=0)
|
||||||
then begin
|
then begin
|
||||||
|
@ -359,8 +359,8 @@ type
|
|||||||
function GetAboutView: TLMsgWndView;
|
function GetAboutView: TLMsgWndView;
|
||||||
function GetViews(Index: integer): TLMsgWndView;
|
function GetViews(Index: integer): TLMsgWndView;
|
||||||
procedure HideSearch;
|
procedure HideSearch;
|
||||||
procedure ImagesGetWidthForPPI(Sender: TCustomImageList; AImageWidth,
|
procedure ImagesGetWidthForPPI(Sender: TCustomImageList; {%H-}AImageWidth,
|
||||||
APPI: Integer; var AResultWidth: Integer);
|
{%H-}APPI: Integer; var AResultWidth: Integer);
|
||||||
procedure SaveClicked(OnlyShown: boolean);
|
procedure SaveClicked(OnlyShown: boolean);
|
||||||
procedure CopyAllClicked(OnlyShown: boolean);
|
procedure CopyAllClicked(OnlyShown: boolean);
|
||||||
procedure CopyMsgToClipboard(OnlyFilename: boolean);
|
procedure CopyMsgToClipboard(OnlyFilename: boolean);
|
||||||
|
@ -40,10 +40,11 @@ type
|
|||||||
|
|
||||||
TPas2jsMsgFilePool = class(TFPCMsgFilePool)
|
TPas2jsMsgFilePool = class(TFPCMsgFilePool)
|
||||||
public
|
public
|
||||||
|
destructor Destroy; override;
|
||||||
function LoadCurrentEnglishFile(UpdateFromDisk: boolean; AThread: TThread
|
function LoadCurrentEnglishFile(UpdateFromDisk: boolean; AThread: TThread
|
||||||
): TFPCMsgFilePoolItem; override;
|
): TFPCMsgFilePoolItem; override;
|
||||||
procedure GetMsgFileNames({%H-}CompilerFilename, {%H-}TargetOS, {%H-}TargetCPU: string;
|
procedure GetMsgFileNames({%H-}CompilerFilename, {%H-}TargetOS, {%H-}TargetCPU: string;
|
||||||
out anEnglishFile, aTranslationFile: string);
|
out anEnglishFile, aTranslationFile: string); override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TIDEPas2jsParser }
|
{ TIDEPas2jsParser }
|
||||||
@ -59,10 +60,24 @@ type
|
|||||||
var
|
var
|
||||||
Pas2jsMsgFilePool: TFPCMsgFilePool = nil;
|
Pas2jsMsgFilePool: TFPCMsgFilePool = nil;
|
||||||
|
|
||||||
|
procedure RegisterPas2jsParser;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
procedure RegisterPas2jsParser;
|
||||||
|
begin
|
||||||
|
ExternalToolList.RegisterParser(TIDEPas2jsParser);
|
||||||
|
end;
|
||||||
|
|
||||||
{ TPas2jsMsgFilePool }
|
{ TPas2jsMsgFilePool }
|
||||||
|
|
||||||
|
destructor TPas2jsMsgFilePool.Destroy;
|
||||||
|
begin
|
||||||
|
inherited Destroy;
|
||||||
|
if Pas2jsMsgFilePool=Self then
|
||||||
|
Pas2jsMsgFilePool:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
function TPas2jsMsgFilePool.LoadCurrentEnglishFile(UpdateFromDisk: boolean;
|
function TPas2jsMsgFilePool.LoadCurrentEnglishFile(UpdateFromDisk: boolean;
|
||||||
AThread: TThread): TFPCMsgFilePoolItem;
|
AThread: TThread): TFPCMsgFilePoolItem;
|
||||||
var
|
var
|
||||||
@ -100,7 +115,7 @@ end;
|
|||||||
|
|
||||||
class function TIDEPas2jsParser.MsgFilePool: TFPCMsgFilePool;
|
class function TIDEPas2jsParser.MsgFilePool: TFPCMsgFilePool;
|
||||||
begin
|
begin
|
||||||
Result:=inherited MsgFilePool;
|
Result:=Pas2jsMsgFilePool;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -295,7 +295,7 @@ begin
|
|||||||
MsgID:=0;
|
MsgID:=0;
|
||||||
Tool:=nil;
|
Tool:=nil;
|
||||||
if (Msg.Urgency>=mluError)
|
if (Msg.Urgency>=mluError)
|
||||||
or (Msg.SubTool<>SubToolFPC)
|
or ((Msg.SubTool<>SubToolFPC) and (Msg.SubTool<>SubToolPas2js))
|
||||||
or (Msg.MsgID=0)
|
or (Msg.MsgID=0)
|
||||||
then exit;
|
then exit;
|
||||||
MsgID:=Msg.MsgID;
|
MsgID:=Msg.MsgID;
|
||||||
@ -371,7 +371,8 @@ var
|
|||||||
Code: TCodeBuffer;
|
Code: TCodeBuffer;
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if (Msg=nil) or (Msg.SubTool<>SubToolFPC) or (Msg.MsgID<1)
|
if (Msg=nil) or (Msg.MsgID<1)
|
||||||
|
or ((Msg.SubTool<>SubToolFPC) and (Msg.SubTool<>SubToolPas2js))
|
||||||
or (not Msg.HasSourcePosition) then exit;
|
or (not Msg.HasSourcePosition) then exit;
|
||||||
|
|
||||||
// Check: Local variable "$1" does not seem to be initialized
|
// Check: Local variable "$1" does not seem to be initialized
|
||||||
@ -512,7 +513,7 @@ begin
|
|||||||
ToolData:=nil;
|
ToolData:=nil;
|
||||||
IDETool:=nil;
|
IDETool:=nil;
|
||||||
if (Msg.Urgency>=mluError)
|
if (Msg.Urgency>=mluError)
|
||||||
or (Msg.SubTool<>SubToolFPC)
|
or ((Msg.SubTool<>SubToolFPC) and (Msg.SubTool<>SubToolPas2js))
|
||||||
or (Msg.MsgID=0)
|
or (Msg.MsgID=0)
|
||||||
then exit;
|
then exit;
|
||||||
ToolData:=Msg.GetToolData;
|
ToolData:=Msg.GetToolData;
|
||||||
@ -578,7 +579,7 @@ begin
|
|||||||
CurMsg:=Msg.Lines[i];
|
CurMsg:=Msg.Lines[i];
|
||||||
if (CurMsg.MsgID<>Msg.MsgID)
|
if (CurMsg.MsgID<>Msg.MsgID)
|
||||||
or (CurMsg.Urgency>=mluError)
|
or (CurMsg.Urgency>=mluError)
|
||||||
or (CurMsg.SubTool<>SubToolFPC)
|
or ((CurMsg.SubTool<>SubToolFPC) and (CurMsg.SubTool<>SubToolPas2js))
|
||||||
then continue;
|
then continue;
|
||||||
CurMsg.MarkFixed;
|
CurMsg.MarkFixed;
|
||||||
end;
|
end;
|
||||||
@ -597,7 +598,10 @@ var
|
|||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
// Check: Local variable "$1" not used
|
// Check: Local variable "$1" not used
|
||||||
if not TIDEFPCParser.MsgLineIsId(Msg,5025,Identifier,Dummy) then
|
if IDEFPCParser.MsgLineIsId(Msg,5025,Identifier,Dummy)
|
||||||
|
or IDEPas2jsParser.MsgLineIsId(Msg,5025,Identifier,Dummy) then
|
||||||
|
// ok
|
||||||
|
else
|
||||||
exit;
|
exit;
|
||||||
if not Msg.HasSourcePosition or not IsValidIdent(Identifier) then exit;
|
if not Msg.HasSourcePosition or not IsValidIdent(Identifier) then exit;
|
||||||
|
|
||||||
@ -676,10 +680,12 @@ var
|
|||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if (not Msg.HasSourcePosition) then exit;
|
if (not Msg.HasSourcePosition) then exit;
|
||||||
if IDEFPCParser.MsgLineIsId(Msg,4046,aClassname,Dummy) then begin
|
if IDEFPCParser.MsgLineIsId(Msg,4046,aClassname,Dummy)
|
||||||
|
or IDEPas2jsParser.MsgLineIsId(Msg,4046,aClassname,Dummy) then begin
|
||||||
// Constructing a class "$1" with abstract method "$2"
|
// Constructing a class "$1" with abstract method "$2"
|
||||||
Result:=true;
|
Result:=true;
|
||||||
end else if IDEFPCParser.MsgLineIsId(Msg,5042,MissingMethod,Dummy) then begin
|
end else if IDEFPCParser.MsgLineIsId(Msg,5042,MissingMethod,Dummy)
|
||||||
|
or IDEFPCParser.MsgLineIsId(Msg,5042,MissingMethod,Dummy) then begin
|
||||||
// No matching implementation for interface method "$1" found
|
// No matching implementation for interface method "$1" found
|
||||||
// The position is on the 'class' keyword
|
// The position is on the 'class' keyword
|
||||||
// The MissingMethod is 'interfacename.procname'
|
// The MissingMethod is 'interfacename.procname'
|
||||||
@ -765,12 +771,23 @@ function TQuickFixUnitNotFound_Remove.IsApplicable(Msg: TMessageLine; out
|
|||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if Msg=nil then exit;
|
if Msg=nil then exit;
|
||||||
if (Msg.SubTool<>SubToolFPC)
|
if (Msg.SubTool=SubToolFPC) then begin
|
||||||
or (not Msg.HasSourcePosition)
|
if Msg.HasSourcePosition
|
||||||
or ((Msg.MsgID<>5023) // Unit "$1" not used in $2
|
and ((Msg.MsgID=5023) // Unit "$1" not used in $2
|
||||||
and (Msg.MsgID<>FPCMsgIDCantFindUnitUsedBy) // Can't find unit $1 used by $2
|
or (Msg.MsgID=FPCMsgIDCantFindUnitUsedBy) // Can't find unit $1 used by $2
|
||||||
and (Msg.MsgID<>10023)) // Unit $1 was not found but $2 exists
|
or (Msg.MsgID=10023)) // Unit $1 was not found but $2 exists
|
||||||
then exit;
|
then
|
||||||
|
// ok
|
||||||
|
else exit;
|
||||||
|
end else if (Msg.SubTool=SubToolPas2js) then begin
|
||||||
|
if Msg.HasSourcePosition
|
||||||
|
and ((Msg.MsgID=5023) // Unit "$1" not used in $2
|
||||||
|
or (Msg.MsgID=3073)) // Can't find unit $1
|
||||||
|
then
|
||||||
|
// ok
|
||||||
|
else exit;
|
||||||
|
end else
|
||||||
|
exit;
|
||||||
|
|
||||||
MissingUnitName:=Msg.Attribute[FPCMsgAttrMissingUnit];
|
MissingUnitName:=Msg.Attribute[FPCMsgAttrMissingUnit];
|
||||||
UsedByUnit:=Msg.Attribute[FPCMsgAttrUsedByUnit];
|
UsedByUnit:=Msg.Attribute[FPCMsgAttrUsedByUnit];
|
||||||
@ -849,7 +866,10 @@ begin
|
|||||||
Result:=false;
|
Result:=false;
|
||||||
Identifier:='';
|
Identifier:='';
|
||||||
// check: identifier not found "$1"
|
// check: identifier not found "$1"
|
||||||
if not IDEFPCParser.MsgLineIsId(Msg,5000,Identifier,Dummy) then
|
if IDEFPCParser.MsgLineIsId(Msg,5000,Identifier,Dummy)
|
||||||
|
or IDEPas2jsParser.MsgLineIsId(Msg,3001,Identifier,Dummy) then
|
||||||
|
// ok
|
||||||
|
else
|
||||||
exit;
|
exit;
|
||||||
if not Msg.HasSourcePosition or not IsValidIdent(Identifier) then exit;
|
if not Msg.HasSourcePosition or not IsValidIdent(Identifier) then exit;
|
||||||
|
|
||||||
@ -997,7 +1017,7 @@ function TQuickFix_HideWithIDEDirective.IsApplicable(Msg: TMessageLine): boolean
|
|||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if (Msg.Urgency>=mluError)
|
if (Msg.Urgency>=mluError)
|
||||||
or (Msg.SubTool<>SubToolFPC)
|
or ((Msg.SubTool<>SubToolFPC) and (Msg.SubTool<>SubToolPas2js))
|
||||||
or (not Msg.HasSourcePosition)
|
or (not Msg.HasSourcePosition)
|
||||||
or (mlfHiddenByIDEDirective in Msg.Flags)
|
or (mlfHiddenByIDEDirective in Msg.Flags)
|
||||||
then exit;
|
then exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user