1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

Revert "Revert "parser: fix programs without fn main""

This reverts commit 61af0443161e8f492d7e653905b5774f668397e5.
This commit is contained in:
Alexander Medvednikov 2019-10-13 17:57:18 +03:00
parent 9b38f59184
commit 526f1a3172

View File

@ -395,21 +395,18 @@ fn (p mut Parser) parse(pass Pass) {
if p.pref.is_script && !p.pref.is_test { if p.pref.is_script && !p.pref.is_test {
// cur_fn is empty since there was no fn main declared // cur_fn is empty since there was no fn main declared
// we need to set it to save and find variables // we need to set it to save and find variables
if p.first_pass() {
if p.cur_fn.name == '' {
p.set_current_fn( MainFn )
}
return
}
if p.cur_fn.name == '' { if p.cur_fn.name == '' {
p.set_current_fn( MainFn ) p.set_current_fn( MainFn )
if p.pref.is_repl { if p.pref.is_repl {
if p.first_pass() {
return
}
p.clear_vars() p.clear_vars()
} }
} }
mut start := p.cgen.lines.len mut start := p.cgen.lines.len
p.statement(true) p.statement(true)
if p.cgen.lines[start - 1] != '' && p.cgen.fn_main != '' { if start > 0 && p.cgen.lines[start - 1] != '' && p.cgen.fn_main != '' {
start-- start--
} }
p.genln('') p.genln('')