| LEFT | RIGHT | 
| (no file at all) |  | 
|    1 /* |    1 /* | 
|    2  * This file is part of Adblock Plus <http://adblockplus.org/>, |    2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
|    3  * Copyright (C) 2006-2014 Eyeo GmbH |    3  * Copyright (C) 2006-2014 Eyeo GmbH | 
|    4  * |    4  * | 
|    5  * Adblock Plus is free software: you can redistribute it and/or modify |    5  * Adblock Plus is free software: you can redistribute it and/or modify | 
|    6  * it under the terms of the GNU General Public License version 3 as |    6  * it under the terms of the GNU General Public License version 3 as | 
|    7  * published by the Free Software Foundation. |    7  * published by the Free Software Foundation. | 
|    8  * |    8  * | 
|    9  * Adblock Plus is distributed in the hope that it will be useful, |    9  * Adblock Plus is distributed in the hope that it will be useful, | 
|   10  * but WITHOUT ANY WARRANTY; without even the implied warranty of |   10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
|   38  * |   38  * | 
|   39  * The first parameter to ObjectType defines object properties and methods. A |   39  * The first parameter to ObjectType defines object properties and methods. A | 
|   40  * name can either be associted with a type (property) or function (method). |   40  * name can either be associted with a type (property) or function (method). | 
|   41  * Numeric value types from the ECMAScript Harmony proposal are predefined as |   41  * Numeric value types from the ECMAScript Harmony proposal are predefined as | 
|   42  * well as "boolean" which is an alias for uint8. In addition to that, already |   42  * well as "boolean" which is an alias for uint8. In addition to that, already | 
|   43  * defined object types can be used. |   43  * defined object types can be used. | 
|   44  * |   44  * | 
|   45  * The optional second parameter sets type metadata: |   45  * The optional second parameter sets type metadata: | 
|   46  * |   46  * | 
|   47  *    constructor: function that will be called whenever an object of the type |   47  *    constructor: function that will be called whenever an object of the type | 
|   48  *        is created. |   48  *        is created. Parameters supplied during object creation will be passed | 
 |   49  *        to the constructor. | 
 |   50  *    destructor: function that will be called when an object of the type is | 
 |   51  *        freed. | 
|   49  *    bufferSize: number of objects that should be placed into a single typed |   52  *    bufferSize: number of objects that should be placed into a single typed | 
|   50  *        buffer (by default 128). |   53  *        buffer (by default 128). | 
|   51  * |   54  * | 
|   52  * Creating an object instance |   55  * Creating and releasing an object instance | 
|   53  * --------------------------- |   56  * ----------------------------------------- | 
|   54  * |   57  * | 
|   55  *    var point = Point2D(5, 10); |   58  *    var point = Point2D(5, 10); | 
|   56  *    point.rotate(10); |   59  *    point.rotate(10); | 
|   57  *    Console.log(point.x + ", " + point.y); |   60  *    console.log(point.x + ", " + point.y); | 
|   58  * |   61  * | 
|   59  * The parameters 5 and 10 will be passed to the constructor function defined |   62  * The parameters 5 and 10 will be passed to the constructor function defined | 
|   60  * for this type. |   63  * for this type. | 
 |   64  * | 
 |   65  * Once the object instance is no longer needed it should be released: | 
 |   66  * | 
 |   67  *    point.release(); | 
 |   68  * | 
 |   69  * This will not necessarily free the object but merely decrease its reference | 
 |   70  * count. The object will only be freed when its reference count reaches zero. | 
 |   71  * | 
 |   72  * If you need to hold on to an object that you didn't create (e.g. a function | 
 |   73  * parameter) you have to call object.retain() to increase its reference count. | 
 |   74  * Once the object is no longer needed you should call object.release(). | 
 |   75  * However, it is preferable to use references from other typed objects to hold | 
 |   76  * on to an object - the necessary reference count increases and decreases will | 
 |   77  * be performed automatically then. | 
|   61  * |   78  * | 
|   62  * Type inheritance |   79  * Type inheritance | 
|   63  * ---------------- |   80  * ---------------- | 
|   64  * |   81  * | 
|   65  *    var Point3D = Point2D.extend({ |   82  *    var Point3D = Point2D.extend({ | 
|   66  *      z: uint32 |   83  *      z: uint32 | 
|   67  *    }, { |   84  *    }, { | 
|   68  *      constructor: function(super_, x, y, z) |   85  *      constructor: function(super_, x, y, z) | 
|   69  *      { |   86  *      { | 
|   70  *        super_(x, y); |   87  *        super_(x, y); | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
|   96  |  113  | 
|   97 function forwardExports(module) |  114 function forwardExports(module) | 
|   98 { |  115 { | 
|   99   let moduleExports = require(module); |  116   let moduleExports = require(module); | 
|  100   for (let key in moduleExports) |  117   for (let key in moduleExports) | 
|  101     exports[key] = moduleExports[key]; |  118     exports[key] = moduleExports[key]; | 
|  102 } |  119 } | 
|  103  |  120  | 
|  104 forwardExports("typedObjects/primitiveTypes"); |  121 forwardExports("typedObjects/primitiveTypes"); | 
|  105 forwardExports("typedObjects/objectTypes"); |  122 forwardExports("typedObjects/objectTypes"); | 
| LEFT | RIGHT |