diff --git a/hxbit/Serializer.hx b/hxbit/Serializer.hx index 91895e0..902817e 100644 --- a/hxbit/Serializer.hx +++ b/hxbit/Serializer.hx @@ -230,7 +230,11 @@ class Serializer { public inline function getArray(f:Void->T) : Array { var len = getInt(); if( len == 0 ) + #if hxbit_nullsafety + return []; + #else return null; + #end len--; var a = []; for( i in 0...len ) @@ -241,7 +245,11 @@ class Serializer { public inline function getVector(f:Void->T) : haxe.ds.Vector { var len = getInt(); if( len == 0 ) + #if hxbit_nullsafety + return new haxe.ds.Vector(0); + #else return null; + #end len--; var a = new haxe.ds.Vector(len); for( i in 0...len ) @@ -265,7 +273,11 @@ class Serializer { @:extern public inline function getMap(fk:Void->K, ft:Void->T) : Map { var len = getInt(); if( len == 0 ) + #if hxbit_nullsafety + return new Map(); + #else return null; + #end var m = new Map(); while( --len > 0 ) { var k = fk(); @@ -347,7 +359,11 @@ class Serializer { public inline function getString() { var len = getInt(); if( len == 0 ) + #if hxbit_nullsafety + return ""; + #else return null; + #end len--; var s = input.getString(inPos, len); inPos += len; @@ -357,7 +373,11 @@ class Serializer { public inline function getBytes() { var len = getInt(); if( len == 0 ) + #if hxbit_nullsafety + return haxe.io.Bytes.alloc(0); + #else return null; + #end len--; var s = input.sub(inPos, len); inPos += len;