|
@@ -70,7 +70,6 @@ class Serializer {
|
|
|
|
|
|
var buf : StringBuf;
|
|
|
var cache : Array<Dynamic>;
|
|
|
- var indices : haxe.ds.ObjectMap<Dynamic, Int>;
|
|
|
var shash : haxe.ds.StringMap<Int>;
|
|
|
var scount : Int;
|
|
|
|
|
@@ -101,7 +100,6 @@ class Serializer {
|
|
|
public function new() {
|
|
|
buf = new StringBuf();
|
|
|
cache = new Array();
|
|
|
- indices = new haxe.ds.ObjectMap<Dynamic, Int>();
|
|
|
useCache = USE_CACHE;
|
|
|
useEnumIndex = USE_ENUM_INDEX;
|
|
|
shash = new haxe.ds.StringMap();
|
|
@@ -173,9 +171,14 @@ class Serializer {
|
|
|
function serializeRef(v) {
|
|
|
#if js
|
|
|
var vt = untyped __js__("typeof")(v);
|
|
|
+ #end
|
|
|
for( i in 0...cache.length ) {
|
|
|
+ #if js
|
|
|
var ci = cache[i];
|
|
|
if( untyped __js__("typeof")(ci) == vt && ci == v ) {
|
|
|
+ #else
|
|
|
+ if( cache[i] == v ) {
|
|
|
+ #end
|
|
|
buf.add("r");
|
|
|
buf.add(i);
|
|
|
return true;
|
|
@@ -183,17 +186,6 @@ class Serializer {
|
|
|
}
|
|
|
cache.push(v);
|
|
|
return false;
|
|
|
- #else
|
|
|
- var i:Null<Int> = indices.get(v);
|
|
|
- if(i == null) {
|
|
|
- indices.set(v, cache.length);
|
|
|
- cache.push(v);
|
|
|
- return false;
|
|
|
- }
|
|
|
- buf.add("r");
|
|
|
- buf.add(i);
|
|
|
- return true;
|
|
|
- #end
|
|
|
}
|
|
|
|
|
|
#if flash
|