|
@@ -542,6 +542,7 @@ type
|
|
Procedure TestProcType_Property;
|
|
Procedure TestProcType_Property;
|
|
Procedure TestProcType_PropertyCallWrongArgFail;
|
|
Procedure TestProcType_PropertyCallWrongArgFail;
|
|
Procedure TestProcType_Typecast;
|
|
Procedure TestProcType_Typecast;
|
|
|
|
+ Procedure TestProcType_InsideFunction;
|
|
|
|
|
|
// pointer
|
|
// pointer
|
|
Procedure TestPointer;
|
|
Procedure TestPointer;
|
|
@@ -8894,6 +8895,22 @@ begin
|
|
ParseProgram;
|
|
ParseProgram;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TTestResolver.TestProcType_InsideFunction;
|
|
|
|
+begin
|
|
|
|
+ StartProgram(false);
|
|
|
|
+ Add([
|
|
|
|
+ 'function GetIt: longint;',
|
|
|
|
+ 'type TGetter = function: longint;',
|
|
|
|
+ 'var',
|
|
|
|
+ ' p: Pointer;',
|
|
|
|
+ 'begin',
|
|
|
|
+ ' Result:=TGetter(p)();',
|
|
|
|
+ 'end;',
|
|
|
|
+ 'begin',
|
|
|
|
+ '']);
|
|
|
|
+ ParseProgram;
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TTestResolver.TestPointer;
|
|
procedure TTestResolver.TestPointer;
|
|
begin
|
|
begin
|
|
StartProgram(false);
|
|
StartProgram(false);
|