Ejemplo n.º 1
0
        public override string ToString(Context cx)
        {
            string content  = cx.SR(A) + "(" + cx.ListSR(A + 1, A + B - 1, "") + ")";
            bool   haslocal = false;

            for (ushort i = A; i <= A + C - 2; i++)
            {
                if (!cx.IsLocal(i))
                {
                    cx.DefineLocal(i);                                     //this fails, if this Register is used otherwise later
                }
                if (cx.IsLocal(i))
                {
                    haslocal = true;
                }
            }

            if (A <= A + C - 2)
            {
                if (!haslocal)
                {
                    if (!ObjLuaFunction.DEBUG)
                    {
                        return("");
                    }
                    return("// " + ListR(A, A + C - 2, " = ", ", ... ,") + content);
                }
                else
                {
                    string ret = "";
                    for (ushort i = A; i <= A + C - 2; i++)
                    {
                        if (i > A)
                        {
                            ret += ",";
                        }
                        if (cx.IsLocal(i))
                        {
                            ret += cx.LocalName(i);
                        }
                        else
                        {
                            ret += R(i);
                        }
                    }

                    return(ret + " = " + content);
                }
            }

            return(content);
        }
Ejemplo n.º 2
0
        public override string ToString(Context cx)
        {
            if (!cx.IsLocal(A))
            {
                cx.DefineLocal(A);                                 //this fails, if this Register is used otherwise later
            }
            if (cx.IsLocal(A))
            {
                return("local " + cx.SR(A) + " = " + cx.SKst(BX));
            }

            if (!ObjLuaFunction.DEBUG)
            {
                return("");
            }
            return("// " + R(A) + " = " + cx.SKst(BX));
        }