Example #1
0
        public virtual object readMap(global::haxe.io.BytesInput i, int length, global::org.msgpack.DecodeOption option)
        {
            unchecked {
                                #line 116 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                switch (option._hx_index)
                {
                case 0:
                {
                                                #line 128 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                    global::haxe.root.Array pairs = new global::haxe.root.Array(new object[] {});
                    {
                                                        #line 129 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        int _g = 0;
                                                        #line 129 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        int _g1 = length;
                                                        #line 129 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        while ((_g < _g1))
                        {
                                                                #line 129 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            int    n = _g++;
                            object k = this.decode(i, option);
                                                                #line 131 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            object v = this.decode(i, option);
                            pairs.push(new global::org.msgpack._Decoder.Pair(k, v));
                        }
                    }

                                                #line 135 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                    if ((pairs.length == 0))
                    {
                                                        #line 136 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        return(new global::haxe.ds.StringMap());
                    }

                                                #line 138 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                    global::haxe.root.ValueType _g2 = global::haxe.root.Type.@typeof(((global::org.msgpack._Decoder.Pair)(pairs.__get(0))).k);
                                                #line 138 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                    switch (_g2._hx_index)
                    {
                    case 1:
                    {
                                                                #line 141 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        global::haxe.ds.IntMap @out = new global::haxe.ds.IntMap();
                        {
                                                                        #line 142 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            int _g21 = 0;
                                                                        #line 142 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            while ((_g21 < pairs.length))
                            {
                                                                                #line 142 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                global::org.msgpack._Decoder.Pair p = ((global::org.msgpack._Decoder.Pair)(pairs.__get(_g21)));
                                                                                #line 142 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                ++_g21;
                                if ((global::haxe.root.Type.@typeof(p.k)._hx_index == 1))
                                {
                                }
                                else
                                {
                                                                                        #line 146 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                    throw global::haxe.lang.HaxeException.wrap("Error: Mixed key type when decoding IntMap");
                                }

                                                                                #line 149 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                if (@out.exists(((int)(global::haxe.lang.Runtime.toInt(p.k)))))
                                {
                                                                                        #line 150 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                    throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat("Error: Duplicate keys found => ", global::haxe.root.Std.@string(p.k)));
                                }

                                                                                #line 152 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                @out.@set(((int)(global::haxe.lang.Runtime.toInt(p.k))), ((object)(p.v)));
                            }
                        }

                                                                #line 155 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        return(@out);
                    }


                    case 6:
                    {
                                                                #line 157 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        global::System.Type c = (_g2 as global::haxe.root.ValueType_TClass).c;
                                                                #line 157 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        if ((global::haxe.root.Type.getClassName(c) == "String"))
                        {
                                                                        #line 158 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            global::haxe.ds.StringMap out1 = new global::haxe.ds.StringMap();
                            {
                                                                                #line 159 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                int _g22 = 0;
                                                                                #line 159 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                while ((_g22 < pairs.length))
                                {
                                                                                        #line 159 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                    global::org.msgpack._Decoder.Pair p1 = ((global::org.msgpack._Decoder.Pair)(pairs.__get(_g22)));
                                                                                        #line 159 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                    ++_g22;
                                    {
                                                                                                #line 160 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                        global::haxe.root.ValueType _g23 = global::haxe.root.Type.@typeof(p1.k);
                                                                                                #line 160 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                        if ((_g23._hx_index == 6))
                                        {
                                                                                                        #line 161 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                            global::System.Type c1 = (_g23 as global::haxe.root.ValueType_TClass).c;
                                                                                                        #line 161 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                            if ((global::haxe.root.Type.getClassName(c1) == "String"))
                                            {
                                            }
                                            else
                                            {
                                                                                                                #line 163 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                                throw global::haxe.lang.HaxeException.wrap("Error: Mixed key type when decoding StringMap");
                                            }
                                        }
                                        else
                                        {
                                                                                                        #line 163 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                            throw global::haxe.lang.HaxeException.wrap("Error: Mixed key type when decoding StringMap");
                                        }
                                    }

                                                                                        #line 166 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                    if (out1.exists(global::haxe.lang.Runtime.toString(p1.k)))
                                    {
                                                                                                #line 167 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                        throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat("Error: Duplicate keys found => ", global::haxe.root.Std.@string(p1.k)));
                                    }

                                                                                        #line 169 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                                    out1.@set(global::haxe.lang.Runtime.toString(p1.k), ((object)(p1.v)));
                                }
                            }

                                                                        #line 172 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            return(out1);
                        }
                        else
                        {
                                                                        #line 175 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            throw global::haxe.lang.HaxeException.wrap("Error: Unsupported key Type");
                        }
                    }


                    default:
                    {
                                                                #line 175 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        throw global::haxe.lang.HaxeException.wrap("Error: Unsupported key Type");
                    }
                    }
                }


                case 1:
                {
                                                #line 118 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                    object out2 = new global::haxe.lang.DynamicObject(new int[] {}, new object[] {}, new int[] {}, new double[] {});
                    {
                                                        #line 119 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        int _g3 = 0;
                                                        #line 119 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        int _g11 = length;
                                                        #line 119 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                        while ((_g3 < _g11))
                        {
                                                                #line 119 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            int    n1 = _g3++;
                            object k1 = this.decode(i, option);
                                                                #line 121 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                            object v1 = this.decode(i, option);
                            global::haxe.root.Reflect.setField(out2, global::haxe.root.Std.@string(k1), v1);
                        }
                    }

                                                #line 125 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                    return(out2);
                }
                }

                                #line 115 "D:\\project\\sangong\\sangong\\src\\org\\msgpack\\Decoder.hx"
                return(null);
            }
                        #line default
        }
Example #2
0
        public virtual void write(object k, object v)
        {
            unchecked {
                                #line 82 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                if ((this.replacer != null))
                {
                                        #line 83 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                    v = ((object)(this.replacer.__hx_invoke2_o(default(double), k, default(double), v)));
                }

                                #line 84 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                {
                                        #line 84 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                    global::haxe.root.ValueType _g = global::haxe.root.Type.@typeof(v);
                                        #line 84 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                    switch (_g._hx_index)
                    {
                    case 0:
                    {
                                                        #line 136 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.buf.b.Append(((string)("null")));
                                                        #line 136 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 1:
                    {
                                                        #line 90 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.buf.b.Append(((string)(global::haxe.root.Std.@string(global::haxe.lang.Runtime.toString(v)))));
                                                        #line 90 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 2:
                    {
                                                        #line 92 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        double f = ((double)(global::haxe.lang.Runtime.toDouble(v)));
                                                        #line 92 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        string v1 = (((!(global::System.Double.IsInfinity(((double)(f)))) && !(global::System.Double.IsNaN(((double)(f)))))) ? (global::haxe.root.Std.@string(v)) : ("null"));
                                                        #line 92 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.buf.b.Append(((string)(global::haxe.root.Std.@string(v1))));
                                                        #line 92 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 3:
                    {
                                                        #line 134 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.buf.b.Append(((string)(global::haxe.root.Std.@string(global::haxe.lang.Runtime.toString(v)))));
                                                        #line 134 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 4:
                    {
                                                        #line 88 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.fieldsString(v, global::haxe.root.Reflect.fields(v));
                                                        #line 88 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 5:
                    {
                                                        #line 94 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.buf.b.Append(((string)("\"<fun>\"")));
                                                        #line 94 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 6:
                    {
                                                        #line 95 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        global::System.Type c = (_g as global::haxe.root.ValueType_TClass).c;
                        if (global::haxe.lang.Runtime.refEq(c, typeof(string)))
                        {
                                                                #line 97 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            this.quote(global::haxe.lang.Runtime.toString(v));
                        }
                        else if (global::haxe.lang.Runtime.refEq(c, typeof(global::haxe.root.Array)))
                        {
                                                                #line 99 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            global::haxe.root.Array v2 = ((global::haxe.root.Array)(v));
                            this.buf.addChar(91);
                                                                #line 102 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            int len  = v2.length;
                            int last = (len - 1);
                                                                #line 104 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            {
                                                                        #line 104 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                int _g1 = 0;
                                                                        #line 104 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                int _g11 = len;
                                                                        #line 104 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                while ((_g1 < _g11))
                                {
                                                                                #line 104 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                    int i = _g1++;
                                    if ((i > 0))
                                    {
                                                                                        #line 106 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        this.buf.addChar(44);
                                    }
                                    else
                                    {
                                                                                        #line 108 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        this.nind++;
                                    }

                                                                                #line 109 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                    if (this.pretty)
                                    {
                                                                                        #line 109 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        this.buf.addChar(10);
                                    }

                                                                                #line 110 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                    if (this.pretty)
                                    {
                                                                                        #line 110 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        string v3 = global::haxe.root.StringTools.lpad("", this.indent, (this.nind * this.indent.Length));
                                                                                        #line 110 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        this.buf.b.Append(((string)(global::haxe.root.Std.@string(v3))));
                                    }

                                                                                #line 111 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                    this.write(i, v2.__get(i));
                                    if ((i == last))
                                    {
                                                                                        #line 113 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        this.nind--;
                                        if (this.pretty)
                                        {
                                                                                                #line 114 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                            this.buf.addChar(10);
                                        }

                                                                                        #line 115 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                        if (this.pretty)
                                        {
                                                                                                #line 115 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                            string v4 = global::haxe.root.StringTools.lpad("", this.indent, (this.nind * this.indent.Length));
                                                                                                #line 115 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                            this.buf.b.Append(((string)(global::haxe.root.Std.@string(v4))));
                                        }
                                    }
                                }
                            }

                                                                #line 118 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            this.buf.addChar(93);
                        }
                        else if (global::haxe.lang.Runtime.refEq(c, typeof(global::haxe.ds.StringMap)))
                        {
                                                                #line 120 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            global::haxe.ds.StringMap v5 = ((global::haxe.ds.StringMap)(v));
                            object o = new global::haxe.lang.DynamicObject(new int[] {}, new object[] {}, new int[] {}, new double[] {});
                                                                #line 122 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            {
                                                                        #line 122 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                object k1 = ((object)(new global::haxe.ds._StringMap.StringMapKeyIterator(((global::haxe.ds.StringMap)(v5)))));
                                                                        #line 122 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(k1, "hasNext", 407283053, null)))
                                {
                                                                                #line 122 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                    string k2 = global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.callField(k1, "next", 1224901875, null));
                                    global::haxe.root.Reflect.setField(o, k2, v5.@get(((string)(k2))));
                                }
                            }

                                                                #line 124 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            {
                                                                        #line 124 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                object v6 = ((object)(o));
                                                                        #line 124 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                                this.fieldsString(v6, global::haxe.root.Reflect.fields(v6));
                            }
                        }
                        else if (global::haxe.lang.Runtime.refEq(c, typeof(global::haxe.root.Date)))
                        {
                                                                #line 126 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            global::haxe.root.Date v7 = ((global::haxe.root.Date)(v));
                            this.quote(v7.toString());
                        }
                        else
                        {
                                                                #line 129 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            this.classString(v);
                        }

                                                        #line 95 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 7:
                    {
                                                        #line 130 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        global::System.Type _g12 = (_g as global::haxe.root.ValueType_TEnum).e;
                                                        #line 130 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        {
                                                                #line 131 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                            object i1 = global::haxe.root.Type.enumIndex(v);
                            this.buf.b.Append(((string)(global::haxe.root.Std.@string(global::haxe.lang.Runtime.toString(i1)))));
                        }

                                                        #line 130 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }


                    case 8:
                    {
                                                        #line 86 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        this.buf.b.Append(((string)("\"???\"")));
                                                        #line 86 "C:\\HaxeToolkit\\haxe\\std\\haxe\\format\\JsonPrinter.hx"
                        break;
                    }
                    }
                }
            }
                        #line default
        }