with Ada.Strings.Wide_Unbounded; use Ada.Strings.Wide_Unbounded;
package Java.Lang.String is
pragma Preelaborate;
type Typ;
type Ref is access all Typ'Class;
type Typ is tagged null record;
type String_Access is access all Standard.String;
function "+" (S : Ref) return String_Access;
-- function "+" (S : Standard.String) return Ref;
function "+" (S : Standard.Wide_String) return Ref;
function WS2JS (S : Standard.Wide_String) return Ref;
function "+" (S1, S2 : Ref) return Ref;
function "+" (S1 : Standard.Wide_String; S2 : Ref) return Ref;
function "+" (S1 : Ref; S2 : Standard.Wide_String) return Ref;
function "+" (S1 : Standard.String; S2 : Ref) return Ref;
function "+" (S1 : Ref; S2 : Standard.String) return Ref;
end Java.Lang.String;