tb0609.pp 754 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. { %norun }
  2. {$mode objfpc}{$h+}
  3. {$implicitexceptions off}
  4. { Test compilation of leaf function with managed parameter/local and implicit exceptions disabled. }
  5. type
  6. TCodeTreeNodeDesc = word;
  7. TCodeTreeNode = class
  8. Parent: TCodeTreeNode;
  9. Desc: TCodeTreeNodeDesc;
  10. function GetNodeOfTypes(Descriptors: array of TCodeTreeNodeDesc): TCodeTreeNode;
  11. end;
  12. function TCodeTreeNode.GetNodeOfTypes(Descriptors: array of TCodeTreeNodeDesc
  13. ): TCodeTreeNode;
  14. var
  15. i: Integer;
  16. begin
  17. Result:=Self;
  18. while (Result<>nil) do begin
  19. for i:=Low(Descriptors) to High(Descriptors) do
  20. if Result.Desc=Descriptors[i] then exit;
  21. Result:=Result.Parent;
  22. end;
  23. end;
  24. procedure test;
  25. var
  26. s: string;
  27. begin
  28. pointer(s):=nil;
  29. end;
  30. begin
  31. end.