From 737d669e4ad4c8cc9ad3e04a51c974f013ce2c02 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Tue, 11 Jun 2013 10:19:12 -0600 Subject: [PATCH] Correct types --- src/ol/expression/expression.js | 13 +++++++++---- src/ol/expression/parser.js | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/ol/expression/expression.js b/src/ol/expression/expression.js index 5ed75c7556..e51ca718ba 100644 --- a/src/ol/expression/expression.js +++ b/src/ol/expression/expression.js @@ -46,13 +46,14 @@ ol.expression.Expression.prototype.evaluate = goog.abstractMethod; * * @constructor * @extends {ol.expression.Expression} - * @param {expr} expr An expression that resolves to a function. + * @param {ol.expression.Expression} expr An expression that resolves to a + * function. * @param {Array.} args Arguments. */ ol.expression.Call = function(expr, args) { /** - * @type {expr} + * @type {ol.expression.Expression} * @private */ this.expr_ = expr; @@ -74,7 +75,7 @@ ol.expression.Call.prototype.evaluate = function(scope, opt_fns, opt_this) { var fnScope = goog.isDefAndNotNull(opt_fns) ? opt_fns : scope; var fn = this.expr_.evaluate(fnScope); if (!fn || !goog.isFunction(fn)) { - throw new Error('No function in provided scope: ' + this.name_); + throw new Error('Expected function but found ' + fn); } var thisArg = goog.isDef(opt_this) ? opt_this : {}; @@ -458,7 +459,11 @@ goog.inherits(ol.expression.Member, ol.expression.Expression); */ ol.expression.Member.prototype.evaluate = function(scope, opt_fns, opt_this) { var obj = this.expr_.evaluate(scope, opt_fns, opt_this); - return this.property_.evaluate(obj); + if (!goog.isObject(obj)) { + throw new Error('Expected member expression to evaluate to an object ' + + 'but got ' + obj); + } + return this.property_.evaluate(/** @type {Object} */ (obj)); }; diff --git a/src/ol/expression/parser.js b/src/ol/expression/parser.js index b9ebcea859..6762dc2f02 100644 --- a/src/ol/expression/parser.js +++ b/src/ol/expression/parser.js @@ -154,7 +154,7 @@ ol.expression.Parser.prototype.createBinaryExpression_ = function(operator, * @private */ ol.expression.Parser.prototype.createCallExpression_ = function(expr, args) { - return new ol.expressions.Call(expr, args); + return new ol.expression.Call(expr, args); };