Example #1
0
        public override object __hx_setField(string field, int hash, object @value, bool handleProperties)
        {
            unchecked {
                                #line 29 "/opt/haxe/std/haxe/xml/Printer.hx"
                switch (hash)
                {
                case 784433846:
                {
                                                #line 29 "/opt/haxe/std/haxe/xml/Printer.hx"
                    this.pretty = global::haxe.lang.Runtime.toBool(@value);
                                                #line 29 "/opt/haxe/std/haxe/xml/Printer.hx"
                    return(@value);
                }


                case 209784577:
                {
                                                #line 29 "/opt/haxe/std/haxe/xml/Printer.hx"
                    this.output = ((global::StringBuf)(@value));
                                                #line 29 "/opt/haxe/std/haxe/xml/Printer.hx"
                    return(@value);
                }


                default:
                {
                                                #line 29 "/opt/haxe/std/haxe/xml/Printer.hx"
                    return(base.__hx_setField(field, hash, @value, handleProperties));
                }
                }
            }
                        #line default
        }
Example #2
0
        public static string toString(global::Array <object> stack)
        {
                        #line 71 "/opt/haxe/std/haxe/CallStack.hx"
            global::StringBuf b = new global::StringBuf();
            {
                                #line 72 "/opt/haxe/std/haxe/CallStack.hx"
                int _g = 0;
                                #line 72 "/opt/haxe/std/haxe/CallStack.hx"
                global::Array <object> _g1 = ((global::Array <object>)(stack));
                                #line 72 "/opt/haxe/std/haxe/CallStack.hx"
                while ((_g < _g1.length))
                {
                                        #line 72 "/opt/haxe/std/haxe/CallStack.hx"
                    global::haxe.StackItem s = ((global::haxe.StackItem)(_g1[_g]));
                                        #line 72 "/opt/haxe/std/haxe/CallStack.hx"
                    ++_g;
                    b.b.Append(((string)("\nCalled from ")));
                                        #line 74 "/opt/haxe/std/haxe/CallStack.hx"
                    global::haxe._CallStack.CallStack_Impl_.itemToString(b, s);
                }
            }

                        #line 76 "/opt/haxe/std/haxe/CallStack.hx"
            return(b.b.ToString());
        }
Example #3
0
        public override object __hx_setField(string field, int hash, object @value, bool handleProperties)
        {
            unchecked {
                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                switch (hash)
                {
                case 1225098545:
                {
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    this.nind = ((int)(global::haxe.lang.Runtime.toInt(@value)));
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    return(@value);
                }


                case 784433846:
                {
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    this.pretty = global::haxe.lang.Runtime.toBool(@value);
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    return(@value);
                }


                case 334695532:
                {
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    this.indent = global::haxe.lang.Runtime.toString(@value);
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    return(@value);
                }


                case 404153790:
                {
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    this.replacer = ((global::haxe.lang.Function)(@value));
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    return(@value);
                }


                case 4899635:
                {
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    this.buf = ((global::StringBuf)(@value));
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    return(@value);
                }


                default:
                {
                                                #line 33 "/opt/haxe/std/haxe/format/JsonPrinter.hx"
                    return(base.__hx_setField(field, hash, @value, handleProperties));
                }
                }
            }
                        #line default
        }
Example #4
0
        public override object __hx_setField(string field, int hash, object @value, bool handleProperties)
        {
            unchecked {
                switch (hash)
                {
                case 603885322:
                {
                    this.useEnumIndex = global::haxe.lang.Runtime.toBool(@value);
                    return(@value);
                }


                case 142605435:
                {
                    this.useCache = global::haxe.lang.Runtime.toBool(@value);
                    return(@value);
                }


                case 1164821372:
                {
                    this.scount = ((int)(global::haxe.lang.Runtime.toInt(@value)));
                    return(@value);
                }


                case 2082268609:
                {
                    this.shash = ((global::haxe.ds.StringMap <int>)(global::haxe.ds.StringMap <object> .__hx_cast <int>(((global::haxe.ds.StringMap)(@value)))));
                    return(@value);
                }


                case 1091869250:
                {
                    this.cache = ((global::Array)(@value));
                    return(@value);
                }


                case 4899635:
                {
                    this.buf = ((global::StringBuf)(@value));
                    return(@value);
                }


                default:
                {
                    return(base.__hx_setField(field, hash, @value, handleProperties));
                }
                }
            }
        }
Example #5
0
        public static string toString(global::Array <object> stack)
        {
            global::StringBuf b = new global::StringBuf();

            {
                int _g = 0;
                while ((_g < stack.length))
                {
                    global::haxe.StackItem s = ((global::haxe.StackItem)(stack[_g]));
                    ++_g;
                    b.b.Append(((string)("\nCalled from ")));
                    global::haxe.CallStack.itemToString(b, s);
                }
            }

            return(b.b.ToString());
        }
Example #6
0
        public virtual string toHex()
        {
            unchecked {
                                #line 525 "/opt/haxe/std/haxe/io/Bytes.hx"
                global::StringBuf      s     = new global::StringBuf();
                global::Array <object> chars = new global::Array <object>(new object[] {});
                                #line 527 "/opt/haxe/std/haxe/io/Bytes.hx"
                string str = "0123456789abcdef";
                {
                                        #line 528 "/opt/haxe/std/haxe/io/Bytes.hx"
                    int _g = 0;
                                        #line 528 "/opt/haxe/std/haxe/io/Bytes.hx"
                    int _g1 = str.Length;
                                        #line 528 "/opt/haxe/std/haxe/io/Bytes.hx"
                    while ((_g < _g1))
                    {
                                                #line 528 "/opt/haxe/std/haxe/io/Bytes.hx"
                        int i = _g++;
                        chars.push((global::haxe.lang.StringExt.charCodeAt(str, i)).toDynamic());
                    }
                }

                                #line 530 "/opt/haxe/std/haxe/io/Bytes.hx"
                {
                                        #line 530 "/opt/haxe/std/haxe/io/Bytes.hx"
                    int _g2 = 0;
                                        #line 530 "/opt/haxe/std/haxe/io/Bytes.hx"
                    int _g3 = this.length;
                                        #line 530 "/opt/haxe/std/haxe/io/Bytes.hx"
                    while ((_g2 < _g3))
                    {
                                                #line 530 "/opt/haxe/std/haxe/io/Bytes.hx"
                        int i1 = _g2++;
                        int c  = ((int)(this.b[i1]));
                                                #line 532 "/opt/haxe/std/haxe/io/Bytes.hx"
                        s.addChar(((int)(global::haxe.lang.Runtime.toInt(chars[(c >> 4)]))));
                        s.addChar(((int)(global::haxe.lang.Runtime.toInt(chars[(c & 15)]))));
                    }
                }

                                #line 535 "/opt/haxe/std/haxe/io/Bytes.hx"
                return(s.b.ToString());
            }
                        #line default
        }
Example #7
0
        public static string buildArgumentsString(global::Array <string> args)
        {
            unchecked {
                                #line 80 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                if ((global::Sys.systemName() == "Windows"))
                {
                                        #line 82 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                    global::Array <string> _g = new global::Array <string>(new string[] {});
                    {
                                                #line 83 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                        int _g1 = 0;
                                                #line 83 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                        while ((_g1 < args.length))
                        {
                                                        #line 83 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                            string a = args[_g1];
                                                        #line 83 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                            ++_g1;
                            _g.push(global::haxe.SysTools.quoteWinArg(a, false));
                        }
                    }

                                        #line 82 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                    return(_g.@join(" "));
                }
                else
                {
                                        #line 89 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                    global::Array <string> _g2 = new global::Array <string>(new string[] {});
                    {
                                                #line 90 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                        int _g3 = 0;
                                                #line 90 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                        while ((_g3 < args.length))
                        {
                                                        #line 90 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                            string arg = args[_g3];
                                                        #line 90 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                            ++_g3;
                            global::StringBuf b = new global::StringBuf();
                                                        #line 92 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                            b.b.Append(((string)("\"")));
                            {
                                                                #line 93 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                int _g4 = 0;
                                                                #line 93 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                int _g5 = arg.Length;
                                                                #line 93 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                while ((_g4 < _g5))
                                {
                                                                        #line 93 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                    int i = _g4++;
                                    global::haxe.lang.Null <int> c = global::haxe.lang.StringExt.charCodeAt(arg, i);
                                                                        #line 95 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                    if (!(c.hasValue))
                                    {
                                    }
                                    else
                                    {
                                                                                #line 95 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                        switch (((c)).@value)
                                        {
                                        case 34:
                                        case 92:
                                        {
                                                                                                #line 97 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                            b.addChar(92);
                                                                                                #line 97 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                            break;
                                        }


                                        default:
                                        {
                                                                                                #line 98 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                            break;
                                        }
                                        }
                                    }

                                                                        #line 100 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                                    b.addChar((c).@value);
                                }
                            }

                                                        #line 102 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                            b.b.Append(((string)("\"")));
                            _g2.push(b.b.ToString());
                        }
                    }

                                        #line 89 "/opt/haxe/std/cs/_std/sys/io/Process.hx"
                    return(_g2.@join(" "));
                }
            }
                        #line default
        }
Example #8
0
 protected static void __hx_ctor__StringBuf(global::StringBuf __hx_this)
 {
             #line 32 "/opt/haxe/std/cs/_std/StringBuf.hx"
     __hx_this.b = new global::System.Text.StringBuilder();
 }
Example #9
0
 public static void __hx_ctor__StringBuf(global::StringBuf __hx_this)
 {
     __hx_this.b = new global::System.Text.StringBuilder();
 }
Example #10
0
        public static void itemToString(global::StringBuf b, global::haxe.StackItem s)
        {
            unchecked {
                                #line 155 "/opt/haxe/std/haxe/CallStack.hx"
                switch (s._hx_index)
                {
                case 0:
                {
                                                #line 157 "/opt/haxe/std/haxe/CallStack.hx"
                    b.b.Append(((string)("a C function")));
                                                #line 157 "/opt/haxe/std/haxe/CallStack.hx"
                    break;
                }


                case 1:
                {
                                                #line 158 "/opt/haxe/std/haxe/CallStack.hx"
                    string m = (s as global::haxe.StackItem_Module).m;
                                                #line 158 "/opt/haxe/std/haxe/CallStack.hx"
                    {
                                                        #line 159 "/opt/haxe/std/haxe/CallStack.hx"
                        b.b.Append(((string)("module ")));
                        b.b.Append(((string)(global::Std.@string(m))));
                    }

                                                #line 158 "/opt/haxe/std/haxe/CallStack.hx"
                    break;
                }


                case 2:
                {
                                                #line 161 "/opt/haxe/std/haxe/CallStack.hx"
                    global::haxe.lang.Null <int> col = (s as global::haxe.StackItem_FilePos).column;
                                                #line 161 "/opt/haxe/std/haxe/CallStack.hx"
                    int line = (s as global::haxe.StackItem_FilePos).line;
                                                #line 161 "/opt/haxe/std/haxe/CallStack.hx"
                    string file = (s as global::haxe.StackItem_FilePos).file;
                                                #line 161 "/opt/haxe/std/haxe/CallStack.hx"
                    global::haxe.StackItem s1 = (s as global::haxe.StackItem_FilePos).s;
                                                #line 161 "/opt/haxe/std/haxe/CallStack.hx"
                    {
                                                        #line 162 "/opt/haxe/std/haxe/CallStack.hx"
                        if ((s1 != null))
                        {
                                                                #line 163 "/opt/haxe/std/haxe/CallStack.hx"
                            global::haxe._CallStack.CallStack_Impl_.itemToString(b, s1);
                            b.b.Append(((string)(" (")));
                        }

                                                        #line 166 "/opt/haxe/std/haxe/CallStack.hx"
                        b.b.Append(((string)(global::Std.@string(file))));
                        b.b.Append(((string)(" line ")));
                                                        #line 168 "/opt/haxe/std/haxe/CallStack.hx"
                        b.b.Append(((string)(global::Std.@string(line))));
                        if (col.hasValue)
                        {
                                                                #line 170 "/opt/haxe/std/haxe/CallStack.hx"
                            b.b.Append(((string)(" column ")));
                            b.b.Append(((string)(global::Std.@string((col).toDynamic()))));
                        }

                                                        #line 173 "/opt/haxe/std/haxe/CallStack.hx"
                        if ((s1 != null))
                        {
                                                                #line 174 "/opt/haxe/std/haxe/CallStack.hx"
                            b.b.Append(((string)(")")));
                        }
                    }

                                                #line 161 "/opt/haxe/std/haxe/CallStack.hx"
                    break;
                }


                case 3:
                {
                                                #line 175 "/opt/haxe/std/haxe/CallStack.hx"
                    string meth = (s as global::haxe.StackItem_Method).method;
                                                #line 175 "/opt/haxe/std/haxe/CallStack.hx"
                    string cname = (s as global::haxe.StackItem_Method).classname;
                                                #line 175 "/opt/haxe/std/haxe/CallStack.hx"
                    {
                                                        #line 176 "/opt/haxe/std/haxe/CallStack.hx"
                        b.b.Append(((string)(global::Std.@string((((cname == null)) ? ("<unknown>") : (cname))))));
                        b.b.Append(((string)(".")));
                                                        #line 178 "/opt/haxe/std/haxe/CallStack.hx"
                        b.b.Append(((string)(global::Std.@string(meth))));
                    }

                                                #line 175 "/opt/haxe/std/haxe/CallStack.hx"
                    break;
                }


                case 4:
                {
                                                #line 179 "/opt/haxe/std/haxe/CallStack.hx"
                    global::haxe.lang.Null <int> n = (s as global::haxe.StackItem_LocalFunction).v;
                                                #line 179 "/opt/haxe/std/haxe/CallStack.hx"
                    {
                                                        #line 180 "/opt/haxe/std/haxe/CallStack.hx"
                        b.b.Append(((string)("local function #")));
                        b.b.Append(((string)(global::Std.@string((n).toDynamic()))));
                    }

                                                #line 179 "/opt/haxe/std/haxe/CallStack.hx"
                    break;
                }
                }
            }
                        #line default
        }
Example #11
0
    public static string htmlEscape(string s, global::haxe.lang.Null <bool> quotes)
    {
        unchecked {
                        #line 159 "/opt/haxe/std/StringTools.hx"
            global::StringBuf buf = new global::StringBuf();
            {
                                #line 160 "/opt/haxe/std/StringTools.hx"
                int _g_offset = 0;
                                #line 160 "/opt/haxe/std/StringTools.hx"
                string _g_s = s;
                                #line 160 "/opt/haxe/std/StringTools.hx"
                while ((_g_offset < _g_s.Length))
                {
                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    string s1 = _g_s;
                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    int index = _g_offset++;
                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    int c = (((((uint)(index)) < s1.Length)) ? (((int)(s1[index]))) : (-1));
                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    if (((c >= 55296) && (c <= 56319)))
                    {
                                                #line 160 "/opt/haxe/std/StringTools.hx"
                        int index1 = (index + 1);
                                                #line 597 "/opt/haxe/std/StringTools.hx"
                        c = (((c - 55232) << 10) | (((((((uint)(index1)) < s1.Length)) ? (((int)(s1[index1]))) : (-1))) & 1023));
                    }

                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    int c1 = c;
                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    if ((c1 >= 65536))
                    {
                                                #line 160 "/opt/haxe/std/StringTools.hx"
                        ++_g_offset;
                    }

                                        #line 160 "/opt/haxe/std/StringTools.hx"
                    int code = c1;
                    switch (code)
                    {
                    case 34:
                    {
                                                        #line 168 "/opt/haxe/std/StringTools.hx"
                        if (((quotes)).@value)
                        {
                                                                #line 169 "/opt/haxe/std/StringTools.hx"
                            buf.b.Append(((string)("&quot;")));
                        }
                        else
                        {
                                                                #line 173 "/opt/haxe/std/StringTools.hx"
                            buf.addChar(code);
                        }

                                                        #line 168 "/opt/haxe/std/StringTools.hx"
                        break;
                    }


                    case 38:
                    {
                                                        #line 163 "/opt/haxe/std/StringTools.hx"
                        buf.b.Append(((string)("&amp;")));
                                                        #line 163 "/opt/haxe/std/StringTools.hx"
                        break;
                    }


                    case 39:
                    {
                                                        #line 170 "/opt/haxe/std/StringTools.hx"
                        if (((quotes)).@value)
                        {
                                                                #line 171 "/opt/haxe/std/StringTools.hx"
                            buf.b.Append(((string)("&#039;")));
                        }
                        else
                        {
                                                                #line 173 "/opt/haxe/std/StringTools.hx"
                            buf.addChar(code);
                        }

                                                        #line 170 "/opt/haxe/std/StringTools.hx"
                        break;
                    }


                    case 60:
                    {
                                                        #line 165 "/opt/haxe/std/StringTools.hx"
                        buf.b.Append(((string)("&lt;")));
                                                        #line 165 "/opt/haxe/std/StringTools.hx"
                        break;
                    }


                    case 62:
                    {
                                                        #line 167 "/opt/haxe/std/StringTools.hx"
                        buf.b.Append(((string)("&gt;")));
                                                        #line 167 "/opt/haxe/std/StringTools.hx"
                        break;
                    }


                    default:
                    {
                                                        #line 173 "/opt/haxe/std/StringTools.hx"
                        buf.addChar(code);
                                                        #line 173 "/opt/haxe/std/StringTools.hx"
                        break;
                    }
                    }
                }
            }

                        #line 176 "/opt/haxe/std/StringTools.hx"
            return(buf.b.ToString());
        }
                #line default
    }
Example #12
0
    public static string quoteWinArg(string argument, bool escapeMetaCharacters)
    {
        unchecked {
                        #line 578 "/opt/haxe/std/StringTools.hx"
            string argument1 = argument;
                        #line 578 "/opt/haxe/std/StringTools.hx"
            if (!(new global::EReg("^[^ \t\\\\\"]+$", "").match(argument1)))
            {
                                #line 578 "/opt/haxe/std/StringTools.hx"
                global::StringBuf result = new global::StringBuf();
                                #line 578 "/opt/haxe/std/StringTools.hx"
                bool needquote = (((global::haxe.lang.StringExt.indexOf(argument1, " ", default(global::haxe.lang.Null <int>)) != -1) || (global::haxe.lang.StringExt.indexOf(argument1, "\t", default(global::haxe.lang.Null <int>)) != -1)) || (argument1 == ""));
                                #line 578 "/opt/haxe/std/StringTools.hx"
                if (needquote)
                {
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    result.b.Append(((string)("\"")));
                }

                                #line 578 "/opt/haxe/std/StringTools.hx"
                global::StringBuf bs_buf = new global::StringBuf();
                                #line 578 "/opt/haxe/std/StringTools.hx"
                {
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    int _g = 0;
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    int _g1 = argument1.Length;
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    while ((_g < _g1))
                    {
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        int i = _g++;
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        {
                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                            global::haxe.lang.Null <int> _g2 = global::haxe.lang.StringExt.charCodeAt(argument1, i);
                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                            if (!(_g2.hasValue))
                            {
                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                global::haxe.lang.Null <int> c = _g2;
                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                {
                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                    if ((bs_buf.b.Length > 0))
                                    {
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                        {
                                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                            string x = bs_buf.b.ToString();
                                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                            result.b.Append(((string)(global::Std.@string(x))));
                                        }

                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                        bs_buf = new global::StringBuf();
                                    }

                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                    result.addChar((c).@value);
                                }
                            }
                            else
                            {
                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                switch (((_g2)).@value)
                                {
                                case 34:
                                {
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    string bs = bs_buf.b.ToString();
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    result.b.Append(((string)(global::Std.@string(bs))));
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    result.b.Append(((string)(global::Std.@string(bs))));
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    bs_buf = new global::StringBuf();
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    result.b.Append(((string)("\\\"")));
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    break;
                                }


                                case 92:
                                {
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    bs_buf.b.Append(((string)("\\")));
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    break;
                                }


                                default:
                                {
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    global::haxe.lang.Null <int> c1 = _g2;
                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    {
                                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                        if ((bs_buf.b.Length > 0))
                                        {
                                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                            {
                                                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                                string x1 = bs_buf.b.ToString();
                                                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                                result.b.Append(((string)(global::Std.@string(x1))));
                                            }

                                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                            bs_buf = new global::StringBuf();
                                        }

                                                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                                        result.addChar((c1).@value);
                                    }

                                                                                #line 578 "/opt/haxe/std/StringTools.hx"
                                    break;
                                }
                                }
                            }
                        }
                    }
                }

                                #line 578 "/opt/haxe/std/StringTools.hx"
                {
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    string x2 = bs_buf.b.ToString();
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    result.b.Append(((string)(global::Std.@string(x2))));
                }

                                #line 578 "/opt/haxe/std/StringTools.hx"
                if (needquote)
                {
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    {
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        string x3 = bs_buf.b.ToString();
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        result.b.Append(((string)(global::Std.@string(x3))));
                    }

                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    result.b.Append(((string)("\"")));
                }

                                #line 578 "/opt/haxe/std/StringTools.hx"
                argument1 = result.b.ToString();
            }

                        #line 578 "/opt/haxe/std/StringTools.hx"
            if (escapeMetaCharacters)
            {
                                #line 578 "/opt/haxe/std/StringTools.hx"
                global::StringBuf result1 = new global::StringBuf();
                                #line 578 "/opt/haxe/std/StringTools.hx"
                {
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    int _g3 = 0;
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    int _g4 = argument1.Length;
                                        #line 578 "/opt/haxe/std/StringTools.hx"
                    while ((_g3 < _g4))
                    {
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        int i1 = _g3++;
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        global::haxe.lang.Null <int> c2 = global::haxe.lang.StringExt.charCodeAt(argument1, i1);
                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        if ((global::haxe.SysTools.winMetaCharacters.indexOf((c2).@value, default(global::haxe.lang.Null <int>)) >= 0))
                        {
                                                        #line 578 "/opt/haxe/std/StringTools.hx"
                            result1.addChar(94);
                        }

                                                #line 578 "/opt/haxe/std/StringTools.hx"
                        result1.addChar((c2).@value);
                    }
                }

                                #line 578 "/opt/haxe/std/StringTools.hx"
                return(result1.b.ToString());
            }
            else
            {
                                #line 578 "/opt/haxe/std/StringTools.hx"
                return(argument1);
            }
        }
                #line default
    }
Example #13
0
        public virtual string parseString()
        {
            unchecked {
                int start             = this.pos;
                global::StringBuf buf = null;
                while (true)
                {
                    string s     = this.str;
                    int    index = this.pos++;
                    int    c     = ((((bool)((((uint)(index)) < s.Length)))) ? (((int)(s[index]))) : (-1));
                    if ((c == 34))
                    {
                        break;
                    }

                    if ((c == 92))
                    {
                        if ((buf == null))
                        {
                            buf = new global::StringBuf();
                        }

                        {
                            string s1 = this.str;
                            global::haxe.lang.Null <int> len = new global::haxe.lang.Null <int>(((this.pos - start) - 1), true);
                            buf.b.Append(((string)(s1)), ((int)(start)), ((int)(((!(len.hasValue)) ? ((s1.Length - start)) : ((len).@value)))));
                        }

                        string s2     = this.str;
                        int    index1 = this.pos++;
                        if (((bool)((((uint)(index1)) < s2.Length))))
                        {
                            c = ((int)(s2[index1]));
                        }
                        else
                        {
                            c = -1;
                        }

                        switch (c)
                        {
                        case 34:
                        case 47:
                        case 92:
                        {
                            buf.b.Append(((char)(c)));
                            break;
                        }


                        case 98:
                        {
                            buf.b.Append(((char)(8)));
                            break;
                        }


                        case 102:
                        {
                            buf.b.Append(((char)(12)));
                            break;
                        }


                        case 110:
                        {
                            buf.b.Append(((char)(10)));
                            break;
                        }


                        case 114:
                        {
                            buf.b.Append(((char)(13)));
                            break;
                        }


                        case 116:
                        {
                            buf.b.Append(((char)(9)));
                            break;
                        }


                        case 117:
                        {
                            global::haxe.lang.Null <int> uc = global::Std.parseInt(global::haxe.lang.Runtime.concat("0x", global::haxe.lang.StringExt.substr(this.str, this.pos, new global::haxe.lang.Null <int>(4, true))));
                            this.pos += 4;
                            buf.b.Append(((char)((uc).@value)));
                            break;
                        }


                        default:
                        {
                            throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("Invalid escape sequence \\", new string(((char)(c)), 1)), " at position "), global::haxe.lang.Runtime.toString(((this.pos - 1)))));
                        }
                        }

                        start = this.pos;
                    }
                    else if ((c == -1))
                    {
                        throw global::haxe.lang.HaxeException.wrap("Unclosed string");
                    }
                }

                if ((buf == null))
                {
                    return(global::haxe.lang.StringExt.substr(this.str, start, new global::haxe.lang.Null <int>(((this.pos - start) - 1), true)));
                }
                else
                {
                    {
                        string s3 = this.str;
                        global::haxe.lang.Null <int> len1 = new global::haxe.lang.Null <int>(((this.pos - start) - 1), true);
                        buf.b.Append(((string)(s3)), ((int)(start)), ((int)(((!(len1.hasValue)) ? ((s3.Length - start)) : ((len1).@value)))));
                    }

                    return(buf.b.ToString());
                }
            }
        }
Example #14
0
        public static void itemToString(global::StringBuf b, global::haxe.StackItem s)
        {
            unchecked {
                switch (s.index)
                {
                case 0:
                {
                    b.b.Append(((string)("a C function")));
                    break;
                }


                case 1:
                {
                    string m = global::haxe.lang.Runtime.toString(s.@params[0]);
                    {
                        b.b.Append(((string)("module ")));
                        b.b.Append(((string)(global::Std.@string(m))));
                    }

                    break;
                }


                case 2:
                {
                    int    line = ((int)(global::haxe.lang.Runtime.toInt(s.@params[2])));
                    string file = global::haxe.lang.Runtime.toString(s.@params[1]);
                    global::haxe.StackItem s1 = ((global::haxe.StackItem)(s.@params[0]));
                    {
                        if ((s1 != null))
                        {
                            global::haxe.CallStack.itemToString(b, s1);
                            b.b.Append(((string)(" (")));
                        }

                        b.b.Append(((string)(global::Std.@string(file))));
                        b.b.Append(((string)(" line ")));
                        b.b.Append(((string)(global::Std.@string(line))));
                        if ((s1 != null))
                        {
                            b.b.Append(((string)(")")));
                        }
                    }

                    break;
                }


                case 3:
                {
                    string meth  = global::haxe.lang.Runtime.toString(s.@params[1]);
                    string cname = global::haxe.lang.Runtime.toString(s.@params[0]);
                    {
                        b.b.Append(((string)(global::Std.@string(cname))));
                        b.b.Append(((string)(".")));
                        b.b.Append(((string)(global::Std.@string(meth))));
                    }

                    break;
                }


                case 4:
                {
                    global::haxe.lang.Null <int> n = global::haxe.lang.Null <object> .ofDynamic <int>(s.@params[0]);

                    {
                        b.b.Append(((string)("local function #")));
                        b.b.Append(((string)(global::Std.@string((n).toDynamic()))));
                    }

                    break;
                }
                }
            }
        }
Example #15
0
        public static string normalize(string path)
        {
            unchecked {
                                #line 211 "/opt/haxe/std/haxe/io/Path.hx"
                string slash = "/";
                path = global::haxe.lang.StringExt.split(path, "\\").@join(slash);
                                #line 213 "/opt/haxe/std/haxe/io/Path.hx"
                if ((path == slash))
                {
                                        #line 214 "/opt/haxe/std/haxe/io/Path.hx"
                    return(slash);
                }

                                #line 216 "/opt/haxe/std/haxe/io/Path.hx"
                global::Array <string> target = new global::Array <string>(new string[] {});
                                #line 218 "/opt/haxe/std/haxe/io/Path.hx"
                {
                                        #line 218 "/opt/haxe/std/haxe/io/Path.hx"
                    int _g = 0;
                                        #line 218 "/opt/haxe/std/haxe/io/Path.hx"
                    global::Array <string> _g1 = global::haxe.lang.StringExt.split(path, slash);
                                        #line 218 "/opt/haxe/std/haxe/io/Path.hx"
                    while ((_g < _g1.length))
                    {
                                                #line 218 "/opt/haxe/std/haxe/io/Path.hx"
                        string token = _g1[_g];
                                                #line 218 "/opt/haxe/std/haxe/io/Path.hx"
                        ++_g;
                        if ((((token == "..") && (target.length > 0)) && (target[(target.length - 1)] != "..")))
                        {
                                                        #line 220 "/opt/haxe/std/haxe/io/Path.hx"
                            string __temp_expr1 = global::haxe.lang.Runtime.toString((target.pop()).toDynamic());
                        }
                        else if ((token == ""))
                        {
                                                        #line 222 "/opt/haxe/std/haxe/io/Path.hx"
                            if (((target.length > 0) || global::haxe.lang.Runtime.eq((global::haxe.lang.StringExt.charCodeAt(path, 0)).toDynamic(), 47)))
                            {
                                                                #line 223 "/opt/haxe/std/haxe/io/Path.hx"
                                target.push(token);
                            }
                        }
                        else if ((token != "."))
                        {
                                                        #line 226 "/opt/haxe/std/haxe/io/Path.hx"
                            target.push(token);
                        }
                    }
                }

                                #line 230 "/opt/haxe/std/haxe/io/Path.hx"
                string            tmp = target.@join(slash);
                global::StringBuf acc = new global::StringBuf();
                                #line 232 "/opt/haxe/std/haxe/io/Path.hx"
                bool colon   = false;
                bool slashes = false;
                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                {
                                        #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                    int _g2_offset = 0;
                                        #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                    string _g2_s = tmp;
                                        #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                    while ((_g2_offset < _g2_s.Length))
                    {
                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        string s = _g2_s;
                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        int index = _g2_offset++;
                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        int c = (((((uint)(index)) < s.Length)) ? (((int)(s[index]))) : (-1));
                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        if (((c >= 55296) && (c <= 56319)))
                        {
                                                        #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                            int index1 = (index + 1);
                                                        #line 597 "/opt/haxe/std/StringTools.hx"
                            c = (((c - 55232) << 10) | (((((((uint)(index1)) < s.Length)) ? (((int)(s[index1]))) : (-1))) & 1023));
                        }

                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        int c1 = c;
                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        if ((c1 >= 65536))
                        {
                                                        #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                            ++_g2_offset;
                        }

                                                #line 235 "/opt/haxe/std/haxe/io/Path.hx"
                        int c2 = c1;
                        switch (c2)
                        {
                        case 47:
                        {
                                                                #line 244 "/opt/haxe/std/haxe/io/Path.hx"
                            if (!(colon))
                            {
                                                                        #line 245 "/opt/haxe/std/haxe/io/Path.hx"
                                slashes = true;
                            }
                            else
                            {
                                                                        #line 246 "/opt/haxe/std/haxe/io/Path.hx"
                                int i = c2;
                                                                        #line 246 "/opt/haxe/std/haxe/io/Path.hx"
                                {
                                                                                #line 247 "/opt/haxe/std/haxe/io/Path.hx"
                                    colon = false;
                                    if (slashes)
                                    {
                                                                                        #line 249 "/opt/haxe/std/haxe/io/Path.hx"
                                        acc.b.Append(((string)("/")));
                                        slashes = false;
                                    }

                                                                                #line 252 "/opt/haxe/std/haxe/io/Path.hx"
                                    acc.addChar(i);
                                }
                            }

                                                                #line 244 "/opt/haxe/std/haxe/io/Path.hx"
                            break;
                        }


                        case 58:
                        {
                                                                #line 242 "/opt/haxe/std/haxe/io/Path.hx"
                            acc.b.Append(((string)(":")));
                            colon = true;
                                                                #line 241 "/opt/haxe/std/haxe/io/Path.hx"
                            break;
                        }


                        default:
                        {
                                                                #line 246 "/opt/haxe/std/haxe/io/Path.hx"
                            int i1 = c2;
                                                                #line 246 "/opt/haxe/std/haxe/io/Path.hx"
                            {
                                                                        #line 247 "/opt/haxe/std/haxe/io/Path.hx"
                                colon = false;
                                if (slashes)
                                {
                                                                                #line 249 "/opt/haxe/std/haxe/io/Path.hx"
                                    acc.b.Append(((string)("/")));
                                    slashes = false;
                                }

                                                                        #line 252 "/opt/haxe/std/haxe/io/Path.hx"
                                acc.addChar(i1);
                            }

                                                                #line 246 "/opt/haxe/std/haxe/io/Path.hx"
                            break;
                        }
                        }
                    }
                }

                                #line 256 "/opt/haxe/std/haxe/io/Path.hx"
                return(acc.b.ToString());
            }
                        #line default
        }
Example #16
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)));
                }
                }
            }
        }