mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 02:49:21 +02:00
pastojs: fixed parsing multi line comment
This commit is contained in:
parent
03d7518b9b
commit
20ac72e7aa
@ -1389,7 +1389,7 @@ begin
|
|||||||
p^.TokenPos:=Scanner.CurTokenPos;
|
p^.TokenPos:=Scanner.CurTokenPos;
|
||||||
P^.IsEscaped:=Scanner.CurTokenEscaped;
|
P^.IsEscaped:=Scanner.CurTokenEscaped;
|
||||||
end;
|
end;
|
||||||
//writeln('TPasParser.NextToken END Start=',FTokenRingStart,' Cur=',FTokenRingCur,' End=',FTokenRingEnd,' Cur=',CurTokenString);
|
//writeln('TPasParser.NextToken END Start=',FTokenRingStart,' Cur=',FTokenRingCur,' End=',FTokenRingEnd,' Cur="',CurTokenString,'"');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasParser.ChangeToken(tk: TToken);
|
procedure TPasParser.ChangeToken(tk: TToken);
|
||||||
|
@ -5481,6 +5481,9 @@ begin
|
|||||||
{$ifdef UsePChar}
|
{$ifdef UsePChar}
|
||||||
LE:=LineEnding;
|
LE:=LineEnding;
|
||||||
OldLength := 0;
|
OldLength := 0;
|
||||||
|
{$else}
|
||||||
|
s:=FCurLine;
|
||||||
|
l:=length(FCurLine);
|
||||||
{$endif}
|
{$endif}
|
||||||
NestingLevel := 0;
|
NestingLevel := 0;
|
||||||
repeat
|
repeat
|
||||||
@ -5536,7 +5539,7 @@ begin
|
|||||||
{$endif}
|
{$endif}
|
||||||
Inc(FTokenPos);
|
Inc(FTokenPos);
|
||||||
Result := tkComment;
|
Result := tkComment;
|
||||||
if (Copy(CurTokenString,1,1)='$') then
|
if (length(CurTokenString)>0) and (CurTokenString[1]='$') then
|
||||||
Result:=HandleDirective(CurTokenString)
|
Result:=HandleDirective(CurTokenString)
|
||||||
else
|
else
|
||||||
DoHandleComment(Self, CurTokenString)
|
DoHandleComment(Self, CurTokenString)
|
||||||
@ -5547,7 +5550,7 @@ function TPascalScanner.DoFetchToken: TToken;
|
|||||||
var
|
var
|
||||||
TokenStart: {$ifdef UsePChar}PAnsiChar{$else}integer{$endif};
|
TokenStart: {$ifdef UsePChar}PAnsiChar{$else}integer{$endif};
|
||||||
i: TToken;
|
i: TToken;
|
||||||
QuoteLen,SectionLength, Index: Integer;
|
QuoteLen, SectionLength, Index: Integer;
|
||||||
{$ifdef UsePChar}
|
{$ifdef UsePChar}
|
||||||
//
|
//
|
||||||
{$else}
|
{$else}
|
||||||
@ -5580,7 +5583,6 @@ var
|
|||||||
Function IsDelphiMultiLine (out QuoteLen : integer): Boolean;
|
Function IsDelphiMultiLine (out QuoteLen : integer): Boolean;
|
||||||
var
|
var
|
||||||
P : PAnsiChar;
|
P : PAnsiChar;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
P:=FTokenPos;
|
P:=FTokenPos;
|
||||||
QuoteLen:=0;
|
QuoteLen:=0;
|
||||||
@ -5595,10 +5597,8 @@ var
|
|||||||
end;
|
end;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Function IsDelphiMultiLine(out Quotelen : integer) : Boolean;
|
Function IsDelphiMultiLine(out Quotelen : integer) : Boolean;
|
||||||
|
|
||||||
var
|
var
|
||||||
P : Integer;
|
P : Integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
P:=FTokenPos;
|
P:=FTokenPos;
|
||||||
QuoteLen:=0;
|
QuoteLen:=0;
|
||||||
@ -5623,6 +5623,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
Result := tkEOF;
|
Result := tkEOF;
|
||||||
FCurToken := Result;
|
FCurToken := Result;
|
||||||
|
FCurTokenString := '';
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
FCurTokenString := '';
|
FCurTokenString := '';
|
||||||
@ -5676,7 +5677,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
'#':
|
'#':
|
||||||
Result:=DoFetchTextToken;
|
Result:=DoFetchTextToken;
|
||||||
#39:
|
'''':
|
||||||
if (msDelphiMultiLineStrings in CurrentModeSwitches) and IsDelphiMultiLine(Quotelen) then
|
if (msDelphiMultiLineStrings in CurrentModeSwitches) and IsDelphiMultiLine(Quotelen) then
|
||||||
Result:=DoFetchDelphiMultiLineTextToken(Quotelen)
|
Result:=DoFetchDelphiMultiLineTextToken(Quotelen)
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user