jcf2: Support type helpers. Issue #32267, patch from delfion.

git-svn-id: trunk@55791 -
This commit is contained in:
juha 2017-09-06 16:20:13 +00:00
parent e6cc12dc01
commit f0c3017757

View File

@ -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