diff --git a/vlib/v/gen/js/tests/js.v b/vlib/v/gen/js/tests/js.v index d5e90467b6..f4e1d2c3fb 100644 --- a/vlib/v/gen/js/tests/js.v +++ b/vlib/v/gen/js/tests/js.v @@ -30,6 +30,7 @@ fn class(extends string, instanceof int) { fn main() { println('Hello from V.js!') println(JS.Math.atan2(1, 0)) + println(JS.eval("console.log('Hello!')")) mut a := 1 a *= 2 a += 3 diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 1c444bec61..236d1fe0de 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -1062,7 +1062,7 @@ pub fn (mut p Parser) name_expr() ast.Expr { // if name in table.builtin_type_names { if (!known_var && (name in p.table.type_idxs || name_w_mod in p.table.type_idxs) && name !in ['C.stat', 'C.sigaction']) || - is_mod_cast || (!(name.len > 1 && name[0] == `C` && name[1] == `.`) && name[0].is_capital()) { + is_mod_cast || (language == .v && name[0].is_capital()) { // MainLetter(x) is *always* a cast, as long as it is not `C.` // TODO handle C.stat() start_pos := p.tok.position()