mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-21 05:18:32 +02:00

in a single statement, to be added later) o the unicodestrings are internally simply java.lang.String instances o at the language level, the unicodestrings are assignment-compatible with java.lang.String o constant strings can be implicitly converted to java.lang.String o since java.lang.String is immutable, in particular changing a single character in a string is extremely inefficient. This could be solved by letting unicodestring map to java.lang.StringBuilder, but that would make integration with plain Java code harder git-svn-id: branches/jvmbackend@18470 -
70 lines
2.2 KiB
PHP
70 lines
2.2 KiB
PHP
{
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 2011 by Jonas Maebe
|
|
member of the Free Pascal development team
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
procedure fpc_initialize_array_jstring_intern(arr: TJObjectArray; normalarrdim: longint); external name 'fpc_initialize_array_unicodestring';
|
|
|
|
procedure fpc_initialize_array_unicodestring(arr: TJObjectArray; normalarrdim: longint);compilerproc;
|
|
var
|
|
i: longint;
|
|
begin
|
|
if normalarrdim > 0 then
|
|
begin
|
|
for i:=low(arr) to high(arr) do
|
|
fpc_initialize_array_jstring_intern(TJObjectArray(arr[i]),normalarrdim-1);
|
|
end
|
|
else
|
|
begin
|
|
for i:=low(arr) to high(arr) do
|
|
unicodestring(arr[i]):='';
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure fpc_initialize_array_dynarr_intern(arr: TJObjectArray; normalarrdim: longint); external name 'fpc_initialize_array_dynarr';
|
|
|
|
procedure fpc_initialize_array_dynarr(arr: TJObjectArray; normalarrdim: longint);compilerproc;
|
|
var
|
|
i: longint;
|
|
begin
|
|
if normalarrdim > 0 then
|
|
begin
|
|
for i:=low(arr) to high(arr) do
|
|
fpc_initialize_array_dynarr_intern(TJObjectArray(arr[i]),normalarrdim-1);
|
|
end
|
|
else
|
|
begin
|
|
for i:=low(arr) to high(arr) do
|
|
arr[i]:=nil;
|
|
end;
|
|
end;
|
|
|
|
procedure fpc_initialize_array_record_intern(arr: TJObjectArray; normalarrdim: longint; inst: FpcBaseRecordType); external name 'fpc_initialize_array_record';
|
|
|
|
procedure fpc_initialize_array_record(arr: TJObjectArray; normalarrdim: longint; inst: FpcBaseRecordType);compilerproc;
|
|
var
|
|
i: longint;
|
|
begin
|
|
if normalarrdim > 0 then
|
|
begin
|
|
for i:=low(arr) to high(arr) do
|
|
fpc_initialize_array_record_intern(TJObjectArray(arr[i]),normalarrdim-1,inst);
|
|
end
|
|
else
|
|
begin
|
|
for i:=low(arr) to high(arr) do
|
|
arr[i]:=inst.clone;
|
|
end;
|
|
end;
|
|
|