Actions
Bug #5101
closed[cfg] The exception has been encountered: java.lang.IllegalStateException: Incorrect variable data type
Start date:
07/18/2014
Due date:
% Done:
0%
Estimated time:
Detected in build:
svn
Platform:
Published in build:
Description
В Verilog-трансляторе в объектах класса NodeVariable
в качестве пользовательских данных ((set|get)UserData
) используются объекты типа Reference
(тип узла AST, соответствующий переменной). По всей видимости, Retrascope-парсеры должны устанавливать у объектов-переменных, используемых в CFG, дескрипторы типы VariableData
, которые также записываются в пользовательские данные.
Можно ли хранить дескрипторы переменных не в пользовательских данных? Если да, то проблема решается переносом дескрипторов. Если нет, то парсеры должны создавать новые объекта NodeVariable
- парсеры не должны модифицировать AST!
2014.07.18 09:33:23.818. ERROR: The exception has been encountered: java.lang.IllegalStateException: Incorrect variable data type: class ru.ispras.verilog.parser.model.basis.Reference. at ru.ispras.retrascope.model.basis.AtomicAssignStatement.isConcurrent(Unknown Source) at ru.ispras.retrascope.model.basis.AtomicAssignStatement.toString(Unknown Source) at ru.ispras.retrascope.model.basis.AssignStatement.toString(Unknown Source) at ru.ispras.retrascope.model.cfg.BasicBlock.getDescription(Unknown Source) at ru.ispras.retrascope.engine.cfg.printer.graphml.CfgGraphMlVisitor.printNodeBegin(Unknown Source) at ru.ispras.retrascope.engine.cfg.printer.graphml.CfgGraphMlVisitor.printNodeBegin(Unknown Source) at ru.ispras.retrascope.engine.cfg.printer.graphml.CfgGraphMlVisitor.onBasicBlockBegin(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitBasicBlock(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visit(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitSource(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visit(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitCfg(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitProcess(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitModule(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.visitCfgModel(Unknown Source) at ru.ispras.retrascope.model.cfg.CfgWalker.start(Unknown Source) at ru.ispras.retrascope.engine.cfg.CfgEngine.start(Unknown Source) at ru.ispras.retrascope.basis.Engine.start(Unknown Source) at ru.ispras.retrascope.basis.ToolChain.start(Unknown Source) at ru.ispras.retrascope.basis.Engine.start(Unknown Source) at ru.ispras.retrascope.Retrascope$Run.start(Unknown Source) at ru.ispras.retrascope.Retrascope.main(Unknown Source) at ru.ispras.retrascope.Retrascope.main(Unknown Source)
Actions