Example #1
0
        /// <summary>
        /// Maps a field type as included in the .proto file to a FieldType.
        /// </summary>
        private static FieldType GetFieldTypeFromProtoType(FieldDescriptorProto.Types.Type type)
        {
            switch (type)
            {
            case FieldDescriptorProto.Types.Type.TYPE_DOUBLE:   return(FieldType.Double);

            case FieldDescriptorProto.Types.Type.TYPE_FLOAT:    return(FieldType.Float);

            case FieldDescriptorProto.Types.Type.TYPE_INT64:    return(FieldType.Int64);

            case FieldDescriptorProto.Types.Type.TYPE_UINT64:   return(FieldType.UInt64);

            case FieldDescriptorProto.Types.Type.TYPE_INT32:    return(FieldType.Int32);

            case FieldDescriptorProto.Types.Type.TYPE_FIXED64:  return(FieldType.Fixed64);

            case FieldDescriptorProto.Types.Type.TYPE_FIXED32:  return(FieldType.Fixed32);

            case FieldDescriptorProto.Types.Type.TYPE_BOOL:     return(FieldType.Bool);

            case FieldDescriptorProto.Types.Type.TYPE_STRING:   return(FieldType.String);

            case FieldDescriptorProto.Types.Type.TYPE_GROUP:    return(FieldType.Group);

            case FieldDescriptorProto.Types.Type.TYPE_MESSAGE:  return(FieldType.Message);

            case FieldDescriptorProto.Types.Type.TYPE_BYTES:    return(FieldType.Bytes);

            case FieldDescriptorProto.Types.Type.TYPE_UINT32:   return(FieldType.UInt32);

            case FieldDescriptorProto.Types.Type.TYPE_ENUM:     return(FieldType.Enum);

            case FieldDescriptorProto.Types.Type.TYPE_SFIXED32: return(FieldType.SFixed32);

            case FieldDescriptorProto.Types.Type.TYPE_SFIXED64: return(FieldType.SFixed64);

            case FieldDescriptorProto.Types.Type.TYPE_SINT32:   return(FieldType.SInt32);

            case FieldDescriptorProto.Types.Type.TYPE_SINT64:   return(FieldType.SInt64);

            default:
                throw new ArgumentException("Invalid type specified");
            }
        }
Example #2
0
 /// <summary>
 /// Maps a field type as included in the .proto file to a FieldType.
 /// </summary>
 private static FieldType GetFieldTypeFromProtoType(FieldDescriptorProto.Types.Type type)
 {
     return(type switch
     {
         FieldDescriptorProto.Types.Type.Double => FieldType.Double,
         FieldDescriptorProto.Types.Type.Float => FieldType.Float,
         FieldDescriptorProto.Types.Type.Int64 => FieldType.Int64,
         FieldDescriptorProto.Types.Type.Uint64 => FieldType.UInt64,
         FieldDescriptorProto.Types.Type.Int32 => FieldType.Int32,
         FieldDescriptorProto.Types.Type.Fixed64 => FieldType.Fixed64,
         FieldDescriptorProto.Types.Type.Fixed32 => FieldType.Fixed32,
         FieldDescriptorProto.Types.Type.Bool => FieldType.Bool,
         FieldDescriptorProto.Types.Type.String => FieldType.String,
         FieldDescriptorProto.Types.Type.Group => FieldType.Group,
         FieldDescriptorProto.Types.Type.Message => FieldType.Message,
         FieldDescriptorProto.Types.Type.Bytes => FieldType.Bytes,
         FieldDescriptorProto.Types.Type.Uint32 => FieldType.UInt32,
         FieldDescriptorProto.Types.Type.Enum => FieldType.Enum,
         FieldDescriptorProto.Types.Type.Sfixed32 => FieldType.SFixed32,
         FieldDescriptorProto.Types.Type.Sfixed64 => FieldType.SFixed64,
         FieldDescriptorProto.Types.Type.Sint32 => FieldType.SInt32,
         FieldDescriptorProto.Types.Type.Sint64 => FieldType.SInt64,
         _ => throw new ArgumentException("Invalid type specified"),
     });
Example #3
0
        /// <summary>
        /// Maps a field type as included in the .proto file to a FieldType.
        /// </summary>
        private static FieldType GetFieldTypeFromProtoType(FieldDescriptorProto.Types.Type type)
        {
            switch (type)
            {
            case FieldDescriptorProto.Types.Type.Double:
                return(FieldType.Double);

            case FieldDescriptorProto.Types.Type.Float:
                return(FieldType.Float);

            case FieldDescriptorProto.Types.Type.Int64:
                return(FieldType.Int64);

            case FieldDescriptorProto.Types.Type.Uint64:
                return(FieldType.UInt64);

            case FieldDescriptorProto.Types.Type.Int32:
                return(FieldType.Int32);

            case FieldDescriptorProto.Types.Type.Fixed64:
                return(FieldType.Fixed64);

            case FieldDescriptorProto.Types.Type.Fixed32:
                return(FieldType.Fixed32);

            case FieldDescriptorProto.Types.Type.Bool:
                return(FieldType.Bool);

            case FieldDescriptorProto.Types.Type.String:
                return(FieldType.String);

            case FieldDescriptorProto.Types.Type.Group:
                return(FieldType.Group);

            case FieldDescriptorProto.Types.Type.Message:
                return(FieldType.Message);

            case FieldDescriptorProto.Types.Type.Bytes:
                return(FieldType.Bytes);

            case FieldDescriptorProto.Types.Type.Uint32:
                return(FieldType.UInt32);

            case FieldDescriptorProto.Types.Type.Enum:
                return(FieldType.Enum);

            case FieldDescriptorProto.Types.Type.Sfixed32:
                return(FieldType.SFixed32);

            case FieldDescriptorProto.Types.Type.Sfixed64:
                return(FieldType.SFixed64);

            case FieldDescriptorProto.Types.Type.Sint32:
                return(FieldType.SInt32);

            case FieldDescriptorProto.Types.Type.Sint64:
                return(FieldType.SInt64);

            default:
                throw new ArgumentException("Invalid type specified");
            }
        }
#pragma warning disable S4136 // Method overloads should be grouped together -> Method order is optimized for easier reading

        /// <summary>
        /// Determines the Delphi type identifier of the Delphi type that is used to represent single protobuf field values of a specific protobuf field type,
        /// when communicating with client code.
        /// </summary>
        /// <param name="fieldType">The protobuf field descriptor's type field value</param>
        /// <param name="fieldTypeName">The protobuf field descriptor's type name field value</param>
        /// <param name="generator">Function that generates a Delphi type name for a protobuf message type or enumerated type name</param>
        /// <returns>Corresponding Delphi type identifier</returns>
        internal static string GetPublicDelphiSingleValueType(this FieldDescriptorProto.Types.Type fieldType, string fieldTypeName, Func <string, string> generator) => fieldType switch
        {
Example #5
0
        private static FieldType GetFieldTypeFromProtoType(FieldDescriptorProto.Types.Type type)
        {
            switch (type)
            {
            case FieldDescriptorProto.Types.Type.TYPE_DOUBLE:
                break;

            case FieldDescriptorProto.Types.Type.TYPE_FLOAT:
                return(FieldType.Float);

            case FieldDescriptorProto.Types.Type.TYPE_INT64:
                return(FieldType.Int64);

            case FieldDescriptorProto.Types.Type.TYPE_UINT64:
                return(FieldType.UInt64);

            case FieldDescriptorProto.Types.Type.TYPE_INT32:
                return(FieldType.Int32);

            case FieldDescriptorProto.Types.Type.TYPE_FIXED64:
                return(FieldType.Fixed64);

            case FieldDescriptorProto.Types.Type.TYPE_FIXED32:
                return(FieldType.Fixed32);

            case FieldDescriptorProto.Types.Type.TYPE_BOOL:
                return(FieldType.Bool);

            case FieldDescriptorProto.Types.Type.TYPE_STRING:
                return(FieldType.String);

            case FieldDescriptorProto.Types.Type.TYPE_GROUP:
                return(FieldType.Group);

            case FieldDescriptorProto.Types.Type.TYPE_MESSAGE:
                return(FieldType.Message);

            case FieldDescriptorProto.Types.Type.TYPE_BYTES:
                return(FieldType.Bytes);

            case FieldDescriptorProto.Types.Type.TYPE_UINT32:
                return(FieldType.UInt32);

            case FieldDescriptorProto.Types.Type.TYPE_ENUM:
                return(FieldType.Enum);

            case FieldDescriptorProto.Types.Type.TYPE_SFIXED32:
                return(FieldType.SFixed32);

            case FieldDescriptorProto.Types.Type.TYPE_SFIXED64:
                return(FieldType.SFixed64);

            case FieldDescriptorProto.Types.Type.TYPE_SINT32:
                return(FieldType.SInt32);

            case FieldDescriptorProto.Types.Type.TYPE_SINT64:
                return(FieldType.SInt64);

            default:
                while (true)
                {
IL_C5:
                    uint arg_64_0 = 119551694u;
                    while (true)
                    {
                        uint num;
                        switch ((num = (arg_64_0 ^ 754523646u)) % 21u)
                        {
                        case 0u:
                            return(FieldType.Double);

                        case 1u:
                            return(FieldType.SFixed64);

                        case 2u:
                            return(FieldType.UInt64);

                        case 3u:
                            return(FieldType.Enum);

                        case 4u:
                            return(FieldType.Int64);

                        case 5u:
                            return(FieldType.Int32);

                        case 6u:
                            goto IL_C5;

                        case 7u:
                            return(FieldType.String);

                        case 8u:
                            return(FieldType.Float);

                        case 9u:
                            return(FieldType.Fixed64);

                        case 10u:
                            return(FieldType.Message);

                        case 11u:
                            return(FieldType.UInt32);

                        case 12u:
                            return(FieldType.Bool);

                        case 13u:
                            return(FieldType.Fixed32);

                        case 15u:
                            return(FieldType.SInt64);

                        case 16u:
                            return(FieldType.Bytes);

                        case 17u:
                            return(FieldType.SInt32);

                        case 18u:
                            arg_64_0 = (num * 926929353u ^ 3080129912u);
                            continue;

                        case 19u:
                            return(FieldType.SFixed32);

                        case 20u:
                            return(FieldType.Group);
                        }
                        goto Block_2;
                    }
                }
Block_2:
                throw FieldDescriptor.smethod_1(Module.smethod_37 <string>(2772032189u));
            }
            return(FieldType.Double);
        }