-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
What steps will reproduce the problem?
1. repeatedを使ったclassでgetSerializedSizeをすると
InvalidProtocolBufferExceptionになる。
原因:type分けしているif文でvalue is Arrayをしてない。
CodedInputStream.as
public static function computeFieldSize(number:int, value:*):int {
if (value is String)
return computeStringSize(number, (value as String));
else if (value is Boolean)
return computeBoolSize(number, (value as Boolean));
else if (value is uint)
return computeUInt32Size(number, (value as uint));
else if (value is int)
return computeInt32Size(number, (value as int));
else if (value is Number)
return computeInt64Size(number, (value as BigInteger));
else if ( value is Message )
return value.getSerializedSize();
//add Array Type
else if ( value is Array )
{
var size:int = 0;
for each ( var elem:* in value )
{
size += computeFieldSize( number, elem );
}
return size;
}
//add End
else
throw new InvalidProtocolBufferException( "Could not compute size
of field, type was not valid");
}
Original issue reported on code.google.com by piggest0...@gmail.com on 5 Jan 2010 at 5:06
Reactions are currently unavailable