js/src/jit-test/tests/auto-regress/bug499169.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Binary: cache/js-dbg-32-30b481fd82f5-linux
     2 // Flags: -j
     3 //
     4 var Native = function(k) {
     5     var f = k.initialize;
     6     var d = f;
     7     var j = function(n, l, o, m) {
     8         n.prototype[l] = o;
     9     };
    10     d.alias = function(n, l, o) {
    11         n = this.prototype[n]
    12         return j(this, l, n, o);
    13     };
    14     d.implement = function(m, l, o) {
    15         for (var n in m) {
    16             j(this, n, m[n], l);
    17         }
    18     }
    19     return d;
    20 };
    21 (function() {
    22     var a = {
    23         Array: Array,
    24         Function: Function,
    25     };
    26     for (var h in a) {
    27         new Native({
    28             initialize: a[h],
    29         });
    30     }
    31 } ());
    32 Array.alias("forEach", "each");
    33 function $merge() {
    34     var a = Array.slice(arguments);
    35     a.unshift({});
    36     return $mixin.apply(null, a);
    37 }
    38 function $mixin(e) {
    39     for (var d = 1, a = arguments.length; d < a; d++) {
    40         var b = arguments[d];
    41         for (var c in b) {
    42             var g = b[c],
    43             f = e[c];
    44             e[c] = f && $type(g) == "object" && $type(f) == "object" ? $mixin(f, g) : $unlink(g);
    45         }
    46     }
    47 }
    48 function $type(a) {
    49     if (a == undefined) {
    50         return false;
    51     }
    52     if (a.$family) {
    53     }
    54     return typeof a;
    55 }
    56 function $unlink(c) {
    57     if ($type(c) == "object") {
    58         b = {};
    59     }
    60     return b;
    61 }
    62 var Window = new Native({
    63     initialize: function(a) {},
    64 });
    65 Array.implement({
    66     extend: function(c) {
    67         return this;
    68     }
    69 });
    70 Function.implement({
    71     extend: function(a) {
    72         for (var b in a) {
    73             this[b] = a[b];
    74         }
    75         return this;
    76     },
    77     run: function(a, b) {
    78         return this.apply(b, a);
    79     }
    80 });
    81 function Class(b) {
    82     var a = function() {
    83         Object.reset(this);
    84         var c = this.initialize ? this.initialize.apply(this, arguments) : this;
    85     }.extend(this);
    86     a.implement(b);
    87     return a;
    88 }
    89 Object.reset = function(a, c) {
    90     if (c == null) {
    91         for (var e in a) {
    92             Object.reset(a, e);
    93         }
    94     }
    95     switch ($type(a[c])) {
    96     case "object":
    97         var d = function() {};
    98         d.prototype = a[c];
    99         var b = new d;
   100         a[c] = Object.reset(b);
   101     }
   102     return a;
   103 };
   104 (new Native({initialize: Class})).extend({});
   105     function wrap(a, b, c) {
   106         return function() {
   107             var d = c.apply(this, arguments);
   108         }.extend({});
   109     }
   110 Class.implement({
   111     implement: function(a, d) {
   112         if ($type(a) == "object") {
   113             for (var e in a) {
   114                 this.implement(e, a[e]);
   115             }
   116         }
   117         var f = Class.Mutators[a];
   118         if (f) {
   119             d = f.call(this, d);
   120         }
   121         var c = this.prototype;
   122         switch ($type(d)) {
   123         case "function":
   124             c[a] = wrap(this, a, d);
   125             break;
   126         case "object":
   127             var b = c[a];
   128             if ($type(b) == "object") {
   129                 $mixin(b, d);
   130             } else {
   131                 c[a] = $unlink(d);
   132             }
   133         }
   134     }
   135 });
   136 Class.Mutators = {
   137     Extends: function(a) {
   138         this.prototype = new a;
   139     },
   140     Implements: function(a) {
   141         a.each(function(b) {
   142             b = new b;
   143             this.implement(b);
   144         },
   145         this);
   146     }
   147 };
   148 var Events = new Class({});
   149 var Options = new Class({
   150     setOptions: function() {
   151         this.options = $merge.run([this.options].extend(arguments));
   152     }
   153 });
   154 var Autocompleter = {};
   155 Autocompleter.Base = new Class({
   156     Implements: [Options, Events],
   157     options: {},
   158 });
   159 Autocompleter.Ajax = {};
   160 Autocompleter.Ajax.Base = new Class({
   161     Extends: Autocompleter.Base,
   162     options: {
   163         postVar: "value",
   164         onRequest: function(){},
   165     }
   166 });
   167 Autocompleter.Ajax.Json = new Class({
   168     Extends: Autocompleter.Ajax.Base,
   169 });
   170 Autocompleter.JsonP = new Class({
   171     Extends: Autocompleter.Ajax.Json,
   172     options: {
   173         minLength: 1
   174     },
   175     initialize: function(el, url, options) {
   176         this.setOptions({});
   177     }
   178 });
   179 new Autocompleter.JsonP();

mercurial