Browse Source

fcl-passrc: fixed compile with pas2js, nicer error msg

mattias 2 weeks ago
parent
commit
33c39147cd
2 changed files with 17 additions and 3 deletions
  1. 2 2
      packages/fcl-passrc/src/pasresolver.pp
  2. 15 1
      packages/fcl-passrc/src/pscanner.pp

+ 2 - 2
packages/fcl-passrc/src/pasresolver.pp

@@ -5910,8 +5910,8 @@ begin
     begin
     CurrentParser.NextToken;
     if CurrentParser.Scanner.CurToken<>tkEOF then
-      LogMsg(20180628131456,mtHint,nTextAfterFinalIgnored,sTextAfterFinalIgnored,
-        [],nil);
+      LogMsg(20180628131456,mtHint,nTextAfterFinalIgnored,sTextAfterFinalIgnored+' '+CurrentParser.Scanner.FormatCurrentSrcPos,
+        [],CurModule);
     end;
   {$IFDEF VerbosePasResolver}
   writeln('TPasResolver.FinishModule END ',CurModule.Name);

+ 15 - 1
packages/fcl-passrc/src/pscanner.pp

@@ -39,7 +39,6 @@ uses
   {$IFDEF NODEJS}
   Node.FS,
   {$ENDIF}
-  Types,
   {$endif}
   SysUtils, Classes, Types;
 {$ENDIF FPC_DOTTEDUNITS}
@@ -946,6 +945,8 @@ type
     procedure OpenFile(AFilename: TPasScannerString);
     procedure FinishedModule; virtual; // called by parser after end.
     function FormatPath(const aFilename: String): String; virtual;
+    function FormatSrcPos(const p: TPasSourcePos): String;
+    function FormatCurrentSrcPos: String;
     procedure DisablePackageTokens;
     procedure SetNonToken(aToken : TToken);
     procedure UnsetNonToken(aToken : TToken);
@@ -3539,6 +3540,19 @@ begin
     Result:=aFilename;
 end;
 
+function TPascalScanner.FormatSrcPos(const p: TPasSourcePos): String;
+begin
+  Result:=FormatPath(p.FileName)+'('+IntToStr(p.Row);
+  if p.Column>0 then
+    Result+=','+IntToStr(p.Column);
+  Result+=')';
+end;
+
+function TPascalScanner.FormatCurrentSrcPos: String;
+begin
+  Result:=FormatSrcPos(CurSourcePos);
+end;
+
 procedure TPascalScanner.DisablePackageTokens;
 begin
   FNonTokens:=FNonTokens+[tkContains,tkPackage,tkrequires];