Jelajahi Sumber

fcl-passrc: resolver: allow constref

git-svn-id: trunk@43688 -
Mattias Gaertner 5 tahun lalu
induk
melakukan
200c3b9390

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

@@ -8364,7 +8364,7 @@ procedure TPasResolver.FinishArgument(El: TPasArgument);
 var
   IsDelphi: Boolean;
 begin
-  if not (El.Access in [argDefault,argConst,argVar,argOut]) then
+  if not (El.Access in [argDefault,argConst,argVar,argOut,argConstRef]) then
     RaiseMsg(20191018235644,nNotYetImplemented,sNotYetImplemented,[AccessDescriptions[El.Access]],El);
   if El.ArgType<>nil then
     CheckUseAsType(El.ArgType,20190123100049,El);

+ 8 - 7
packages/fcl-passrc/tests/tcresolver.pas

@@ -383,7 +383,7 @@ type
     // procs
     Procedure TestProcParam;
     Procedure TestProcParamAccess;
-    Procedure TestProcParamConstRefFail;
+    Procedure TestProcParamConstRef;
     Procedure TestFunctionResult;
     Procedure TestProcedureResultFail;
     Procedure TestProc_ArgVarPrecisionLossFail;
@@ -6129,14 +6129,15 @@ begin
   ParseProgram;
 end;
 
-procedure TTestResolver.TestProcParamConstRefFail;
+procedure TTestResolver.TestProcParamConstRef;
 begin
   StartProgram(false);
-  Add('procedure Run(constref a: word);');
-  Add('begin');
-  Add('end;');
-  Add('begin');
-  CheckResolverException('not yet implemented: constref',nNotYetImplemented);
+  Add([
+  'procedure Run(constref a: word);',
+  'begin',
+  'end;',
+  'begin']);
+  ParseProgram;
 end;
 
 procedure TTestResolver.TestFunctionResult;