openlayers/ol3 — pull request #1332 by elemoine (2013-12-04 17:18:34+00:00)
Title: ol.Collection and @template

This is an attempt/work in progress to make a more thorough use of `@template` for `ol.Collection`.

At this point I get more warnings at compile time:

```
../src/ol/collection.js:123: WARNING - Unable to determine type of parameter ol.Collection.prototype.forEach for exported function opt_obj$$29
ol.Collection.prototype.forEach = function(f, opt_obj) {
^

../src/ol/collection.js:149: WARNING - Unable to determine return type for exported function ol.Collection.prototype.getAt
ol.Collection.prototype.getAt = function(index) {
^

../src/ol/collection.js:171: WARNING - Unable to determine type of parameter ol.Collection.prototype.insertAt for exported function elem$$1
ol.Collection.prototype.insertAt = function(index, elem) {
^

../src/ol/collection.js:185: WARNING - Unable to determine return type for exported function ol.Collection.prototype.pop
ol.Collection.prototype.pop = function() {
^

../src/ol/collection.js:197: WARNING - Unable to determine type of parameter ol.Collection.prototype.push for exported function elem$$2
ol.Collection.prototype.push = function(elem) {
^

../src/ol/collection.js:211: WARNING - Unable to determine return type for exported function ol.Collection.prototype.remove
ol.Collection.prototype.remove = function(elem) {
^

../src/ol/collection.js:211: WARNING - Unable to determine type of parameter ol.Collection.prototype.remove for exported function elem$$3
ol.Collection.prototype.remove = function(elem) {
^

../src/ol/collection.js:230: WARNING - Unable to determine return type for exported function ol.Collection.prototype.removeAt
ol.Collection.prototype.removeAt = function(index) {
^

../src/ol/collection.js:247: WARNING - Unable to determine type of parameter ol.Collection.prototype.setAt for exported function elem$$4
ol.Collection.prototype.setAt = function(index, elem) {
^

0 error(s), 9 warning(s), 95,1% typed
```