Browse Source

[eval] fix NativeString @:op methods

Aleksandr Kuzmenko 4 years ago
parent
commit
6a495da397
2 changed files with 7 additions and 3 deletions
  1. 7 0
      src/macro/eval/evalStdLib.ml
  2. 0 3
      std/eval/NativeString.hx

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

@@ -3104,6 +3104,12 @@ module StdNativeString = struct
 		let s = decode_native_string v in
 		encode_bytes (Bytes.of_string s)
 	)
+
+	let concat = vfun2 (fun v1 v2 ->
+		let s1 = decode_native_string v1
+		and s2 = decode_native_string v2 in
+		vnative_string (s1 ^ s2)
+	)
 end
 
 let init_fields builtins path static_fields instance_fields =
@@ -3713,6 +3719,7 @@ let init_standard_library builtins =
 		"fromString",StdNativeString.from_string;
 		"toBytes",StdNativeString.to_bytes;
 		"toString",StdNativeString.to_string;
+		"concat",StdNativeString.concat;
 	] [];
 	init_fields builtins (["eval";"integers";"_UInt64"],"UInt64_Impl_") EvalIntegers.uint64_fields [];
 	init_fields builtins (["eval";"integers";"_Int64"],"Int64_Impl_") EvalIntegers.int64_fields [];

+ 0 - 3
std/eval/NativeString.hx

@@ -13,7 +13,4 @@ import haxe.io.Bytes;
 
 	@:op(A + B)
 	public function concat(s:NativeString):NativeString;
-
-	@:op(A == B)
-	public function equals(s:NativeString):Bool;
 }