From 4b7c70caca085fe1fca5621de63e15e486c29f7a Mon Sep 17 00:00:00 2001 From: spaceface777 Date: Wed, 3 Jun 2020 10:57:32 +0200 Subject: [PATCH] parser: fix JS functions starting with caps --- vlib/v/gen/js/tests/js.js | 9 +++++---- vlib/v/gen/js/tests/js.v | 7 +++++-- vlib/v/parser/parser.v | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/vlib/v/gen/js/tests/js.js b/vlib/v/gen/js/tests/js.js index 05d9ad08a2..9dd4129647 100644 --- a/vlib/v/gen/js/tests/js.js +++ b/vlib/v/gen/js/tests/js.js @@ -1,5 +1,5 @@ -// V_COMMIT_HASH 2943bdc -// V_CURRENT_COMMIT_HASH ad5deef +// V_COMMIT_HASH 11e6734 +// V_CURRENT_COMMIT_HASH 99c70cf // Generated by the V compiler "use strict"; @@ -187,17 +187,18 @@ const main = (function (hl) { /* program entry point */ (async function() { builtin.println("Hello from V.js!"); + builtin.println(Math.atan2(1, 0)); /** @type {number} */ let a = 1; a *= 2; a += 3; builtin.println(a); /** @type {hl["Aaa"]["prototype"]} */ - const b = new hl.Aaa({}); + let b = new hl.Aaa({}); b.update("an update"); builtin.println(b); /** @type {Foo} */ - const c = new Foo({ + let c = new Foo({ a: new hl.Aaa({}) }); c.a.update("another update"); diff --git a/vlib/v/gen/js/tests/js.v b/vlib/v/gen/js/tests/js.v index 680c482317..10795dfe83 100644 --- a/vlib/v/gen/js/tests/js.v +++ b/vlib/v/gen/js/tests/js.v @@ -1,6 +1,7 @@ import hello as hl fn JS.alert(arg string) +fn JS.Math.atan2(f64, f64) f64 const ( i_am_a_const = 21214 @@ -8,6 +9,7 @@ const ( ) struct Foo { +mut: a hl.Aaa } @@ -29,17 +31,18 @@ fn class(extends string, instanceof int) { fn main() { println('Hello from V.js!') + println(JS.Math.atan2(1, 0)) mut a := 1 a *= 2 a += 3 println(a) // TODO: Handle string interpolation - b := hl.Aaa{} + mut b := hl.Aaa{} b.update('an update') println(b) - c := Foo{ hl.Aaa{} } + mut c := Foo{ hl.Aaa{} } c.a.update('another update') println(c) diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 81458ab0ca..f656fd46bb 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -890,7 +890,7 @@ pub fn (mut p Parser) name_expr() ast.Expr { } else if p.peek_tok.kind == .lcbr && !p.inside_match && !p.inside_match_case && !p.inside_if && !p.inside_for { return p.struct_init(false) // short_syntax: false - } else if p.peek_tok.kind == .dot && (p.tok.lit[0].is_capital() && !known_var) { + } else if p.peek_tok.kind == .dot && (p.tok.lit[0].is_capital() && !known_var && language == .v) { // `Color.green` mut enum_name := p.check_name() if mod != '' {