rtti.inc 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2011 by Jonas Maebe
  4. member of the Free Pascal development team
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. procedure fpc_initialize_array_jstring_intern(arr: TJObjectArray; normalarrdim: longint); external name 'fpc_initialize_array_unicodestring';
  12. procedure fpc_initialize_array_unicodestring(arr: TJObjectArray; normalarrdim: longint);compilerproc;
  13. var
  14. i: longint;
  15. begin
  16. if normalarrdim > 0 then
  17. begin
  18. for i:=low(arr) to high(arr) do
  19. fpc_initialize_array_jstring_intern(TJObjectArray(arr[i]),normalarrdim-1);
  20. end
  21. else
  22. begin
  23. for i:=low(arr) to high(arr) do
  24. unicodestring(arr[i]):='';
  25. end;
  26. end;
  27. procedure fpc_initialize_array_ansistring_intern(arr: TJObjectArray; normalarrdim: longint); external name 'fpc_initialize_array_ansistring';
  28. procedure fpc_initialize_array_ansistring(arr: TJObjectArray; normalarrdim: longint);compilerproc;
  29. var
  30. i: longint;
  31. begin
  32. if normalarrdim > 0 then
  33. begin
  34. for i:=low(arr) to high(arr) do
  35. fpc_initialize_array_ansistring_intern(TJObjectArray(arr[i]),normalarrdim-1);
  36. end
  37. else
  38. begin
  39. for i:=low(arr) to high(arr) do
  40. ansistring(arr[i]):='';
  41. end;
  42. end;
  43. procedure fpc_initialize_array_dynarr_intern(arr: TJObjectArray; normalarrdim: longint); external name 'fpc_initialize_array_dynarr';
  44. procedure fpc_initialize_array_dynarr(arr: TJObjectArray; normalarrdim: longint);compilerproc;
  45. var
  46. i: longint;
  47. begin
  48. if normalarrdim > 0 then
  49. begin
  50. for i:=low(arr) to high(arr) do
  51. fpc_initialize_array_dynarr_intern(TJObjectArray(arr[i]),normalarrdim-1);
  52. end
  53. else
  54. begin
  55. for i:=low(arr) to high(arr) do
  56. arr[i]:=nil;
  57. end;
  58. end;
  59. procedure fpc_initialize_array_record_intern(arr: TJObjectArray; normalarrdim: longint; inst: FpcBaseRecordType); external name 'fpc_initialize_array_record';
  60. procedure fpc_initialize_array_record(arr: TJObjectArray; normalarrdim: longint; inst: FpcBaseRecordType);compilerproc;
  61. var
  62. i: longint;
  63. begin
  64. if normalarrdim > 0 then
  65. begin
  66. for i:=low(arr) to high(arr) do
  67. fpc_initialize_array_record_intern(TJObjectArray(arr[i]),normalarrdim-1,inst);
  68. end
  69. else
  70. begin
  71. for i:=low(arr) to high(arr) do
  72. arr[i]:=inst.clone;
  73. end;
  74. end;