mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 06:38:06 +02:00
jcf2: Support type helpers. Issue #32267, patch from delfion.
git-svn-id: trunk@55791 -
This commit is contained in:
parent
e6cc12dc01
commit
f0c3017757
@ -63,6 +63,7 @@ type
|
||||
fcTokenList: TSourceTokenList;
|
||||
|
||||
fiTokenCount: integer;
|
||||
procedure RecogniseTypeHelper;
|
||||
procedure SplitGreaterThanOrEqual;
|
||||
|
||||
procedure RecogniseGoal;
|
||||
@ -1153,6 +1154,18 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TBuildParseTree.RecogniseTypeHelper;
|
||||
begin
|
||||
PushNode(nClassType);
|
||||
Recognise(ttType);
|
||||
Recognise(ttHelper);
|
||||
Recognise(ttFor);
|
||||
RecogniseIdentifier(False, idStrict);
|
||||
RecogniseClassBody;
|
||||
Recognise(ttEnd);
|
||||
PopNode;
|
||||
end;
|
||||
|
||||
procedure TBuildParseTree.RecogniseTypeDecl;
|
||||
begin
|
||||
{
|
||||
@ -1184,6 +1197,13 @@ begin
|
||||
|
||||
Recognise(ttEquals);
|
||||
|
||||
//Recognise type helper (for fpc)
|
||||
if (fcTokenList.FirstSolidTokenType = ttType) and
|
||||
(fcTokenList.SolidToken(2).TokenType=ttHelper) then
|
||||
begin
|
||||
RecogniseTypeHelper;
|
||||
end else
|
||||
|
||||
// type or restricted type
|
||||
if (fcTokenList.FirstSolidTokenType in [ttObject, ttClass, ttInterface,
|
||||
ttDispInterface]) then
|
||||
|
Loading…
Reference in New Issue
Block a user