Pārlūkot izejas kodu

[eval] restore haxe.Utf8 implementation

Aleksandr Kuzmenko 6 gadi atpakaļ
vecāks
revīzija
f0764f209c
2 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  1. 1 0
      src/macro/eval/evalHash.ml
  2. 5 0
      src/macro/eval/evalStdLib.ml

+ 1 - 0
src/macro/eval/evalHash.ml

@@ -49,6 +49,7 @@ let key_haxe_ds_ObjectMap = hash "haxe.ds.ObjectMap"
 let key_haxe_macro_Position = hash "haxe.macro.Position"
 let key_haxe_macro_LazyType = hash "haxe.macro.LazyType"
 let key_haxe_macro_TypeDecl = hash "haxe.macro.TypeDecl"
+let key_haxe_Utf8 = hash "haxe.Utf8"
 let key_haxe_macro_Ref = hash "haxe.macro.Ref"
 let key_haxe_io_Error = hash "haxe.io.Error"
 let key_haxe_io_Bytes = hash "haxe.io.Bytes"

+ 5 - 0
src/macro/eval/evalStdLib.ml

@@ -3114,6 +3114,11 @@ let init_constructors builtins =
 			| _ -> assert false
 		);
 	add key_StringBuf (fun _ -> encode_instance key_StringBuf ~kind:(IBuffer (VStringBuffer.create())));
+	add key_haxe_Utf8
+		(fun vl -> match vl with
+			| [size] -> encode_instance key_haxe_Utf8 ~kind:(IUtf8 (UTF8.Buf.create (default_int size 0)))
+			| _ -> assert false
+		);
 	add key_haxe_ds_StringMap (fun _ -> encode_string_map_direct (StringHashtbl.create ()));
 	add key_haxe_ds_IntMap (fun _ -> encode_int_map_direct (IntHashtbl.create ()));
 	add key_haxe_ds_ObjectMap (fun _ -> encode_object_map_direct (Obj.magic (ValueHashtbl.create 0)));