Project

General

Profile

Actions

Bug #272

closed

Обработка return в call-блоке сценарной функции

Added by Mikhail Chupilko over 14 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
06/22/2010
Due date:
% Done:

0%

Estimated time:
Detected in build:
2.8.300-beta-100609
Platform:
Published in build:
2.8.302-beta-100623

Description

При наличии в call-блоке в сценарной функции return'a происходит исключение:

sec 2.8.300-beta-100609
- sec.properties
+ sec.plugins

<- src/tests/sec/db_scen.sei
generate:
db_scen.sei(?,?): error: Internal error:
java.lang.IllegalStateException
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitReturnStatement(TypeChecker.java:7821)
at ru.ispras.redverst.frontend.se.c.SEC$ReturnStatement.accept(SEC.java:7457)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitStatementBlockItem(TypeChecker.java:7476)
at ru.ispras.redverst.frontend.se.c.SEC$StatementBlockItem.accept(SEC.java:6592)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitCompoundStatement(TypeChecker.java:7415)
at ru.ispras.redverst.frontend.se.c.SEC$CompoundStatement.accept(SEC.java:6462)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitIfStatement(TypeChecker.java:7498)
at ru.ispras.redverst.frontend.se.c.SEC$IfStatement.accept(SEC.java:6763)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitStatementBlockItem(TypeChecker.java:7476)
at ru.ispras.redverst.frontend.se.c.SEC$StatementBlockItem.accept(SEC.java:6592)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitCompoundStatement(TypeChecker.java:7415)
at ru.ispras.redverst.frontend.se.c.SEC$CompoundStatement.accept(SEC.java:6462)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitSeCallBlockStatement(TypeChecker.java:8323)
at ru.ispras.redverst.frontend.se.c.SEC$SeCallBlockStatement.accept(SEC.java:8108)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitStatementBlockItem(TypeChecker.java:7476)
at ru.ispras.redverst.frontend.se.c.SEC$StatementBlockItem.accept(SEC.java:6592)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitCompoundStatement(TypeChecker.java:7415)
at ru.ispras.redverst.frontend.se.c.SEC$CompoundStatement.accept(SEC.java:6462)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitSeIterationStatement(TypeChecker.java:7941)
at ru.ispras.redverst.frontend.se.c.SEC$SeIterationStatement.accept(SEC.java:7758)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitStatementBlockItem(TypeChecker.java:7476)
at ru.ispras.redverst.frontend.se.c.SEC$StatementBlockItem.accept(SEC.java:6592)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitCompoundStatement(TypeChecker.java:7415)
at ru.ispras.redverst.frontend.se.c.SEC$CompoundStatement.accept(SEC.java:6462)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitSeIterationStatement(TypeChecker.java:7941)
at ru.ispras.redverst.frontend.se.c.SEC$SeIterationStatement.accept(SEC.java:7758)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitStatementBlockItem(TypeChecker.java:7476)
at ru.ispras.redverst.frontend.se.c.SEC$StatementBlockItem.accept(SEC.java:6592)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitCompoundStatement(TypeChecker.java:7415)
at ru.ispras.redverst.frontend.se.c.SEC$CompoundStatement.accept(SEC.java:6462)
at ru.ispras.redverst.frontend.se.c.TypeChecker.checkFunctionBody(TypeChecker.java:3625)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitFunctionDefinition(TypeChecker.java:4261)
at ru.ispras.redverst.frontend.se.c.SEC$FunctionDefinition.accept(SEC.java:395)
at ru.ispras.redverst.frontend.se.c.TypeChecker.visitTranslationUnit(TypeChecker.java:3797)
at ru.ispras.redverst.frontend.se.c.SEC$TranslationUnit.accept(SEC.java:198)
at ru.ispras.redverst.se.c.CheckAction.process(CheckAction.java:46)
at ru.ispras.redverst.se.c.GenerateAction.process(GenerateAction.java:60)
at com.unitesk.atp.tree.tool.Tool.process(Tool.java:144)
at com.unitesk.atp.tree.tool.Tool.run(Tool.java:107)
at ru.ispras.redverst.se.c.Main.singleSourceMain(Main.java:223)
at ru.ispras.redverst.se.c.Main.main(Main.java:218)
.

Actions #1

Updated by Alexey Demakov over 14 years ago

  • Project changed from 21 to CTESK
Actions #2

Updated by Alexey Demakov over 14 years ago

  • Status changed from New to Resolved
  • Target version set to 2.8
Actions #3

Updated by Alexey Demakov over 14 years ago

  • Status changed from Resolved to Closed
  • Published in build set to 2.8.302-beta-100623
Actions

Also available in: Atom PDF