浏览代码

fcl-passrc: scanner: fixed column starting at 1

git-svn-id: trunk@36670 -
Mattias Gaertner 8 年之前
父节点
当前提交
b5b58fd34c

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

@@ -3329,9 +3329,9 @@ end;
 function TPascalScanner.GetCurColumn: Integer;
 function TPascalScanner.GetCurColumn: Integer;
 begin
 begin
   If (TokenStr<>Nil) then
   If (TokenStr<>Nil) then
-    Result := TokenStr - PChar(CurLine)
+    Result := TokenStr - PChar(CurLine) + 1
   else
   else
-    Result := 0;
+    Result := 1;
 end;
 end;
 
 
 function TPascalScanner.OnCondEvalFunction(Sender: TCondDirectiveEvaluator;
 function TPascalScanner.OnCondEvalFunction(Sender: TCondDirectiveEvaluator;

+ 4 - 4
packages/fcl-passrc/tests/tcresolver.pas

@@ -1933,7 +1933,7 @@ begin
     //WriteSources(FileName,Row,Column);
     //WriteSources(FileName,Row,Column);
     AssertEquals('ResolverEngine.LastSourcePos.Filename','afile.pp',FileName);
     AssertEquals('ResolverEngine.LastSourcePos.Filename','afile.pp',FileName);
     AssertEquals('ResolverEngine.LastSourcePos.Row',4,Row);
     AssertEquals('ResolverEngine.LastSourcePos.Row',4,Row);
-    AssertEquals('ResolverEngine.LastSourcePos.Column',19,Column);
+    AssertEquals('ResolverEngine.LastSourcePos.Column',20,Column);
     end;
     end;
 end;
 end;
 
 
@@ -4143,7 +4143,7 @@ begin
   '  if unit1.j1=0 then ;',
   '  if unit1.j1=0 then ;',
   '  if unitdots.unit1.j1=0 then ;',
   '  if unitdots.unit1.j1=0 then ;',
   '']);
   '']);
-  CheckResolverException('Duplicate identifier "unitdots.unit1" at unitdots.main1.pas(2,13)',
+  CheckResolverException('Duplicate identifier "unitdots.unit1" at unitdots.main1.pas(2,14)',
     nDuplicateIdentifier);
     nDuplicateIdentifier);
 end;
 end;
 
 
@@ -4363,7 +4363,7 @@ begin
   'begin',
   'begin',
   '  DoIt(i);',
   '  DoIt(i);',
   '']);
   '']);
-  CheckResolverException('Can''t determine which overloaded function to call, afile.pp(3,14), afile.pp(2,14)',
+  CheckResolverException('Can''t determine which overloaded function to call, afile.pp(3,15), afile.pp(2,15)',
     nCantDetermineWhichOverloadedFunctionToCall);
     nCantDetermineWhichOverloadedFunctionToCall);
 end;
 end;
 
 
@@ -6681,7 +6681,7 @@ begin
   Add('    Some: longint;');
   Add('    Some: longint;');
   Add('  end;');
   Add('  end;');
   Add('begin');
   Add('begin');
-  CheckResolverException('Duplicate identifier "Some" at afile.pp(5,8)',nDuplicateIdentifier);
+  CheckResolverException('Duplicate identifier "Some" at afile.pp(5,9)',nDuplicateIdentifier);
 end;
 end;
 
 
 procedure TTestResolver.TestClass_ReintroducePrivateVar;
 procedure TTestResolver.TestClass_ReintroducePrivateVar;

+ 3 - 3
packages/pastojs/tests/tcmodules.pas

@@ -8011,7 +8011,7 @@ begin
   'end',
   'end',
   'begin',
   'begin',
   '']);
   '']);
-  SetExpectedPasResolverError('Duplicate identifier "Self" at test1.pp(5,23)',nDuplicateIdentifier);
+  SetExpectedPasResolverError('Duplicate identifier "Self" at test1.pp(5,24)',nDuplicateIdentifier);
   ConvertProgram;
   ConvertProgram;
 end;
 end;
 
 
@@ -8991,7 +8991,7 @@ begin
   Add('    Id: longint;');
   Add('    Id: longint;');
   Add('  end;');
   Add('  end;');
   Add('begin');
   Add('begin');
-  SetExpectedPasResolverError('Duplicate identifier "Id" at test1.pp(6,6)',nDuplicateIdentifier);
+  SetExpectedPasResolverError('Duplicate identifier "Id" at test1.pp(6,7)',nDuplicateIdentifier);
   ConvertProgram;
   ConvertProgram;
 end;
 end;
 
 
@@ -12742,7 +12742,7 @@ begin
   Add('    procedure Proc(Sender: tobject); virtual; abstract;');
   Add('    procedure Proc(Sender: tobject); virtual; abstract;');
   Add('  end;');
   Add('  end;');
   Add('begin');
   Add('begin');
-  SetExpectedPasResolverError('Duplicate identifier "Proc" at test1.pp(6,18)',
+  SetExpectedPasResolverError('Duplicate identifier "Proc" at test1.pp(6,19)',
     nDuplicateIdentifier);
     nDuplicateIdentifier);
   ConvertProgram;
   ConvertProgram;
 end;
 end;