Răsfoiți Sursa

[cpp] backport gencpp.ml from 4.0

Simon Krajewski 6 ani în urmă
părinte
comite
bede4f4464

Fișier diff suprimat deoarece este prea mare
+ 262 - 156
src/generators/gencpp.ml


+ 34 - 17
std/cpp/_std/haxe/ds/IntMap.hx

@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2005-2017 Haxe Foundation
+ * Copyright (C)2005-2019 Haxe Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -22,28 +22,33 @@
 package haxe.ds;
 
 @:headerClassCode("
-  inline void set(int key, ::null value) { __int_hash_set(h,key,value); }
-  inline void set(int key, bool value) { __int_hash_set(h,key,value); }
-  inline void set(int key, char value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, unsigned char value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, signed char value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, short value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, unsigned short value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, int value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, unsigned int value) { __int_hash_set_int(h,key,value); }
-  inline void set(int key, float value) { __int_hash_set_float(h,key,value); }
-  inline void set(int key, double value) { __int_hash_set_float(h,key,value); }
-  inline void set(int key, ::String value) { __int_hash_set_string(h,key,value); }
+  inline void set(int key, ::null value) { __int_hash_set(HX_MAP_THIS,key,value); }
+  inline void set(int key, bool value) { __int_hash_set(HX_MAP_THIS,key,value); }
+  inline void set(int key, char value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, unsigned char value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, signed char value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, short value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, unsigned short value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, int value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, unsigned int value) { __int_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(int key, float value) { __int_hash_set_float(HX_MAP_THIS,key,value); }
+  inline void set(int key, double value) { __int_hash_set_float(HX_MAP_THIS,key,value); }
+  inline void set(int key, ::String value) { __int_hash_set_string(HX_MAP_THIS,key,value); }
 
   template<typename V, typename H>
-  inline void set(int key, const ::cpp::Struct<V,H> &value) {__int_hash_set(h,key,value); }
+  inline void set(int key, const ::cpp::Struct<V,H> &value) {__int_hash_set(HX_MAP_THIS,key,value); }
   template<typename F>
-  inline void set(int key, const ::cpp::Function<F> &value) {__int_hash_set(h,key,value); }
+  inline void set(int key, const ::cpp::Function<F> &value) {__int_hash_set(HX_MAP_THIS,key,value); }
   template<typename V>
-  inline void set(int key, const ::cpp::Pointer<V> &value) {__int_hash_set(h,key,(Dynamic)value ); }
+  inline void set(int key, const ::cpp::Pointer<V> &value) {__int_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
 
   template<typename VALUE>
   inline void set(Dynamic &key, const VALUE &value) { set( (int)key, value ); }
+
+  inline bool get_bool(int key) { return __int_hash_get_bool(h,key); }
+  inline int get_int(int key) { return __int_hash_get_int(h,key); }
+  inline Float get_float(int key) { return __int_hash_get_float(h,key); }
+  inline String get_string(int key) { return __int_hash_get_string(h,key); }
 ")
 @:coreApi class IntMap<T> implements haxe.Constraints.IMap<Int,T> {
 
@@ -53,7 +58,7 @@ package haxe.ds;
 	public function new() : Void { }
 
 	public function set( key : Int, value : T ) : Void {
-		untyped __global__.__int_hash_set(h,key,value);
+		untyped __global__.__int_hash_set(__cpp__("HX_MAP_THIS"),key,value);
 	}
 
 	public function get( key : Int ) : Null<T> {
@@ -81,4 +86,16 @@ package haxe.ds;
 	public function toString() : String {
 		return untyped __global__.__int_hash_to_string(h);
 	}
+
+   #if (scriptable)
+   private function setString(key:Int,val:String) : Void { untyped __int_hash_set_string(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setInt(key:Int,val:Int) : Void { untyped __int_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setBool(key:Int,val:Bool) : Void { untyped __int_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setFloat(key:Int,val:Float) : Void { untyped __int_hash_set_float(__cpp__("HX_MAP_THIS"),key,val); }
+
+   private function getString(key:Int) : String { return untyped __int_hash_get_string(h,key); }
+   private function getInt(key:Int) : Int { return untyped __int_hash_get_int(h,key); }
+   private function getBool(key:Int) : Bool { return untyped __int_hash_get_bool(h,key); }
+   private function getFloat(key:Int) : Float { return untyped __int_hash_get_float(h,key); }
+   #end
 }

+ 34 - 17
std/cpp/_std/haxe/ds/ObjectMap.hx

@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2005-2017 Haxe Foundation
+ * Copyright (C)2005-2019 Haxe Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -22,26 +22,31 @@
 package haxe.ds;
 
 @:headerClassCode("
-  inline void set(Dynamic key, ::null value) { __object_hash_set(h,key,value); }
-  inline void set(Dynamic key, bool value) { __object_hash_set(h,key,value); }
-  inline void set(Dynamic key, char value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, unsigned char value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, signed char value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, short value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, unsigned short value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, int value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, unsigned int value) { __object_hash_set_int(h,key,value); }
-  inline void set(Dynamic key, float value) { __object_hash_set_float(h,key,value); }
-  inline void set(Dynamic key, double value) { __object_hash_set_float(h,key,value); }
-  inline void set(Dynamic key, ::String value) { __object_hash_set_string(h,key,value); }
+  inline void set(Dynamic key, ::null value) { __object_hash_set(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, bool value) { __object_hash_set(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, char value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, unsigned char value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, signed char value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, short value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, unsigned short value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, int value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, unsigned int value) { __object_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, float value) { __object_hash_set_float(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, double value) { __object_hash_set_float(HX_MAP_THIS,key,value); }
+  inline void set(Dynamic key, ::String value) { __object_hash_set_string(HX_MAP_THIS,key,value); }
 
 
   template<typename V, typename H>
-  inline void set(Dynamic key, const ::cpp::Struct<V,H> &value) {__object_hash_set(h,key,value); }
+  inline void set(Dynamic key, const ::cpp::Struct<V,H> &value) {__object_hash_set(HX_MAP_THIS,key,value); }
   template<typename V>
-  inline void set(Dynamic key, const ::cpp::Function<V> &value) {__object_hash_set(h,key,(Dynamic)value ); }
+  inline void set(Dynamic key, const ::cpp::Function<V> &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
   template<typename V>
-  inline void set(Dynamic key, const ::cpp::Pointer<V> &value) {__object_hash_set(h,key,(Dynamic)value ); }
+  inline void set(Dynamic key, const ::cpp::Pointer<V> &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
+
+  inline bool get_bool(Dynamic key) { return __object_hash_get_bool(h,key); }
+  inline int get_int(Dynamic key) { return __object_hash_get_int(h,key); }
+  inline Float get_float(Dynamic key) { return __object_hash_get_float(h,key); }
+  inline String get_string(Dynamic key) { return __object_hash_get_string(h,key); }
 
 ")
 @:coreApi
@@ -52,7 +57,7 @@ class ObjectMap<K:{},V> implements haxe.Constraints.IMap<K,V> {
 	public function new() : Void { }
 
 	public function set( key : K, value : V ) : Void {
-		untyped __global__.__object_hash_set(h,key,value);
+		untyped __global__.__object_hash_set(__cpp__("HX_MAP_THIS"),key,value);
 	}
 
 	public function get( key : K ) : Null<V> {
@@ -80,4 +85,16 @@ class ObjectMap<K:{},V> implements haxe.Constraints.IMap<K,V> {
 	public function toString() : String {
 		return untyped __global__.__object_hash_to_string(h);
 	}
+
+   #if (scriptable)
+   private function setString(key:Dynamic,val:String) : Void { untyped __object_hash_set_string(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setInt(key:Dynamic,val:Int) : Void { untyped __object_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setBool(key:Dynamic,val:Bool) : Void { untyped __object_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setFloat(key:Dynamic,val:Float) : Void { untyped __object_hash_set_float(__cpp__("HX_MAP_THIS"),key,val); }
+
+   private function getString(key:Dynamic) : String { return untyped __object_hash_get_string(h,key); }
+   private function getInt(key:Dynamic) : Int { return untyped __object_hash_get_int(h,key); }
+   private function getBool(key:Dynamic) : Bool { return untyped __object_hash_get_bool(h,key); }
+   private function getFloat(key:Dynamic) : Float { return untyped __object_hash_get_float(h,key); }
+   #end
 }

+ 34 - 17
std/cpp/_std/haxe/ds/StringMap.hx

@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2005-2017 Haxe Foundation
+ * Copyright (C)2005-2019 Haxe Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -22,28 +22,33 @@
 package haxe.ds;
 
 @:headerClassCode("
-  inline void set(String key, ::null value) { __string_hash_set(h,key,value); }
-  inline void set(String key, bool value) { __string_hash_set(h,key,value); }
-  inline void set(String key, char value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, unsigned char value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, signed char value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, short value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, unsigned short value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, int value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, unsigned int value) { __string_hash_set_int(h,key,value); }
-  inline void set(String key, float value) { __string_hash_set_float(h,key,value); }
-  inline void set(String key, double value) { __string_hash_set_float(h,key,value); }
-  inline void set(String key, ::String value) { __string_hash_set_string(h,key,value); }
+  inline void set(String key, ::null value) { __string_hash_set(HX_MAP_THIS,key,value); }
+  inline void set(String key, bool value) { __string_hash_set(HX_MAP_THIS,key,value); }
+  inline void set(String key, char value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, unsigned char value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, signed char value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, short value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, unsigned short value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, int value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, unsigned int value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
+  inline void set(String key, float value) { __string_hash_set_float(HX_MAP_THIS,key,value); }
+  inline void set(String key, double value) { __string_hash_set_float(HX_MAP_THIS,key,value); }
+  inline void set(String key, ::String value) { __string_hash_set_string(HX_MAP_THIS,key,value); }
 
   template<typename V, typename H>
-  inline void set(String key, const ::cpp::Struct<V,H> &value) {__string_hash_set(h,key,value); }
+  inline void set(String key, const ::cpp::Struct<V,H> &value) {__string_hash_set(HX_MAP_THIS,key,value); }
   template<typename V>
-  inline void set(String key, const ::cpp::Function<V> &value) {__string_hash_set(h,key,(Dynamic)value ); }
+  inline void set(String key, const ::cpp::Function<V> &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
   template<typename V>
-  inline void set(String key, const ::cpp::Pointer<V> &value) {__string_hash_set(h,key,(Dynamic)value ); }
+  inline void set(String key, const ::cpp::Pointer<V> &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
 
   template<typename VALUE>
   inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }
+
+  inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }
+  inline int get_int(String key) { return __string_hash_get_int(h,key); }
+  inline Float get_float(String key) { return __string_hash_get_float(h,key); }
+  inline String get_string(String key) { return __string_hash_get_string(h,key); }
 ")
 @:coreApi class StringMap<T> implements haxe.Constraints.IMap<String,T> {
 	@:ifFeature("haxe.ds.StringMap.*")
@@ -52,7 +57,7 @@ package haxe.ds;
 	public function new() : Void { }
 
 	public function set( key : String, value : T ) : Void {
-		untyped __global__.__string_hash_set(h,key,value);
+		untyped __global__.__string_hash_set(__cpp__("HX_MAP_THIS"),key,value);
 	}
 
 	public function get( key : String ) : Null<T> {
@@ -80,4 +85,16 @@ package haxe.ds;
 	public function toString() : String {
 		return untyped __global__.__string_hash_to_string(h);
 	}
+
+   #if (scriptable)
+   private function setString(key:String,val:String) : Void { untyped __string_hash_set_string(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setInt(key:String,val:Int) : Void { untyped __string_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setBool(key:String,val:Bool) : Void { untyped __string_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
+   private function setFloat(key:String,val:Float) : Void { untyped __string_hash_set_float(__cpp__("HX_MAP_THIS"),key,val); }
+
+   private function getString(key:String) : String { return untyped __string_hash_get_string(h,key); }
+   private function getInt(key:String) : Int { return untyped __string_hash_get_int(h,key); }
+   private function getBool(key:String) : Bool { return untyped __string_hash_get_bool(h,key); }
+   private function getFloat(key:String) : Float { return untyped __string_hash_get_float(h,key); }
+   #end
 }

+ 17 - 17
std/cpp/_std/haxe/ds/WeakMap.hx

@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2005-2017 Haxe Foundation
+ * Copyright (C)2005-2019 Haxe Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -22,25 +22,25 @@
 package haxe.ds;
 
 @:headerClassCode("
-  inline void set(Dynamic key, ::null value) { __object_hash_set(h,key,value,true); }
-  inline void set(Dynamic key, bool value) { __object_hash_set(h,key,value,true); }
-  inline void set(Dynamic key, char value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, unsigned char value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, signed char value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, short value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, unsigned short value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, int value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, unsigned int value) { __object_hash_set_int(h,key,value,true); }
-  inline void set(Dynamic key, float value) { __object_hash_set_float(h,key,value,true); }
-  inline void set(Dynamic key, double value) { __object_hash_set_float(h,key,value,true); }
-  inline void set(Dynamic key, ::String value) { __object_hash_set_string(h,key,value,true); }
+  inline void set(Dynamic key, ::null value) { __object_hash_set(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, bool value) { __object_hash_set(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, char value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, unsigned char value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, signed char value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, short value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, unsigned short value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, int value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, unsigned int value) { __object_hash_set_int(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, float value) { __object_hash_set_float(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, double value) { __object_hash_set_float(HX_MAP_THIS,key,value,true); }
+  inline void set(Dynamic key, ::String value) { __object_hash_set_string(HX_MAP_THIS,key,value,true); }
 
   template<typename V, typename H>
-  inline void set(Dynamic key, const ::cpp::Struct<V,H> &value) {__object_hash_set(h,key,value,true); }
+  inline void set(Dynamic key, const ::cpp::Struct<V,H> &value) {__object_hash_set(HX_MAP_THIS,key,value,true); }
   template<typename V>
-  inline void set(Dynamic key, const ::cpp::Pointer<V> &value) {__object_hash_set(h,key,(Dynamic)value,true ); }
+  inline void set(Dynamic key, const ::cpp::Pointer<V> &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value,true ); }
   template<typename V>
-  inline void set(Dynamic key, const ::cpp::Function<V> &value) {__object_hash_set(h,key,(Dynamic)value,true ); }
+  inline void set(Dynamic key, const ::cpp::Function<V> &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value,true ); }
 ")
 @:coreApi
 class WeakMap<K:{},V> implements haxe.Constraints.IMap<K,V> {
@@ -50,7 +50,7 @@ class WeakMap<K:{},V> implements haxe.Constraints.IMap<K,V> {
 	public function new() : Void { }
 
 	public function set( key : K, value : V ) : Void {
-		untyped __global__.__object_hash_set(h,key,value,true);
+		untyped __global__.__object_hash_set(__cpp__("HX_MAP_THIS"),key,value,true);
 	}
 
 	public function get( key : K ) : Null<V> {

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff