Exemplo n.º 1
0
        public override object Call1(Class last_class, object recv, Frame caller, Proc block, object level)
        {
            Array list = new Array();
            int skip = (int)level;

            int i = 0;
            while (caller != null)
            {
                if (i >= skip)
                    list.Add(new String(caller.callPoint()));

                caller = caller.caller;
                i++;
            }

            return list;
        }
Exemplo n.º 2
0
        internal static void rb_bug(string mesg, Frame caller)
        {
            System.IO.TextWriter stderr = System.Console.Error;

            if (caller != null)
                stderr.Write(caller.callPoint());
            stderr.Write("[BUG] ");
            stderr.Write(mesg);
            stderr.Write(string.Format(CultureInfo.InvariantCulture, "\nruby {0} ({1}) [{2}]\n\n", new object[] { Version.ruby_version, Version.ruby_release_date, Version.ruby_platform }));

            try
            {
                System.Diagnostics.Process.GetCurrentProcess().Kill();
            }
            catch
            {
            }
        }