1 Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) {
2 var e;
3 var expectedType = expectedParam.type;
4 var expectedInteger = !!expectedParam.integer;
5 var expectedDomElement = !!expectedParam.domElement;
6 var mayBeNull = !!expectedParam.mayBeNull;
7 e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName);
8 if (e) {
9 e.popStackFrame();
10 return e;
11 }
12 var expectedElementType = expectedParam.elementType;
13 var elementMayBeNull = !!expectedParam.elementMayBeNull;
14 if (expectedType === Array && typeof(param) !== "undefined" && param !== null &&
15 (expectedElementType || !elementMayBeNull)) {
16 var expectedElementInteger = !!expectedParam.elementInteger;
17 var expectedElementDomElement = !!expectedParam.elementDomElement;
18 for (var i=0; i < param.length; i++) {
19 var elem = param[i];
20 e = Function._validateParameterType(elem, expectedElementType,
21 expectedElementInteger, expectedElementDomElement, elementMayBeNull,
22 paramName + "[" + i + "]");
23 if (e) {
24 e.popStackFrame();
25 return e;
26 }
27 }
28 }
29 return null;
30 }