parser: fix JS functions starting with caps
parent
d182059ba6
commit
4b7c70caca
|
@ -1,5 +1,5 @@
|
||||||
// V_COMMIT_HASH 2943bdc
|
// V_COMMIT_HASH 11e6734
|
||||||
// V_CURRENT_COMMIT_HASH ad5deef
|
// V_CURRENT_COMMIT_HASH 99c70cf
|
||||||
// Generated by the V compiler
|
// Generated by the V compiler
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -187,17 +187,18 @@ const main = (function (hl) {
|
||||||
/* program entry point */
|
/* program entry point */
|
||||||
(async function() {
|
(async function() {
|
||||||
builtin.println("Hello from V.js!");
|
builtin.println("Hello from V.js!");
|
||||||
|
builtin.println(Math.atan2(1, 0));
|
||||||
/** @type {number} */
|
/** @type {number} */
|
||||||
let a = 1;
|
let a = 1;
|
||||||
a *= 2;
|
a *= 2;
|
||||||
a += 3;
|
a += 3;
|
||||||
builtin.println(a);
|
builtin.println(a);
|
||||||
/** @type {hl["Aaa"]["prototype"]} */
|
/** @type {hl["Aaa"]["prototype"]} */
|
||||||
const b = new hl.Aaa({});
|
let b = new hl.Aaa({});
|
||||||
b.update("an update");
|
b.update("an update");
|
||||||
builtin.println(b);
|
builtin.println(b);
|
||||||
/** @type {Foo} */
|
/** @type {Foo} */
|
||||||
const c = new Foo({
|
let c = new Foo({
|
||||||
a: new hl.Aaa({})
|
a: new hl.Aaa({})
|
||||||
});
|
});
|
||||||
c.a.update("another update");
|
c.a.update("another update");
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import hello as hl
|
import hello as hl
|
||||||
|
|
||||||
fn JS.alert(arg string)
|
fn JS.alert(arg string)
|
||||||
|
fn JS.Math.atan2(f64, f64) f64
|
||||||
|
|
||||||
const (
|
const (
|
||||||
i_am_a_const = 21214
|
i_am_a_const = 21214
|
||||||
|
@ -8,6 +9,7 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
struct Foo {
|
struct Foo {
|
||||||
|
mut:
|
||||||
a hl.Aaa
|
a hl.Aaa
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,17 +31,18 @@ fn class(extends string, instanceof int) {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println('Hello from V.js!')
|
println('Hello from V.js!')
|
||||||
|
println(JS.Math.atan2(1, 0))
|
||||||
|
|
||||||
mut a := 1
|
mut a := 1
|
||||||
a *= 2
|
a *= 2
|
||||||
a += 3
|
a += 3
|
||||||
println(a) // TODO: Handle string interpolation
|
println(a) // TODO: Handle string interpolation
|
||||||
|
|
||||||
b := hl.Aaa{}
|
mut b := hl.Aaa{}
|
||||||
b.update('an update')
|
b.update('an update')
|
||||||
println(b)
|
println(b)
|
||||||
|
|
||||||
c := Foo{ hl.Aaa{} }
|
mut c := Foo{ hl.Aaa{} }
|
||||||
c.a.update('another update')
|
c.a.update('another update')
|
||||||
println(c)
|
println(c)
|
||||||
|
|
||||||
|
|
|
@ -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 &&
|
} else if p.peek_tok.kind == .lcbr && !p.inside_match && !p.inside_match_case && !p.inside_if &&
|
||||||
!p.inside_for {
|
!p.inside_for {
|
||||||
return p.struct_init(false) // short_syntax: false
|
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`
|
// `Color.green`
|
||||||
mut enum_name := p.check_name()
|
mut enum_name := p.check_name()
|
||||||
if mod != '' {
|
if mod != '' {
|
||||||
|
|
Loading…
Reference in New Issue