Пример #1
0
        public override object __hx_setField(string field, int hash, object @value, bool handleProperties)
        {
            unchecked {
                switch (hash)
                {
                case 1224901875:
                {
                    this.next = ((global::_List.ListNode <T>)(global::_List.ListNode <object> .__hx_cast <T>(((global::_List.ListNode)(@value)))));
                    return(@value);
                }


                case 1170195731:
                {
                    this.item = global::haxe.lang.Runtime.genericCast <T>(@value);
                    return(@value);
                }


                default:
                {
                    return(base.__hx_setField(field, hash, @value, handleProperties));
                }
                }
            }
        }
Пример #2
0
    public override object __hx_setField(string field, int hash, object @value, bool handleProperties)
    {
        unchecked {
            switch (hash)
            {
            case 520590566:
            {
                this.length = ((int)(global::haxe.lang.Runtime.toInt(@value)));
                return(@value);
            }


            case 113:
            {
                this.q = ((global::_List.ListNode <T>)(global::_List.ListNode <object> .__hx_cast <T>(((global::_List.ListNode)(@value)))));
                return(@value);
            }


            case 104:
            {
                this.h = ((global::_List.ListNode <T>)(global::_List.ListNode <object> .__hx_cast <T>(((global::_List.ListNode)(@value)))));
                return(@value);
            }


            default:
            {
                return(base.__hx_setField(field, hash, @value, handleProperties));
            }
            }
        }
    }
Пример #3
0
    public virtual void @add(T item)
    {
        global::_List.ListNode <T> x = new global::_List.ListNode <T>(item, null);
        if ((this.h == null))
        {
            this.h = x;
        }
        else
        {
            this.q.next = x;
        }

        this.q = x;
        this.length++;
    }
Пример #4
0
        public virtual bool run()
        {
            this.result = new global::haxe.unit.TestResult();
            {
                global::_List.ListNode <object> _g_head = this.cases.h;
                while ((_g_head != null))
                {
                    global::haxe.unit.TestCase val = ((global::haxe.unit.TestCase)(_g_head.item));
                    _g_head = _g_head.next;
                    global::haxe.unit.TestCase c = ((global::haxe.unit.TestCase)(val));
                    this.runCase(c);
                }
            }

            global::haxe.unit.TestRunner.print.__hx_invoke1_o(default(double), this.result.toString());
            return(this.result.success);
        }
Пример #5
0
        public virtual object _List_ListNode_cast <T_c>()
        {
            if (global::haxe.lang.Runtime.eq(typeof(T), typeof(T_c)))
            {
                return(this);
            }

            global::_List.ListNode <T_c> new_me = new global::_List.ListNode <T_c>(global::haxe.lang.EmptyObject.EMPTY);
            global::Array <object>       fields = global::Reflect.fields(this);
            int i = 0;

            while ((i < fields.length))
            {
                string field = global::haxe.lang.Runtime.toString(fields[i++]);
                global::Reflect.setField(new_me, field, global::Reflect.field(this, field));
            }

            return(new_me);
        }
Пример #6
0
 public static object __hx_cast <T_c_c>(global::_List.ListNode me)
 {
     return(((me != null)) ? (me._List_ListNode_cast <T_c_c>()) : default(object));
 }
Пример #7
0
 public static void __hx_ctor__List_ListNode <T_c>(global::_List.ListNode <T_c> __hx_this, T_c item, global::_List.ListNode <T_c> next)
 {
     __hx_this.item = item;
     __hx_this.next = next;
 }
Пример #8
0
 public ListNode(T item, global::_List.ListNode <T> next)
 {
     global::_List.ListNode <object> .__hx_ctor__List_ListNode <T>(((global::_List.ListNode <T>)(this)), global::haxe.lang.Runtime.genericCast <T>(item), ((global::_List.ListNode <T>)(next)));
 }
Пример #9
0
        public virtual string toString()
        {
            global::System.Text.StringBuilder buf_b = new global::System.Text.StringBuilder();
            int failures = 0;

            {
                global::_List.ListNode <object> _g_head = this.m_tests.h;
                while ((_g_head != null))
                {
                    global::haxe.unit.TestStatus val = ((global::haxe.unit.TestStatus)(_g_head.item));
                    _g_head = _g_head.next;
                    global::haxe.unit.TestStatus test = ((global::haxe.unit.TestStatus)(val));
                    if ((test.success == false))
                    {
                        buf_b.Append(((string)("* ")));
                        buf_b.Append(((string)(global::Std.@string(test.classname))));
                        buf_b.Append(((string)("::")));
                        buf_b.Append(((string)(global::Std.@string(test.method))));
                        buf_b.Append(((string)("()")));
                        buf_b.Append(((string)("\n")));
                        buf_b.Append(((string)("ERR: ")));
                        if ((test.posInfos != null))
                        {
                            buf_b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.getField(test.posInfos, "fileName", 1648581351, true))))));
                            buf_b.Append(((string)(":")));
                            buf_b.Append(((string)(global::Std.@string(((int)(global::haxe.lang.Runtime.getField_f(test.posInfos, "lineNumber", 1981972957, true)))))));
                            buf_b.Append(((string)("(")));
                            buf_b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.getField(test.posInfos, "className", 1547539107, true))))));
                            buf_b.Append(((string)(".")));
                            buf_b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.getField(test.posInfos, "methodName", 302979532, true))))));
                            buf_b.Append(((string)(") - ")));
                        }

                        buf_b.Append(((string)(global::Std.@string(test.error))));
                        buf_b.Append(((string)("\n")));
                        if (!(string.Equals(test.backtrace, null)))
                        {
                            buf_b.Append(((string)(global::Std.@string(test.backtrace))));
                            buf_b.Append(((string)("\n")));
                        }

                        buf_b.Append(((string)("\n")));
                        ++failures;
                    }
                }
            }

            buf_b.Append(((string)("\n")));
            if ((failures == 0))
            {
                buf_b.Append(((string)("OK ")));
            }
            else
            {
                buf_b.Append(((string)("FAILED ")));
            }

            buf_b.Append(((string)(global::Std.@string(this.m_tests.length))));
            buf_b.Append(((string)(" tests, ")));
            buf_b.Append(((string)(global::Std.@string(failures))));
            buf_b.Append(((string)(" failed, ")));
            buf_b.Append(((string)(global::Std.@string((this.m_tests.length - failures)))));
            buf_b.Append(((string)(" success")));
            buf_b.Append(((string)("\n")));
            return(buf_b.ToString());
        }
Пример #10
0
        public virtual void serialize(object v)
        {
            unchecked {
                global::ValueType _g = global::Type.@typeof(v);
                switch (_g.index)
                {
                case 0:
                {
                    this.buf.b.Append(((string)("n")));
                    break;
                }


                case 1:
                {
                    int v1 = ((int)(global::haxe.lang.Runtime.toInt(v)));
                    if ((v1 == 0))
                    {
                        this.buf.b.Append(((string)("z")));
                        return;
                    }

                    this.buf.b.Append(((string)("i")));
                    this.buf.b.Append(((string)(global::Std.@string(v1))));
                    break;
                }


                case 2:
                {
                    double v2 = ((double)(global::haxe.lang.Runtime.toDouble(v)));
                    if (global::System.Double.IsNaN(((double)(v2))))
                    {
                        this.buf.b.Append(((string)("k")));
                    }
                    else if (!(((!(global::System.Double.IsInfinity(((double)(v2)))) && !(global::System.Double.IsNaN(((double)(v2))))))))
                    {
                        this.buf.b.Append(((string)((((v2 < 0)) ? ("m") : ("p")))));
                    }
                    else
                    {
                        this.buf.b.Append(((string)("d")));
                        this.buf.b.Append(((string)(global::Std.@string(v2))));
                    }

                    break;
                }


                case 3:
                {
                    this.buf.b.Append(((string)(((global::haxe.lang.Runtime.toBool((v))) ? ("t") : ("f")))));
                    break;
                }


                case 4:
                {
                    if ((v is global::System.Type))
                    {
                        string className = global::Type.getClassName(((global::System.Type)(v)));
                        this.buf.b.Append(((string)("A")));
                        this.serializeString(className);
                    }
                    else if ((v is global::System.Type))
                    {
                        this.buf.b.Append(((string)("B")));
                        this.serializeString(global::Type.getEnumName(((global::System.Type)(v))));
                    }
                    else
                    {
                        if ((this.useCache && this.serializeRef(v)))
                        {
                            return;
                        }

                        this.buf.b.Append(((string)("o")));
                        this.serializeFields(v);
                    }

                    break;
                }


                case 5:
                {
                    throw global::haxe.lang.HaxeException.wrap("Cannot serialize function");
                }


                case 6:
                {
                    global::System.Type c = ((global::System.Type)(_g.@params[0]));
                    {
                        if (global::haxe.lang.Runtime.refEq(c, typeof(string)))
                        {
                            this.serializeString(global::haxe.lang.Runtime.toString(v));
                            return;
                        }

                        if ((this.useCache && this.serializeRef(v)))
                        {
                            return;
                        }

                        {
                            string _g1 = global::Type.getClassName(c);
                            switch (_g1)
                            {
                            case "Array":
                            {
                                int ucount = 0;
                                this.buf.b.Append(((string)("a")));
                                int l = ((int)(global::haxe.lang.Runtime.toInt(global::haxe.lang.Runtime.getField(v, "length", 520590566, true))));
                                {
                                    int _g11 = 0;
                                    int _g2  = l;
                                    while ((_g11 < _g2))
                                    {
                                        int i = _g11++;
                                        if ((((object)(global::haxe.lang.Runtime.callField(v, "__get", 1915412854, new global::Array <object>(new object[] { i })))) == null))
                                        {
                                            ++ucount;
                                        }
                                        else
                                        {
                                            if ((ucount > 0))
                                            {
                                                if ((ucount == 1))
                                                {
                                                    this.buf.b.Append(((string)("n")));
                                                }
                                                else
                                                {
                                                    this.buf.b.Append(((string)("u")));
                                                    this.buf.b.Append(((string)(global::Std.@string(ucount))));
                                                }

                                                ucount = 0;
                                            }

                                            this.serialize(((object)(global::haxe.lang.Runtime.callField(v, "__get", 1915412854, new global::Array <object>(new object[] { i })))));
                                        }
                                    }
                                }

                                if ((ucount > 0))
                                {
                                    if ((ucount == 1))
                                    {
                                        this.buf.b.Append(((string)("n")));
                                    }
                                    else
                                    {
                                        this.buf.b.Append(((string)("u")));
                                        this.buf.b.Append(((string)(global::Std.@string(ucount))));
                                    }
                                }

                                this.buf.b.Append(((string)("h")));
                                break;
                            }


                            case "Date":
                            {
                                global::Date d = ((global::Date)(v));
                                this.buf.b.Append(((string)("v")));
                                {
                                    global::StringBuf _this = this.buf;
                                    long a = global::System.TimeZone.CurrentTimeZone.ToUniversalTime(((global::System.DateTime)(d.date))).Ticks;
                                    _this.b.Append(((string)(global::Std.@string((((double)(((long)((((long)(a)) - ((long)(global::Date.epochTicks))))))) / ((double)(global::System.TimeSpan.TicksPerMillisecond)))))));
                                }

                                break;
                            }


                            case "List":
                            {
                                this.buf.b.Append(((string)("l")));
                                global::List v3 = ((global::List)(v));
                                {
                                    global::_List.ListNode _g_head = ((global::_List.ListNode)(global::haxe.lang.Runtime.getField(v3, "h", 104, true)));
                                    while ((_g_head != null))
                                    {
                                        object val = global::haxe.lang.Runtime.getField(_g_head, "item", 1170195731, true);
                                        _g_head = ((global::_List.ListNode)(global::haxe.lang.Runtime.getField(_g_head, "next", 1224901875, true)));
                                        object i1 = ((object)(val));
                                        this.serialize(i1);
                                    }
                                }

                                this.buf.b.Append(((string)("h")));
                                break;
                            }


                            case "haxe.ds.IntMap":
                            {
                                this.buf.b.Append(((string)("q")));
                                global::haxe.ds.IntMap v4 = ((global::haxe.ds.IntMap)(v));
                                {
                                    object k = ((object)(new global::haxe.ds._IntMap.IntMapKeyIterator <object>(((global::haxe.ds.IntMap <object>)(global::haxe.ds.IntMap <object> .__hx_cast <object>(((global::haxe.ds.IntMap)(v4))))))));
                                    while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(k, "hasNext", 407283053, null)))
                                    {
                                        int k1 = ((int)(global::haxe.lang.Runtime.toInt(global::haxe.lang.Runtime.callField(k, "next", 1224901875, null))));
                                        this.buf.b.Append(((string)(":")));
                                        this.buf.b.Append(((string)(global::Std.@string(k1))));
                                        this.serialize(((object)(global::haxe.lang.Runtime.callField(v4, "get", 5144726, new global::Array <object>(new object[] { k1 })))));
                                    }
                                }

                                this.buf.b.Append(((string)("h")));
                                break;
                            }


                            case "haxe.ds.ObjectMap":
                            {
                                this.buf.b.Append(((string)("M")));
                                global::haxe.ds.ObjectMap v5 = ((global::haxe.ds.ObjectMap)(v));
                                {
                                    object k2 = v5.keys();
                                    while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(k2, "hasNext", 407283053, null)))
                                    {
                                        object k3 = ((object)(global::haxe.lang.Runtime.callField(k2, "next", 1224901875, null)));
                                        this.serialize(k3);
                                        this.serialize(((object)(global::haxe.lang.Runtime.callField(v5, "get", 5144726, new global::Array <object>(new object[] { k3 })))));
                                    }
                                }

                                this.buf.b.Append(((string)("h")));
                                break;
                            }


                            case "haxe.ds.StringMap":
                            {
                                this.buf.b.Append(((string)("b")));
                                global::haxe.ds.StringMap v6 = ((global::haxe.ds.StringMap)(v));
                                {
                                    object k4 = ((object)(new global::haxe.ds._StringMap.StringMapKeyIterator <object>(((global::haxe.ds.StringMap <object>)(global::haxe.ds.StringMap <object> .__hx_cast <object>(((global::haxe.ds.StringMap)(v6))))))));
                                    while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(k4, "hasNext", 407283053, null)))
                                    {
                                        string k5 = global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.callField(k4, "next", 1224901875, null));
                                        this.serializeString(k5);
                                        this.serialize(((object)(global::haxe.lang.Runtime.callField(v6, "get", 5144726, new global::Array <object>(new object[] { k5 })))));
                                    }
                                }

                                this.buf.b.Append(((string)("h")));
                                break;
                            }


                            case "haxe.io.Bytes":
                            {
                                global::haxe.io.Bytes v7 = ((global::haxe.io.Bytes)(v));
                                this.buf.b.Append(((string)("s")));
                                {
                                    global::StringBuf _this1 = this.buf;
                                    int x = ((int)(global::System.Math.Ceiling(((double)((((double)((v7.length * 8))) / 6))))));
                                    _this1.b.Append(((string)(global::Std.@string(x))));
                                }

                                this.buf.b.Append(((string)(":")));
                                int i2  = 0;
                                int max = (v7.length - 2);
                                global::haxe.lang.Null <int>[] b64 = global::haxe.Serializer.BASE64_CODES;
                                if ((b64 == null))
                                {
                                    global::haxe.lang.Null <int>[] this1 = new global::haxe.lang.Null <int> [global::haxe.Serializer.BASE64.Length];
                                    b64 = ((global::haxe.lang.Null <int>[])(this1));
                                    {
                                        int _g12 = 0;
                                        int _g3  = global::haxe.Serializer.BASE64.Length;
                                        while ((_g12 < _g3))
                                        {
                                            int i3 = _g12++;
                                            ((global::haxe.lang.Null <int>[])(b64))[i3] = global::haxe.lang.StringExt.charCodeAt(global::haxe.Serializer.BASE64, i3);
                                        }
                                    }

                                    global::haxe.Serializer.BASE64_CODES = b64;
                                }

                                while ((i2 < max))
                                {
                                    int b1 = ((int)(v7.b[i2++]));
                                    int b2 = ((int)(v7.b[i2++]));
                                    int b3 = ((int)(v7.b[i2++]));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[(b1 >> 2)]).@value)));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[((((b1 << 4) | (b2 >> 4))) & 63)]).@value)));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[((((b2 << 2) | (b3 >> 6))) & 63)]).@value)));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[(b3 & 63)]).@value)));
                                }

                                if ((i2 == max))
                                {
                                    int b11 = ((int)(v7.b[i2++]));
                                    int b21 = ((int)(v7.b[i2++]));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[(b11 >> 2)]).@value)));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[((((b11 << 4) | (b21 >> 4))) & 63)]).@value)));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[((b21 << 2) & 63)]).@value)));
                                }
                                else if ((i2 == (max + 1)))
                                {
                                    int b12 = ((int)(v7.b[i2++]));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[(b12 >> 2)]).@value)));
                                    this.buf.b.Append(((char)((((global::haxe.lang.Null <int>[])(b64))[((b12 << 4) & 63)]).@value)));
                                }

                                break;
                            }


                            default:
                            {
                                if (this.useCache)
                                {
                                    global::haxe.lang.Runtime.callField(this.cache, "pop", 5594513, null);
                                }

                                if (global::Reflect.hasField(v, "hxSerialize"))
                                {
                                    this.buf.b.Append(((string)("C")));
                                    this.serializeString(global::Type.getClassName(c));
                                    if (this.useCache)
                                    {
                                        global::haxe.lang.Runtime.callField(this.cache, "push", 1247875546, new global::Array <object>(new object[] { v }));
                                    }

                                    global::haxe.lang.Runtime.callField(v, "hxSerialize", 336134320, new global::Array <object>(new object[] { this }));
                                    this.buf.b.Append(((string)("g")));
                                }
                                else
                                {
                                    this.buf.b.Append(((string)("c")));
                                    this.serializeString(global::Type.getClassName(c));
                                    if (this.useCache)
                                    {
                                        global::haxe.lang.Runtime.callField(this.cache, "push", 1247875546, new global::Array <object>(new object[] { v }));
                                    }

                                    this.serializeFields(v);
                                }

                                break;
                            }
                            }
                        }
                    }

                    break;
                }


                case 7:
                {
                    global::System.Type e = ((global::System.Type)(_g.@params[0]));
                    {
                        if (this.useCache)
                        {
                            if (this.serializeRef(v))
                            {
                                return;
                            }

                            global::haxe.lang.Runtime.callField(this.cache, "pop", 5594513, null);
                        }

                        this.buf.b.Append(((string)(global::Std.@string(((this.useEnumIndex) ? ("j") : ("w"))))));
                        this.serializeString(global::Type.getEnumName(e));
                        if (this.useEnumIndex)
                        {
                            this.buf.b.Append(((string)(":")));
                            this.buf.b.Append(((string)(global::Std.@string(global::Type.enumIndex(v)))));
                        }
                        else
                        {
                            this.serializeString(global::Type.enumConstructor(v));
                        }

                        this.buf.b.Append(((string)(":")));
                        global::Array arr = global::Type.enumParameters(v);
                        if ((arr != null))
                        {
                            this.buf.b.Append(((string)(global::Std.@string(((int)(global::haxe.lang.Runtime.getField_f(arr, "length", 520590566, true)))))));
                            {
                                int _g4 = 0;
                                while ((global::haxe.lang.Runtime.compare(_g4, ((int)(global::haxe.lang.Runtime.getField_f(arr, "length", 520590566, true)))) < 0))
                                {
                                    object v8 = arr[_g4];
                                    ++_g4;
                                    this.serialize(v8);
                                }
                            }
                        }
                        else
                        {
                            this.buf.b.Append(((string)("0")));
                        }

                        if (this.useCache)
                        {
                            global::haxe.lang.Runtime.callField(this.cache, "push", 1247875546, new global::Array <object>(new object[] { v }));
                        }
                    }

                    break;
                }


                default:
                {
                    throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat("Cannot serialize ", global::Std.@string(v)));
                }
                }
            }
        }