upd: remove nullptr from return value
This commit is contained in:
@ -131,7 +131,7 @@ std::any EvalVisitor::visitExpr_stmt(Python3Parser::Expr_stmtContext *ctx) {
|
|||||||
Variables.WriteVariable(ptr_var->name, old_val);
|
Variables.WriteVariable(ptr_var->name, old_val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nullptr;
|
return NoneType();
|
||||||
}
|
}
|
||||||
auto testlist_list = ctx->testlist();
|
auto testlist_list = ctx->testlist();
|
||||||
auto val = visitTestlist(testlist_list[testlist_list.size() - 1]);
|
auto val = visitTestlist(testlist_list[testlist_list.size() - 1]);
|
||||||
@ -159,7 +159,7 @@ std::any EvalVisitor::visitExpr_stmt(Python3Parser::Expr_stmtContext *ctx) {
|
|||||||
throw InterpretException(
|
throw InterpretException(
|
||||||
"visitExpr_stmt: Expect left value or tuple at the left of assign");
|
"visitExpr_stmt: Expect left value or tuple at the left of assign");
|
||||||
}
|
}
|
||||||
return nullptr;
|
return NoneType();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::any EvalVisitor::visitAugassign(Python3Parser::AugassignContext *ctx) {
|
std::any EvalVisitor::visitAugassign(Python3Parser::AugassignContext *ctx) {
|
||||||
@ -171,7 +171,7 @@ std::any EvalVisitor::visitFlow_stmt(Python3Parser::Flow_stmtContext *ctx) {
|
|||||||
if (ctx->continue_stmt()) return visitContinue_stmt(ctx->continue_stmt());
|
if (ctx->continue_stmt()) return visitContinue_stmt(ctx->continue_stmt());
|
||||||
if (ctx->return_stmt()) return visitReturn_stmt(ctx->return_stmt());
|
if (ctx->return_stmt()) return visitReturn_stmt(ctx->return_stmt());
|
||||||
throw FatalError("Unknown flow statement");
|
throw FatalError("Unknown flow statement");
|
||||||
return nullptr;
|
return NoneType();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::any EvalVisitor::visitBreak_stmt(Python3Parser::Break_stmtContext *ctx) {
|
std::any EvalVisitor::visitBreak_stmt(Python3Parser::Break_stmtContext *ctx) {
|
||||||
@ -201,7 +201,7 @@ std::any EvalVisitor::visitCompound_stmt(
|
|||||||
if (ctx->while_stmt()) return visitWhile_stmt(ctx->while_stmt());
|
if (ctx->while_stmt()) return visitWhile_stmt(ctx->while_stmt());
|
||||||
if (ctx->funcdef()) return visitFuncdef(ctx->funcdef());
|
if (ctx->funcdef()) return visitFuncdef(ctx->funcdef());
|
||||||
throw FatalError("Unknown compound statement");
|
throw FatalError("Unknown compound statement");
|
||||||
return nullptr;
|
return NoneType();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::any EvalVisitor::visitIf_stmt(Python3Parser::If_stmtContext *ctx) {
|
std::any EvalVisitor::visitIf_stmt(Python3Parser::If_stmtContext *ctx) {
|
||||||
@ -215,7 +215,7 @@ std::any EvalVisitor::visitIf_stmt(Python3Parser::If_stmtContext *ctx) {
|
|||||||
return visitSuite(suite_list[i]);
|
return visitSuite(suite_list[i]);
|
||||||
if (test_list.size() - suite_list.size() == -1)
|
if (test_list.size() - suite_list.size() == -1)
|
||||||
return visitSuite(suite_list[suite_list.size() - 1]);
|
return visitSuite(suite_list[suite_list.size() - 1]);
|
||||||
return nullptr;
|
return NoneType();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::any EvalVisitor::visitWhile_stmt(Python3Parser::While_stmtContext *ctx) {
|
std::any EvalVisitor::visitWhile_stmt(Python3Parser::While_stmtContext *ctx) {
|
||||||
@ -230,7 +230,7 @@ std::any EvalVisitor::visitWhile_stmt(Python3Parser::While_stmtContext *ctx) {
|
|||||||
if (res_ptr->Status == RETURN) return *res_ptr;
|
if (res_ptr->Status == RETURN) return *res_ptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nullptr;
|
return NoneType();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::any EvalVisitor::visitSuite(Python3Parser::SuiteContext *ctx) {
|
std::any EvalVisitor::visitSuite(Python3Parser::SuiteContext *ctx) {
|
||||||
|
@ -62,7 +62,7 @@ std::any FucntionContainer::CallFunction(const std::string &name,
|
|||||||
std::cout << std::fixed << std::setprecision(6) << *value_ptr;
|
std::cout << std::fixed << std::setprecision(6) << *value_ptr;
|
||||||
}
|
}
|
||||||
std::cout << '\n';
|
std::cout << '\n';
|
||||||
return nullptr;
|
return NoneType();
|
||||||
} else if (name == "str") {
|
} else if (name == "str") {
|
||||||
if (args.size() != 1)
|
if (args.size() != 1)
|
||||||
throw InterpretException(
|
throw InterpretException(
|
||||||
|
Reference in New Issue
Block a user