| OLD | NEW |
| 1 // This code was auto-generated, is not intended to be edited, and is subject to | 1 // This code was auto-generated, is not intended to be edited, and is subject to |
| 2 // significant change. Please see the README file for more information. | 2 // significant change. Please see the README file for more information. |
| 3 library engine.constant; | 3 library engine.constant; |
| 4 import 'java_core.dart'; | 4 import 'java_core.dart'; |
| 5 import 'source.dart' show Source; | 5 import 'source.dart' show Source; |
| 6 import 'error.dart' show AnalysisError, ErrorCode, CompileTimeErrorCode; | 6 import 'error.dart' show AnalysisError, ErrorCode, CompileTimeErrorCode; |
| 7 import 'scanner.dart' show TokenType; | 7 import 'scanner.dart' show TokenType; |
| 8 import 'ast.dart'; | 8 import 'ast.dart'; |
| 9 import 'element.dart'; | 9 import 'element.dart'; |
| 10 import 'engine.dart' show AnalysisEngine; | 10 import 'engine.dart' show AnalysisEngine; |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 * | 528 * |
| 529 * @param leftResult the first set of errors, or `null` if there was no previo
us collection | 529 * @param leftResult the first set of errors, or `null` if there was no previo
us collection |
| 530 * of errors | 530 * of errors |
| 531 * @param rightResult the errors to be added to the collection, or a valid res
ult if there are no | 531 * @param rightResult the errors to be added to the collection, or a valid res
ult if there are no |
| 532 * errors to be added | 532 * errors to be added |
| 533 * @return the union of the errors encoded in the given results | 533 * @return the union of the errors encoded in the given results |
| 534 */ | 534 */ |
| 535 ErrorResult union(ErrorResult leftResult, EvaluationResultImpl rightResult) { | 535 ErrorResult union(ErrorResult leftResult, EvaluationResultImpl rightResult) { |
| 536 if (rightResult is ErrorResult) { | 536 if (rightResult is ErrorResult) { |
| 537 if (leftResult != null) { | 537 if (leftResult != null) { |
| 538 return new ErrorResult.con2(leftResult, (rightResult as ErrorResult)); | 538 return new ErrorResult.con2(leftResult, rightResult as ErrorResult); |
| 539 } else { | 539 } else { |
| 540 return rightResult as ErrorResult; | 540 return rightResult as ErrorResult; |
| 541 } | 541 } |
| 542 } | 542 } |
| 543 return leftResult; | 543 return leftResult; |
| 544 } | 544 } |
| 545 } | 545 } |
| 546 /** | 546 /** |
| 547 * Instances of the class `DirectedGraph` implement a directed graph in which th
e nodes are | 547 * Instances of the class `DirectedGraph` implement a directed graph in which th
e nodes are |
| 548 * arbitrary (client provided) objects and edges are represented implicitly. The
graph will allow an | 548 * arbitrary (client provided) objects and edges are represented implicitly. The
graph will allow an |
| (...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1250 if (node is BinaryExpression) { | 1250 if (node is BinaryExpression) { |
| 1251 if (!isAnyNullBoolNumString || !leftOperand.isAnyNullBoolNumString) { | 1251 if (!isAnyNullBoolNumString || !leftOperand.isAnyNullBoolNumString) { |
| 1252 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING
); | 1252 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING
); |
| 1253 } | 1253 } |
| 1254 } | 1254 } |
| 1255 Object leftValue = leftOperand.value; | 1255 Object leftValue = leftOperand.value; |
| 1256 if (leftValue == null) { | 1256 if (leftValue == null) { |
| 1257 return valueOf2(_value == null); | 1257 return valueOf2(_value == null); |
| 1258 } else if (leftValue is bool) { | 1258 } else if (leftValue is bool) { |
| 1259 if (_value is bool) { | 1259 if (_value is bool) { |
| 1260 return valueOf2(identical(((leftValue as bool)), ((_value as bool)))); | 1260 return valueOf2(identical(leftValue as bool, _value as bool)); |
| 1261 } | 1261 } |
| 1262 return RESULT_FALSE; | 1262 return RESULT_FALSE; |
| 1263 } else if (leftValue is int) { | 1263 } else if (leftValue is int) { |
| 1264 if (_value is int) { | 1264 if (_value is int) { |
| 1265 return valueOf2(((leftValue as int)) == _value); | 1265 return valueOf2(((leftValue as int)) == _value); |
| 1266 } else if (_value is double) { | 1266 } else if (_value is double) { |
| 1267 return valueOf2(toDouble((leftValue as int)) == _value); | 1267 return valueOf2(toDouble(leftValue as int) == _value); |
| 1268 } | 1268 } |
| 1269 return RESULT_FALSE; | 1269 return RESULT_FALSE; |
| 1270 } else if (leftValue is double) { | 1270 } else if (leftValue is double) { |
| 1271 if (_value is int) { | 1271 if (_value is int) { |
| 1272 return valueOf2(((leftValue as double)) == toDouble((_value as int))); | 1272 return valueOf2(((leftValue as double)) == toDouble(_value as int)); |
| 1273 } else if (_value is double) { | 1273 } else if (_value is double) { |
| 1274 return valueOf2(((leftValue as double)) == _value); | 1274 return valueOf2(((leftValue as double)) == _value); |
| 1275 } | 1275 } |
| 1276 return RESULT_FALSE; | 1276 return RESULT_FALSE; |
| 1277 } else if (leftValue is String) { | 1277 } else if (leftValue is String) { |
| 1278 if (_value is String) { | 1278 if (_value is String) { |
| 1279 return valueOf2(((leftValue as String)) == _value); | 1279 return valueOf2(((leftValue as String)) == _value); |
| 1280 } | 1280 } |
| 1281 return RESULT_FALSE; | 1281 return RESULT_FALSE; |
| 1282 } | 1282 } |
| 1283 return RESULT_FALSE; | 1283 return RESULT_FALSE; |
| 1284 } | 1284 } |
| 1285 EvaluationResultImpl greaterThanError(BinaryExpression node, ErrorResult leftO
perand) => leftOperand; | 1285 EvaluationResultImpl greaterThanError(BinaryExpression node, ErrorResult leftO
perand) => leftOperand; |
| 1286 EvaluationResultImpl greaterThanOrEqualError(BinaryExpression node, ErrorResul
t leftOperand) => leftOperand; | 1286 EvaluationResultImpl greaterThanOrEqualError(BinaryExpression node, ErrorResul
t leftOperand) => leftOperand; |
| 1287 EvaluationResultImpl greaterThanOrEqualValid(BinaryExpression node, ValidResul
t leftOperand2) { | 1287 EvaluationResultImpl greaterThanOrEqualValid(BinaryExpression node, ValidResul
t leftOperand2) { |
| 1288 if (!isAnyNum || !leftOperand2.isAnyNum) { | 1288 if (!isAnyNum || !leftOperand2.isAnyNum) { |
| 1289 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_NUM); | 1289 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_NUM); |
| 1290 } | 1290 } |
| 1291 if (isSomeNum || leftOperand2.isSomeNum) { | 1291 if (isSomeNum || leftOperand2.isSomeNum) { |
| 1292 return RESULT_BOOL; | 1292 return RESULT_BOOL; |
| 1293 } | 1293 } |
| 1294 Object leftValue = leftOperand2.value; | 1294 Object leftValue = leftOperand2.value; |
| 1295 if (leftValue == null) { | 1295 if (leftValue == null) { |
| 1296 return error(node.leftOperand); | 1296 return error(node.leftOperand); |
| 1297 } else if (_value == null) { | 1297 } else if (_value == null) { |
| 1298 return error(node.rightOperand); | 1298 return error(node.rightOperand); |
| 1299 } else if (leftValue is int) { | 1299 } else if (leftValue is int) { |
| 1300 if (_value is int) { | 1300 if (_value is int) { |
| 1301 return valueOf2(((leftValue as int)).compareTo((_value as int)) >= 0); | 1301 return valueOf2(((leftValue as int)).compareTo(_value as int) >= 0); |
| 1302 } else if (_value is double) { | 1302 } else if (_value is double) { |
| 1303 return valueOf2(((leftValue as int)).toDouble() >= ((_value as double)))
; | 1303 return valueOf2(((leftValue as int)).toDouble() >= ((_value as double)))
; |
| 1304 } | 1304 } |
| 1305 } else if (leftValue is double) { | 1305 } else if (leftValue is double) { |
| 1306 if (_value is int) { | 1306 if (_value is int) { |
| 1307 return valueOf2(((leftValue as double)) >= ((_value as int)).toDouble())
; | 1307 return valueOf2(((leftValue as double)) >= ((_value as int)).toDouble())
; |
| 1308 } else if (_value is double) { | 1308 } else if (_value is double) { |
| 1309 return valueOf2(((leftValue as double)) >= ((_value as double))); | 1309 return valueOf2(((leftValue as double)) >= ((_value as double))); |
| 1310 } | 1310 } |
| 1311 } | 1311 } |
| 1312 return error(node); | 1312 return error(node); |
| 1313 } | 1313 } |
| 1314 EvaluationResultImpl greaterThanValid(BinaryExpression node, ValidResult leftO
perand2) { | 1314 EvaluationResultImpl greaterThanValid(BinaryExpression node, ValidResult leftO
perand2) { |
| 1315 if (!isAnyNum || !leftOperand2.isAnyNum) { | 1315 if (!isAnyNum || !leftOperand2.isAnyNum) { |
| 1316 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_NUM); | 1316 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_NUM); |
| 1317 } | 1317 } |
| 1318 if (isSomeNum || leftOperand2.isSomeNum) { | 1318 if (isSomeNum || leftOperand2.isSomeNum) { |
| 1319 return RESULT_BOOL; | 1319 return RESULT_BOOL; |
| 1320 } | 1320 } |
| 1321 Object leftValue = leftOperand2.value; | 1321 Object leftValue = leftOperand2.value; |
| 1322 if (leftValue == null) { | 1322 if (leftValue == null) { |
| 1323 return error(node.leftOperand); | 1323 return error(node.leftOperand); |
| 1324 } else if (_value == null) { | 1324 } else if (_value == null) { |
| 1325 return error(node.rightOperand); | 1325 return error(node.rightOperand); |
| 1326 } else if (leftValue is int) { | 1326 } else if (leftValue is int) { |
| 1327 if (_value is int) { | 1327 if (_value is int) { |
| 1328 return valueOf2(((leftValue as int)).compareTo((_value as int)) > 0); | 1328 return valueOf2(((leftValue as int)).compareTo(_value as int) > 0); |
| 1329 } else if (_value is double) { | 1329 } else if (_value is double) { |
| 1330 return valueOf2(((leftValue as int)).toDouble() > ((_value as double))); | 1330 return valueOf2(((leftValue as int)).toDouble() > ((_value as double))); |
| 1331 } | 1331 } |
| 1332 } else if (leftValue is double) { | 1332 } else if (leftValue is double) { |
| 1333 if (_value is int) { | 1333 if (_value is int) { |
| 1334 return valueOf2(((leftValue as double)) > ((_value as int)).toDouble()); | 1334 return valueOf2(((leftValue as double)) > ((_value as int)).toDouble()); |
| 1335 } else if (_value is double) { | 1335 } else if (_value is double) { |
| 1336 return valueOf2(((leftValue as double)) > ((_value as double))); | 1336 return valueOf2(((leftValue as double)) > ((_value as double))); |
| 1337 } | 1337 } |
| 1338 } | 1338 } |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1381 if (isSomeNum || leftOperand2.isSomeNum) { | 1381 if (isSomeNum || leftOperand2.isSomeNum) { |
| 1382 return RESULT_BOOL; | 1382 return RESULT_BOOL; |
| 1383 } | 1383 } |
| 1384 Object leftValue = leftOperand2.value; | 1384 Object leftValue = leftOperand2.value; |
| 1385 if (leftValue == null) { | 1385 if (leftValue == null) { |
| 1386 return error(node.leftOperand); | 1386 return error(node.leftOperand); |
| 1387 } else if (_value == null) { | 1387 } else if (_value == null) { |
| 1388 return error(node.rightOperand); | 1388 return error(node.rightOperand); |
| 1389 } else if (leftValue is int) { | 1389 } else if (leftValue is int) { |
| 1390 if (_value is int) { | 1390 if (_value is int) { |
| 1391 return valueOf2(((leftValue as int)).compareTo((_value as int)) <= 0); | 1391 return valueOf2(((leftValue as int)).compareTo(_value as int) <= 0); |
| 1392 } else if (_value is double) { | 1392 } else if (_value is double) { |
| 1393 return valueOf2(((leftValue as int)).toDouble() <= ((_value as double)))
; | 1393 return valueOf2(((leftValue as int)).toDouble() <= ((_value as double)))
; |
| 1394 } | 1394 } |
| 1395 } else if (leftValue is double) { | 1395 } else if (leftValue is double) { |
| 1396 if (_value is int) { | 1396 if (_value is int) { |
| 1397 return valueOf2(((leftValue as double)) <= ((_value as int)).toDouble())
; | 1397 return valueOf2(((leftValue as double)) <= ((_value as int)).toDouble())
; |
| 1398 } else if (_value is double) { | 1398 } else if (_value is double) { |
| 1399 return valueOf2(((leftValue as double)) <= ((_value as double))); | 1399 return valueOf2(((leftValue as double)) <= ((_value as double))); |
| 1400 } | 1400 } |
| 1401 } | 1401 } |
| 1402 return error(node); | 1402 return error(node); |
| 1403 } | 1403 } |
| 1404 EvaluationResultImpl lessThanValid(BinaryExpression node, ValidResult leftOper
and2) { | 1404 EvaluationResultImpl lessThanValid(BinaryExpression node, ValidResult leftOper
and2) { |
| 1405 if (!isAnyNum || !leftOperand2.isAnyNum) { | 1405 if (!isAnyNum || !leftOperand2.isAnyNum) { |
| 1406 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_NUM); | 1406 return error2(node, CompileTimeErrorCode.CONST_EVAL_TYPE_NUM); |
| 1407 } | 1407 } |
| 1408 if (isSomeNum || leftOperand2.isSomeNum) { | 1408 if (isSomeNum || leftOperand2.isSomeNum) { |
| 1409 return RESULT_BOOL; | 1409 return RESULT_BOOL; |
| 1410 } | 1410 } |
| 1411 Object leftValue = leftOperand2.value; | 1411 Object leftValue = leftOperand2.value; |
| 1412 if (leftValue == null) { | 1412 if (leftValue == null) { |
| 1413 return error(node.leftOperand); | 1413 return error(node.leftOperand); |
| 1414 } else if (_value == null) { | 1414 } else if (_value == null) { |
| 1415 return error(node.rightOperand); | 1415 return error(node.rightOperand); |
| 1416 } else if (leftValue is int) { | 1416 } else if (leftValue is int) { |
| 1417 if (_value is int) { | 1417 if (_value is int) { |
| 1418 return valueOf2(((leftValue as int)).compareTo((_value as int)) < 0); | 1418 return valueOf2(((leftValue as int)).compareTo(_value as int) < 0); |
| 1419 } else if (_value is double) { | 1419 } else if (_value is double) { |
| 1420 return valueOf2(((leftValue as int)).toDouble() < ((_value as double))); | 1420 return valueOf2(((leftValue as int)).toDouble() < ((_value as double))); |
| 1421 } | 1421 } |
| 1422 } else if (leftValue is double) { | 1422 } else if (leftValue is double) { |
| 1423 if (_value is int) { | 1423 if (_value is int) { |
| 1424 return valueOf2(((leftValue as double)) < ((_value as int)).toDouble()); | 1424 return valueOf2(((leftValue as double)) < ((_value as int)).toDouble()); |
| 1425 } else if (_value is double) { | 1425 } else if (_value is double) { |
| 1426 return valueOf2(((leftValue as double)) < ((_value as double))); | 1426 return valueOf2(((leftValue as double)) < ((_value as double))); |
| 1427 } | 1427 } |
| 1428 } | 1428 } |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1499 return valueOf2(_value != null); | 1499 return valueOf2(_value != null); |
| 1500 } else if (leftValue is bool) { | 1500 } else if (leftValue is bool) { |
| 1501 if (_value is bool) { | 1501 if (_value is bool) { |
| 1502 return valueOf2(((leftValue as bool)) != ((_value as bool))); | 1502 return valueOf2(((leftValue as bool)) != ((_value as bool))); |
| 1503 } | 1503 } |
| 1504 return RESULT_TRUE; | 1504 return RESULT_TRUE; |
| 1505 } else if (leftValue is int) { | 1505 } else if (leftValue is int) { |
| 1506 if (_value is int) { | 1506 if (_value is int) { |
| 1507 return valueOf2(((leftValue as int)) != _value); | 1507 return valueOf2(((leftValue as int)) != _value); |
| 1508 } else if (_value is double) { | 1508 } else if (_value is double) { |
| 1509 return valueOf2(toDouble((leftValue as int)) != _value); | 1509 return valueOf2(toDouble(leftValue as int) != _value); |
| 1510 } | 1510 } |
| 1511 return RESULT_TRUE; | 1511 return RESULT_TRUE; |
| 1512 } else if (leftValue is double) { | 1512 } else if (leftValue is double) { |
| 1513 if (_value is int) { | 1513 if (_value is int) { |
| 1514 return valueOf2(((leftValue as double)) != toDouble((_value as int))); | 1514 return valueOf2(((leftValue as double)) != toDouble(_value as int)); |
| 1515 } else if (_value is double) { | 1515 } else if (_value is double) { |
| 1516 return valueOf2(((leftValue as double)) != _value); | 1516 return valueOf2(((leftValue as double)) != _value); |
| 1517 } | 1517 } |
| 1518 return RESULT_TRUE; | 1518 return RESULT_TRUE; |
| 1519 } else if (leftValue is String) { | 1519 } else if (leftValue is String) { |
| 1520 if (_value is String) { | 1520 if (_value is String) { |
| 1521 return valueOf2(((leftValue as String)) != _value); | 1521 return valueOf2(((leftValue as String)) != _value); |
| 1522 } | 1522 } |
| 1523 return RESULT_TRUE; | 1523 return RESULT_TRUE; |
| 1524 } | 1524 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1537 Object leftValue = leftOperand2.value; | 1537 Object leftValue = leftOperand2.value; |
| 1538 if (leftValue == null) { | 1538 if (leftValue == null) { |
| 1539 return error(node.leftOperand); | 1539 return error(node.leftOperand); |
| 1540 } else if (_value == null) { | 1540 } else if (_value == null) { |
| 1541 return error(node.rightOperand); | 1541 return error(node.rightOperand); |
| 1542 } else if (leftValue is int) { | 1542 } else if (leftValue is int) { |
| 1543 if (_value is int) { | 1543 if (_value is int) { |
| 1544 if (((_value as int)) == 0) { | 1544 if (((_value as int)) == 0) { |
| 1545 return valueOf3(((leftValue as int)).toDouble() % ((_value as int)).to
Double()); | 1545 return valueOf3(((leftValue as int)).toDouble() % ((_value as int)).to
Double()); |
| 1546 } | 1546 } |
| 1547 return valueOf(((leftValue as int)).remainder((_value as int))); | 1547 return valueOf(((leftValue as int)).remainder(_value as int)); |
| 1548 } else if (_value is double) { | 1548 } else if (_value is double) { |
| 1549 return valueOf3(((leftValue as int)).toDouble() % ((_value as double))); | 1549 return valueOf3(((leftValue as int)).toDouble() % ((_value as double))); |
| 1550 } | 1550 } |
| 1551 } else if (leftValue is double) { | 1551 } else if (leftValue is double) { |
| 1552 if (_value is int) { | 1552 if (_value is int) { |
| 1553 return valueOf3(((leftValue as double)) % ((_value as int)).toDouble()); | 1553 return valueOf3(((leftValue as double)) % ((_value as int)).toDouble()); |
| 1554 } else if (_value is double) { | 1554 } else if (_value is double) { |
| 1555 return valueOf3(((leftValue as double)) % ((_value as double))); | 1555 return valueOf3(((leftValue as double)) % ((_value as double))); |
| 1556 } | 1556 } |
| 1557 } | 1557 } |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1735 ValidResult valueOf3(double value) => new ValidResult(value); | 1735 ValidResult valueOf3(double value) => new ValidResult(value); |
| 1736 | 1736 |
| 1737 /** | 1737 /** |
| 1738 * Return a result object representing the given value. | 1738 * Return a result object representing the given value. |
| 1739 * | 1739 * |
| 1740 * @param value the value to be represented as a result object | 1740 * @param value the value to be represented as a result object |
| 1741 * @return a result object representing the given value | 1741 * @return a result object representing the given value |
| 1742 */ | 1742 */ |
| 1743 ValidResult valueOf4(String value) => new ValidResult(value); | 1743 ValidResult valueOf4(String value) => new ValidResult(value); |
| 1744 } | 1744 } |
| OLD | NEW |