Use goog.object.get to suppress compiler warning about use of [] with struct

This commit is contained in:
Tom Payne
2013-12-13 20:36:32 +01:00
parent 6e3bcc7478
commit d63fec80d1
+16 -10
View File
@@ -299,8 +299,10 @@ ol.Object.prototype.get = function(key) {
var target = accessor.target; var target = accessor.target;
var targetKey = accessor.key; var targetKey = accessor.key;
var getterName = ol.Object.getGetterName(targetKey); var getterName = ol.Object.getGetterName(targetKey);
if (target[getterName]) { var getter = /** @type {function(): *|undefined} */
value = target[getterName](); (goog.object.get(target, getterName));
if (goog.isDef(getter)) {
value = getter.call(target);
} else { } else {
value = target.get(targetKey); value = target.get(targetKey);
} }
@@ -406,10 +408,12 @@ ol.Object.prototype.set = function(key, value) {
var accessor = accessors[key]; var accessor = accessors[key];
var target = accessor.target; var target = accessor.target;
var targetKey = accessor.key; var targetKey = accessor.key;
var setterName = ol.Object.getSetterName(targetKey);
value = accessor.from(value); value = accessor.from(value);
if (target[setterName]) { var setterName = ol.Object.getSetterName(targetKey);
target[setterName](value); var setter = /** @type {function(*)|undefined} */
(goog.object.get(target, setterName));
if (goog.isDef(setter)) {
setter.call(target, value);
} else { } else {
target.set(targetKey, value); target.set(targetKey, value);
} }
@@ -426,12 +430,14 @@ ol.Object.prototype.set = function(key, value) {
* @todo stability experimental * @todo stability experimental
*/ */
ol.Object.prototype.setValues = function(values) { ol.Object.prototype.setValues = function(values) {
var key, value, setterName; var key;
for (key in values) { for (key in values) {
value = values[key]; var value = values[key];
setterName = ol.Object.getSetterName(key); var setterName = ol.Object.getSetterName(key);
if (this[setterName]) { var setter = /** @type {function(*)|undefined} */
this[setterName](value); (goog.object.get(this, setterName));
if (goog.isDef(setter)) {
setter.call(this, value);
} else { } else {
this.set(key, value); this.set(key, value);
} }