|
1241 | 1241 | for (var i = 0; i < signature.length; i++) {
|
1242 | 1242 | typeMatched = false;
|
1243 | 1243 | currentSpec = signature[i].types;
|
1244 |
| - actualType = this.getTypeName(args[i]); |
| 1244 | + actualType = this.__getTypeName(args[i]); |
1245 | 1245 | for (var j = 0; j < currentSpec.length; j++) {
|
1246 | 1246 | if (this.__typeMatches(actualType, currentSpec[j], args[i])) {
|
1247 | 1247 | typeMatched = true;
|
|
1282 | 1282 | }
|
1283 | 1283 | for (var i = 0; i < argValue.length; i++) {
|
1284 | 1284 | if (!this.__typeMatches(
|
1285 |
| - this.getTypeName(argValue[i]), subtype, |
| 1285 | + this.__getTypeName(argValue[i]), subtype, |
1286 | 1286 | argValue[i])) {
|
1287 | 1287 | return false;
|
1288 | 1288 | }
|
|
1293 | 1293 | return actual === expected;
|
1294 | 1294 | }
|
1295 | 1295 | },
|
1296 |
| - getTypeName: function(obj) { |
| 1296 | + __getTypeName: function(obj) { |
1297 | 1297 | switch (Object.prototype.toString.call(obj)) {
|
1298 | 1298 | case "[object String]":
|
1299 | 1299 | return TYPE_STRING;
|
|
1327 | 1327 | },
|
1328 | 1328 |
|
1329 | 1329 | __functionReverse: function(resolvedArgs) {
|
1330 |
| - var typeName = this.getTypeName(resolvedArgs[0]); |
| 1330 | + var typeName = this.__getTypeName(resolvedArgs[0]); |
1331 | 1331 | if (typeName === TYPE_STRING) {
|
1332 | 1332 | var originalStr = resolvedArgs[0];
|
1333 | 1333 | var reversedStr = "";
|
|
1401 | 1401 |
|
1402 | 1402 | __functionMax: function(resolvedArgs) {
|
1403 | 1403 | if (resolvedArgs[0].length > 0) {
|
1404 |
| - var typeName = this.getTypeName(resolvedArgs[0][0]); |
| 1404 | + var typeName = this.__getTypeName(resolvedArgs[0][0]); |
1405 | 1405 | if (typeName === TYPE_NUMBER) {
|
1406 | 1406 | return Math.max.apply(Math, resolvedArgs[0]);
|
1407 | 1407 | } else {
|
|
1421 | 1421 |
|
1422 | 1422 | __functionMin: function(resolvedArgs) {
|
1423 | 1423 | if (resolvedArgs[0].length > 0) {
|
1424 |
| - var typeName = this.getTypeName(resolvedArgs[0][0]); |
| 1424 | + var typeName = this.__getTypeName(resolvedArgs[0][0]); |
1425 | 1425 | if (typeName === TYPE_NUMBER) {
|
1426 | 1426 | return Math.min.apply(Math, resolvedArgs[0]);
|
1427 | 1427 | } else {
|
|
1449 | 1449 | },
|
1450 | 1450 |
|
1451 | 1451 | __functionType: function(resolvedArgs) {
|
1452 |
| - switch (this.getTypeName(resolvedArgs[0])) { |
| 1452 | + switch (this.__getTypeName(resolvedArgs[0])) { |
1453 | 1453 | case TYPE_NUMBER:
|
1454 | 1454 | return "number";
|
1455 | 1455 | case TYPE_STRING:
|
|
1488 | 1488 | },
|
1489 | 1489 |
|
1490 | 1490 | __functionToArray: function(resolvedArgs) {
|
1491 |
| - if (this.getTypeName(resolvedArgs[0]) === TYPE_ARRAY) { |
| 1491 | + if (this.__getTypeName(resolvedArgs[0]) === TYPE_ARRAY) { |
1492 | 1492 | return resolvedArgs[0];
|
1493 | 1493 | } else {
|
1494 | 1494 | return [resolvedArgs[0]];
|
1495 | 1495 | }
|
1496 | 1496 | },
|
1497 | 1497 |
|
1498 | 1498 | __functionToString: function(resolvedArgs) {
|
1499 |
| - if (this.getTypeName(resolvedArgs[0]) === TYPE_STRING) { |
| 1499 | + if (this.__getTypeName(resolvedArgs[0]) === TYPE_STRING) { |
1500 | 1500 | return resolvedArgs[0];
|
1501 | 1501 | } else {
|
1502 | 1502 | return JSON.stringify(resolvedArgs[0]);
|
1503 | 1503 | }
|
1504 | 1504 | },
|
1505 | 1505 |
|
1506 | 1506 | __functionToNumber: function(resolvedArgs) {
|
1507 |
| - var typeName = this.getTypeName(resolvedArgs[0]); |
| 1507 | + var typeName = this.__getTypeName(resolvedArgs[0]); |
1508 | 1508 | var convertedValue;
|
1509 | 1509 | if (typeName === TYPE_NUMBER) {
|
1510 | 1510 | return resolvedArgs[0];
|
|
1519 | 1519 |
|
1520 | 1520 | __functionNotNull: function(resolvedArgs) {
|
1521 | 1521 | for (var i = 0; i < resolvedArgs.length; i++) {
|
1522 |
| - if (this.getTypeName(resolvedArgs[i]) !== TYPE_NULL) { |
| 1522 | + if (this.__getTypeName(resolvedArgs[i]) !== TYPE_NULL) { |
1523 | 1523 | return resolvedArgs[i];
|
1524 | 1524 | }
|
1525 | 1525 | }
|
|
1539 | 1539 | }
|
1540 | 1540 | var interpreter = this.interpreter;
|
1541 | 1541 | var exprefNode = resolvedArgs[1];
|
1542 |
| - var requiredType = this.getTypeName( |
| 1542 | + var requiredType = this.__getTypeName( |
1543 | 1543 | interpreter.visit(exprefNode, sortedArray[0]));
|
1544 | 1544 | if ([TYPE_NUMBER, TYPE_STRING].indexOf(requiredType) < 0) {
|
1545 | 1545 | throw new Error("TypeError");
|
|
1559 | 1559 | decorated.sort(function(a, b) {
|
1560 | 1560 | var exprA = interpreter.visit(exprefNode, a[1]);
|
1561 | 1561 | var exprB = interpreter.visit(exprefNode, b[1]);
|
1562 |
| - if (that.getTypeName(exprA) !== requiredType) { |
| 1562 | + if (that.__getTypeName(exprA) !== requiredType) { |
1563 | 1563 | throw new Error(
|
1564 | 1564 | "TypeError: expected " + requiredType + ", received " +
|
1565 |
| - that.getTypeName(exprA)); |
1566 |
| - } else if (that.getTypeName(exprB) !== requiredType) { |
| 1565 | + that.__getTypeName(exprA)); |
| 1566 | + } else if (that.__getTypeName(exprB) !== requiredType) { |
1567 | 1567 | throw new Error(
|
1568 | 1568 | "TypeError: expected " + requiredType + ", received " +
|
1569 |
| - that.getTypeName(exprB)); |
| 1569 | + that.__getTypeName(exprB)); |
1570 | 1570 | }
|
1571 | 1571 | if (exprA > exprB) {
|
1572 | 1572 | return 1;
|
|
1625 | 1625 | var interpreter = this.interpreter;
|
1626 | 1626 | var keyFunc = function(x) {
|
1627 | 1627 | var current = interpreter.visit(exprefNode, x);
|
1628 |
| - if (allowedTypes.indexOf(that.getTypeName(current)) < 0) { |
| 1628 | + if (allowedTypes.indexOf(that.__getTypeName(current)) < 0) { |
1629 | 1629 | var msg = "TypeError: expected one of " + allowedTypes +
|
1630 |
| - ", received " + that.getTypeName(current); |
| 1630 | + ", received " + that.__getTypeName(current); |
1631 | 1631 | throw new Error(msg);
|
1632 | 1632 | }
|
1633 | 1633 | return current;
|
|
0 commit comments