Commit Graph

1376 Commits (344f13d6de5410fd700600d1820d9498e03c7206)

Author SHA1 Message Date
Leo Developer 8a8a0932f7
all: add limit to accumulated errors / warnings (#11183) 2021-08-14 19:49:21 +03:00
Delyan Angelov deb26b92b9
cgen: support `typeof(x).idx`, as well as `iface.type_idx()` (#11178) 2021-08-14 17:22:25 +03:00
Delyan Angelov 900c37aa65
v.gen.c: support `T.typ` - an int for the type index of the generic type `T` (#11175) 2021-08-14 08:48:25 +03:00
Daniel Däschle 6dbc6f233b
v.parser: add checks for interoperability (C. or JS.) function declarations (#11140) 2021-08-12 10:47:24 +03:00
yuyi 89a8854e57
v.parser: fix generics type name in if_expr (#11156) 2021-08-12 10:19:06 +03:00
Enzo da53f818df
all: initial support for closures (x64 / linux-only) (#11114) 2021-08-10 21:27:15 +03:00
yuyi 1d3786ff1e
v.parser: fix `if a == Abc{} {` (#11092) 2021-08-07 18:05:22 +03:00
Daniel Däschle 8d2567740b
parser: make [..] work (#11064) 2021-08-06 03:54:24 +03:00
Daniel Däschle f59119485a
v.parser: add check for existing type on sum type declaration (#11054) 2021-08-04 18:14:16 +03:00
yuyi 5162c257a2
v.parser: minor cleanup in parse_type.v (#11047) 2021-08-04 12:49:36 +03:00
Daniel Däschle 800c0e5092
vlib: remove deprecated map{} usages as well as deprecated functions (#11035) 2021-08-04 12:44:41 +03:00
Daniel Däschle 815c4b7420
all: rename generic_struct_inst to generic_inst (#11044) 2021-08-04 03:37:27 +03:00
Florian Blasius 69f31d8d5c
checker: check int literal to enum cast (fix #10125) (#10348) 2021-08-02 07:12:29 +03:00
Uwe Krüger 6068777e03
parser/checker: deduce type of global from initialization expression (#11005) 2021-07-31 16:35:19 +03:00
Uwe Krüger 08aa6c08f6
all: more improvements for global variables (#10986) 2021-07-29 10:57:31 +03:00
yuyi cb7be87d4e
parser: fix struct init and assign using `sql` variable (#10968) 2021-07-26 21:14:31 +03:00
zakuro 3979e5c5ff
v.parser: show better position for sort struct init warning (#10939) 2021-07-24 20:41:59 +03:00
Uwe Krüger 1e5627e777
parser: don't require unary `>` prefix for `select` timeout (#10928) 2021-07-23 23:24:27 +03:00
shadow fe5e3c452f
parser: disable generic type aliases (#10917) 2021-07-23 01:17:16 +03:00
Lukas Neubert 38100faecf
fmt, parser: fix pos.last_line for assembly blocks (#10877) 2021-07-21 11:48:12 +03:00
Daniel Däschle ad3835b598
parser: deprecate short struct init (#10842) 2021-07-20 11:17:08 +03:00
Daniel Däschle 9127e202d5
v.parser: fix error on empty name expr (#10860) 2021-07-19 17:09:51 +03:00
playX 425ca5e3c3
v.gen.js: add three backend options for JS, and comptime if support (#10859) 2021-07-19 15:55:03 +03:00
yuyi a5c784830b
all: simplify global_scope processing (#10848) 2021-07-18 15:29:34 +03:00
Delyan Angelov 6edfb2c7fe
v.parser: eliminate PrefixExpr from `&Type(x).name` and `&Type(x)[idx]` too (fix vinix build) 2021-07-17 20:20:20 +03:00
Delyan Angelov fc8a8e3b6f
ci: fix failure for function_stored_in_global.vv 2021-07-17 18:19:20 +03:00
Delyan Angelov 568aa742b2
v.parser: improve conditions for debugging ast.CastExpr parsing 2021-07-17 17:49:29 +03:00
yuyi 3a0fa550b6
checker: fix generics fn inferring map type (fix #10835) (#10839) 2021-07-17 17:49:21 +03:00
yuyi fe64346ae2
parser: minor optimization of array filtering judgement (#10821) 2021-07-16 12:00:37 +03:00
yuyi aca66d503d
parser: minor optimization in call_expr() (#10809) 2021-07-15 17:47:59 +03:00
spaceface 6e942bf4c2
v: initial support for generic interfaces and sumtypes (#10795) 2021-07-15 08:29:13 +03:00
Delyan Angelov bd0653abab
parser: cleanup `&Type(x)` more, add fmt regression test 2021-07-13 13:12:37 +03:00
crthpl 5089eb4a84
parser: fix pointer cast expressions hack (#10777) 2021-07-13 12:01:24 +03:00
shadowninja55 d1f1c5ae51
v doc: add attribute tags to `v doc -f html` (#10778) 2021-07-13 08:27:20 +03:00
yuyi 581280e6fc
parser: cleanup check_cross_variables() (#10754) 2021-07-12 12:10:42 +03:00
yuyi 938e9b61b5
parser: check undefined variables in assign_stmt (#10755) 2021-07-11 19:09:35 +03:00
yuyi 71e8237483
parser: check undefined variables in array inits (#10746) 2021-07-11 03:49:07 +03:00
Louis Schmieder eb96ad11d9
checker: add pkgconfig to comptime if (#10692) 2021-07-09 18:17:04 +03:00
crthpl d14de5fdaf
all: fix generic functions with pointer args (#10686) 2021-07-07 11:51:05 +03:00
Alexander Medvednikov 0f72bc9819 parser: temporary [c2v_variadic] fn attr for c2v'ed code 2021-07-05 11:32:15 +03:00
Delyan Angelov 972542d6ee
checker: `[noreturn]` part 2 (cleanup) (#10667) 2021-07-05 05:05:37 +03:00
Delyan Angelov 6aecda3be8
all: support `[noreturn] fn abc() { for{} }`, mark panic/1 and exit/1with it too. (#10654) 2021-07-04 20:24:19 +03:00
yuyi 2bcc733ff6
v.parser: rename pratt.v to expr.v (#10566) 2021-06-28 19:35:06 +03:00
shadowninja55 06a6a8e199
checker: check for empty branches in match expressions (#10593) 2021-06-28 19:32:28 +03:00
shadowninja55 2e5ed08558
v.parser: allow anonymous function to return a function (#10592) 2021-06-28 11:51:24 +03:00
shadowninja55 830cf4645c
v.parser: prohibit registering selectively imported (structs / enums / aliases / interfaces) (#10579) 2021-06-28 10:26:09 +03:00
shadowninja55 9b84faad6f
v.parser: prohibit redeclaration of imported functions (#10564) 2021-06-25 14:27:58 +03:00
shadowninja55 be8be3d319
v.parser: prohibit redeclaration of builtin types (#10563) 2021-06-25 13:08:56 +03:00
crthpl 500b48788e
parser, cgen: fix basic asm registers, fix numbered labels in addressing, support indirect branching (#10545) 2021-06-23 14:20:07 +03:00
Yuriy Zymlex 6736817bba
parser: fix `rewind_scanner_to_current_token_in_new_mode` (#10495) 2021-06-22 20:17:36 +03:00