private IElement Coerce()

in src/Proton.TestPeer/Codec/Impl/ArrayElement.cs [116:205]


      private IElement Coerce(IElement element)
      {
         switch (arrayType)
         {
            case DataType.Int:
               int i;
               switch (element.DataType)
               {
                  case DataType.Byte:
                     i = ((ByteElement)element).SByteValue;
                     break;
                  case DataType.Short:
                     i = ((ShortElement)element).ShortValue;
                     break;
                  case DataType.Long:
                     i = (int)((LongElement)element).LongValue;
                     break;
                  default:
                     return null;
               }
               return new IntegerElement(element.Parent, element.Prev, i);
            case DataType.Long:
               long l;
               switch (element.DataType)
               {
                  case DataType.Byte:
                     l = ((ByteElement)element).SByteValue;
                     break;
                  case DataType.Short:
                     l = ((ShortElement)element).ShortValue;
                     break;
                  case DataType.Int:
                     l = ((IntegerElement)element).IntegerValue;
                     break;
                  default:
                     return null;
               }
               return new LongElement(element.Parent, element.Prev, l);
            case DataType.Array:
               break;
            case DataType.Binary:
               break;
            case DataType.Bool:
               break;
            case DataType.Byte:
               break;
            case DataType.Char:
               break;
            case DataType.Decimal32:
               break;
            case DataType.Decimal64:
               break;
            case DataType.Decimal128:
               break;
            case DataType.Described:
               break;
            case DataType.Double:
               break;
            case DataType.Float:
               break;
            case DataType.List:
               break;
            case DataType.Map:
               break;
            case DataType.Null:
               break;
            case DataType.Short:
               break;
            case DataType.String:
               break;
            case DataType.Symbol:
               break;
            case DataType.Timestamp:
               break;
            case DataType.UByte:
               break;
            case DataType.UInt:
               break;
            case DataType.ULong:
               break;
            case DataType.UShort:
               break;
            case DataType.Uuid:
               break;
            default:
               break;
         }

         return null;
      }