Bug #5425
closed[expression] java.lang.IllegalArgumentException: Expression is not a condition: (BVEXTRACT D_IN 0 0)
100%
Description
Дано: объект NodeOperation вида (BVEXTRACT D_IN 0 0), где D_IN - объект NodeVariable типа BIT_VECTOR (длины 9).
При попытке создать из него и прочих NodeOperation конъюнкцию с помощью метода ExprUtils.getConjunction возникает ошибка:
2014.11.12 23:21:04.076. ERROR: The exception has been encountered: java.lang.IllegalArgumentException: Expression is not a condition: (BVEXTRACT D_IN 0 0)
at ru.ispras.fortress.expression.ExprUtils.checkAllConditions(ExprUtils.java:378)
at ru.ispras.fortress.expression.ExprUtils.getConjunction(ExprUtils.java:189)
...
Причина ошибки состоит в том, что для данного выражения метод getDataType() возвращает UNKNOWN, хотя тут чистой воды BOOLEAN.
Updated by Sergey Smolov about 10 years ago
Прошу прощения, конечно не BOOLEAN, а BIT_VECTOR(1)
Updated by Andrei Tatarnikov about 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Исправил в r699. В тест BitVectorExtractionTestCase добавлена проверка корректности вычисления типа, но еще тесты не помешают.
Updated by Sergey Smolov almost 10 years ago
- Status changed from Resolved to Verified
При анализе HDL-описаний данную ошибку больше не наблюдаю.
Updated by Andrei Tatarnikov almost 10 years ago
- Status changed from Verified to Closed
- Published in build set to 141226