[FEAT] Now unreachable code is only a warning
[FIX] Removed 'decompiled.txt' from repo
This commit is contained in:
10
parser.cpp
10
parser.cpp
@@ -762,22 +762,23 @@ static void parse_call() {
|
||||
static const bool parse_statements() {
|
||||
bool return_called = false;
|
||||
bool local_return = false;
|
||||
bool already_warned = false;
|
||||
while (!parser_finished) {
|
||||
current_line = tkn_get_line();
|
||||
switch (tkn_get_token()) {
|
||||
case TOKEN_CONST:
|
||||
tkn_next();
|
||||
if (local_return) HALT2("Unreachable code");
|
||||
if (local_return && !already_warned) { error_warning("Unreachable code"); already_warned = true; }
|
||||
parse_const();
|
||||
break;
|
||||
case TOKEN_VAR:
|
||||
tkn_next();
|
||||
if (local_return) HALT2("Unreachable code");
|
||||
if (local_return && !already_warned) { error_warning("Unreachable code"); already_warned = true; }
|
||||
parse_var();
|
||||
break;
|
||||
case TOKEN_IF:
|
||||
tkn_next();
|
||||
if (local_return) HALT2("Unreachable code");
|
||||
if (local_return && !already_warned) { error_warning("Unreachable code"); already_warned = true; }
|
||||
if (parse_if()) { return_called = true; } break;
|
||||
/*
|
||||
case TOKEN_FOR:
|
||||
@@ -789,7 +790,7 @@ static const bool parse_statements() {
|
||||
*/
|
||||
case TOKEN_RETURN:
|
||||
tkn_next();
|
||||
if (local_return) HALT2("Unreachable code");
|
||||
if (local_return && !already_warned) { error_warning("Unreachable code"); already_warned = true; }
|
||||
parse_return();
|
||||
local_return = return_called = true;
|
||||
break;
|
||||
@@ -875,6 +876,7 @@ void parser_parse(const char* buffer, byte* mem) {
|
||||
//emmit(OP_JMP);
|
||||
//emmit_w(0xA000);
|
||||
} else {
|
||||
error_print_warnings();
|
||||
decompiler_save(code, codepos);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user