Daniel Däschle
5841d5d8e1
all: implement basic comptime field selector ( #7888 )
2021-01-05 16:11:43 +02:00
zakuro
5c1981379e
parser: fix a bug when using some types like map in generic methods ( #7872 )
2021-01-05 02:59:36 +01:00
zakuro
dd516858d4
fmt: align struct field comments ( #7632 )
2021-01-03 21:10:25 +01:00
Enzo
9332f7cac2
checker: allow `map` method name ( #7834 )
2021-01-03 16:57:29 +01:00
yuyi
c3dafad7ef
generics: implement method generics ( fix #7638 ) ( #7732 )
2020-12-31 18:00:22 +01:00
Ned Palacios
5597925d58
parser: separate SelectorExpr if name is on another line ( #7700 )
2020-12-31 12:37:11 +01:00
Alexander Medvednikov
ad78875a8c
parser: allow `const x = 0` consts outside of const blocks
2020-12-30 02:15:44 +01:00
yuyi
dea3d0431d
parser: minor cleanup of `parse_block_no_scope()` ( #7644 )
2020-12-28 11:58:44 +02:00
Lukas Neubert
06fdf34214
fmt: unwrap long single line ifs ( #7608 )
2020-12-27 14:20:30 +01:00
Nick Treleaven
e813583bc1
checker: support integer and voidptr key types for maps ( #7503 )
2020-12-27 14:18:46 +01:00
Ned Palacios
dfcbf31f65
parser: return node on incomplete module selector ( #7574 )
2020-12-26 12:23:51 +02:00
yuyi
d66ed46486
parser: minor cleanup of `stmt()` ( #7573 )
2020-12-26 08:54:13 +02:00
Lukas Neubert
2c0fba5480
fmt: keep comment between enum fields ( #7566 )
2020-12-25 21:41:59 +02:00
yuyi
3345925883
parser: minor simplification of `stmt` ( #7550 )
2020-12-25 16:59:13 +02:00
Lukas Neubert
8cd74df2f3
vfmt: keep UnsafeExpr linebreacks as set by developer ( #7558 )
2020-12-25 16:52:16 +02:00
Daniel Däschle
1605c3b5f8
parser: fix error when accessing module without name after dot ( #7530 )
2020-12-25 16:50:08 +02:00
yuyi
7b9756be72
parser: check for builtin function redefinitions ( fix #7499 ) ( #7507 )
2020-12-23 18:17:09 +02:00
Lukas Neubert
a2cd1b163c
fmt: keep empty curlies and parenthesis as they are ( #7329 )
2020-12-22 23:43:48 +01:00
Lukas Neubert
d1fc65c260
parser: add information about the ending line for a few elements ( #7414 )
2020-12-22 14:45:12 +01:00
Ned Palacios
06369a27c2
parser: return incomplete selector expr stmt ( #7465 )
2020-12-22 13:00:23 +01:00
Uwe Krüger
8278af4ee8
parser: hot fix to handle `x = <-ch[i] or { }` ( #7416 )
2020-12-19 22:44:16 +02:00
Alexander Medvednikov
1f74f83bc6
parser: map or block; checker: require ref field init
2020-12-19 10:28:17 +01:00
Delyan Angelov
6f7889a3ca
parser: support for `-d time_parsing`
2020-12-18 17:23:57 +02:00
joe-conigliaro
f2f32626bc
all: get -usecache working with mods in ~/.vmodules (ui examples)
2020-12-17 16:08:28 +11:00
joe-conigliaro
7426544610
parser: vfmt parser.v
2020-12-16 18:09:02 +11:00
joe-conigliaro
a7879ce77e
parser: differentiate recursive alias & existing type err + rune fix
2020-12-16 18:03:49 +11:00
Swastik Baranwal
52f908839e
parser: add error for self aliasing ( #7347 )
2020-12-15 21:49:04 +02:00
Delyan Angelov
ed50e22e18
parser: support _js.v and _c.v for `-Wimpure-v`
2020-12-15 08:24:26 +02:00
yuyi
bfa8e4bf86
parser: minor cleanup of `check()` ( #7333 )
2020-12-15 04:31:34 +01:00
Daniel Däschle
b76c91ec05
parser: silent mode fixes ( #7286 )
2020-12-12 13:52:22 +01:00
joe-conigliaro
0aa9f5a007
all: optimize scope usage in checker & parser. store scope in ast nodes ( #7281 )
2020-12-12 19:01:12 +11:00
Daniel Däschle
11808f9fa3
parser: fix silent errors ( #7271 )
2020-12-12 04:06:09 +01:00
Daniel Däschle
597c2249e0
parser: fix expected type enum error pos ( #7265 )
2020-12-11 19:23:29 +02:00
Daniel Däschle
9c1a5c5117
parser: fix silent parsing examples/vmod.v ( #7264 )
2020-12-11 19:14:07 +02:00
joe-conigliaro
a0d10a6606
parser: enum_decl - remove redundant position variable
2020-12-11 19:36:39 +11:00
joe-conigliaro
14c4ba6dd9
parser: error on duplicate enum declaration
2020-12-11 19:30:47 +11:00
Daniel Däschle
aedd1d17b8
parser: fix `v test-parser examples/cli.v` ( #7243 )
2020-12-10 19:32:15 +02:00
Daniel Däschle
1c56ff7faf
parser: fix fibonacci in silent mode ( #7240 )
2020-12-10 18:17:25 +02:00
yuyi
e6d162ad65
parser: minor cleanup of `parser.v` ( #7226 )
2020-12-10 11:25:57 +02:00
Lukas Neubert
3b6b5b8090
vfmt: properly parse comments on lines after init fields ( #7202 )
2020-12-09 11:11:22 +02:00
Delyan Angelov
d5915bde7c
parser: implement support for -Wimpure-v ( #7195 )
2020-12-08 17:52:24 +01:00
joe-conigliaro
78a6795319
all: change the way import symbols work & support consts ( #7182 )
2020-12-07 19:13:03 +02:00
joe-conigliaro
7733834751
parser/cgen: autofree - move branch_parent_pos to cgen.
2020-12-06 18:02:36 +11:00
joe-conigliaro
a05408b49a
all: make type system use source name & cleanup storing name in fields
2020-12-06 14:55:08 +11:00
joe-conigliaro
7212b2eff2
parser: vfmt parser.v which was modified in previous commit
2020-12-06 02:39:56 +11:00
joe-conigliaro
83f651c29a
cgen: autofree - know where to stop freeing parent scops on continue/break
2020-12-06 02:36:27 +11:00
Daniel Däschle
47d0ed308d
parser: prepare for better VLS integration, more accurate parser errors ( #7119 )
2020-12-04 20:34:05 +02:00
spaceface777
50a3009113
fmt: make single-stmt `or` blocks single-line ( #7126 )
2020-12-04 13:25:23 +02:00
Daniel Däschle
6c100a0bc3
vls,parser: fix an eof error in parsing invalid const declarations ( #7115 )
2020-12-03 21:11:43 +02:00
Daniel Däschle
558a756431
parser: fix position offset by 1 ( #7099 )
2020-12-03 11:25:06 +02:00
Swastik Baranwal
c5a7c51dfd
parser: add a check for known vars in or block ( #7094 )
2020-12-03 04:46:04 +01:00
joe-conigliaro
ce1fa1194d
parser: fix not used parent warning for selective imports. closes #6916
2020-12-03 01:14:49 +11:00
Lukas Neubert
2691163a7e
scope: remove redundant name arg from register() ( #7077 )
2020-12-02 14:40:25 +01:00
Lukas Neubert
8adc8ed103
parser: do not fail on comment direct after import ( #7071 )
2020-12-01 22:32:34 +02:00
Daniel Däschle
6af082e70e
doc: detailed documentation of the compiler pipeline ( #7043 )
2020-12-01 03:58:39 +01:00
Swastik Baranwal
e3fab7e076
parser: add an error for an invalid string prefix ( #7019 )
2020-11-30 10:58:00 +02:00
ka-weihe
9367dcda10
all: fix remaining c warnings and add -Werror to CI ( #7021 )
2020-11-29 21:23:37 +02:00
joe-conigliaro
91eca539d0
all: -usecache fixes and self compilation & some type cname optimisation ( #7015 )
2020-11-29 14:10:45 +01:00
Daniel Däschle
32c027a0bf
parser: disallow ptr type as sum type variant ( #6996 )
2020-11-28 23:40:40 +02:00
Delyan Angelov
ac27a3ccee
parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b`
2020-11-27 23:09:14 +02:00
Daniel Däschle
966b95ca4e
parser: move mut in if/match to expr ( #6973 )
2020-11-27 03:08:42 +01:00
Alexander Medvednikov
62ee436944
all: remove broken escape sequences after $ in strings
2020-11-27 03:07:37 +01:00
Daniel Däschle
52b627feb3
checker: check filter, map and sort left type ( #6952 )
2020-11-26 11:28:54 +01:00
Takahiro Yaota
258f8f6af9
parser: report unused expression error in if and or blocks ( #6953 )
2020-11-26 00:28:41 +01:00
Daniel Däschle
8446433bcf
parser: remove __type ( #6946 )
2020-11-25 14:27:15 +01:00
Daniel Däschle
7d6f97259f
all: refactor UnionSumType to SumType ( #6944 )
2020-11-25 13:09:40 +02:00
Daniel Däschle
a042966082
all: remove old sumtype code ( #6937 )
2020-11-24 17:55:24 +01:00
Daniel Däschle
aa6303f0b2
all: use the new types with old syntax ( #6922 )
2020-11-24 13:58:29 +01:00
Daniel Däschle
9fbf38c798
parser: fix generic structs from other modules ( #6921 )
2020-11-23 23:21:11 +01:00
Takahiro Yaota
2f9b7fe0f7
vfmt: fix error with `return // comment` ( #6914 )
2020-11-23 11:36:20 +02:00
Nick Treleaven
d5242e0bf5
gen: implement labelled break and continue (retry) ( #6887 )
2020-11-20 12:23:48 +01:00
Lukas Neubert
ef3e8d2c84
vfmt: handle comments after type declarations ( #6874 )
2020-11-20 11:51:50 +02:00
Alexander Medvednikov
4328233504
Revert "gen: implement labelled break and continue ( #6880 )"
...
This reverts commit e798326a1a
.
2020-11-20 02:51:35 +01:00
Nick Treleaven
e798326a1a
gen: implement labelled break and continue ( #6880 )
2020-11-19 21:13:15 +01:00
Daniel Däschle
6271798ce3
cgen: union sum types implementation ( #6745 )
2020-11-11 09:18:15 +01:00
Nick Treleaven
c76e486765
parser: implement `T.name` for generic types ( #6783 )
2020-11-09 14:35:26 +01:00
spaceface777
3c83551dfe
parser: fix treating JS fn calls as type casts ( #6779 )
2020-11-08 20:33:55 +02:00
Nick Treleaven
62cae1ba00
parser: parse func<T>() when T is a map or array type ( #6765 )
2020-11-07 02:55:28 +01:00
spaceface777
a9e9554b11
all: fix most C warnings ( #6758 )
2020-11-06 16:26:59 +02:00
Daniel Däschle
a2fc19880a
parser: fixes or block position ( #6736 )
2020-11-04 16:02:01 +02:00
Delyan Angelov
9eb655e65c
all: add .pos fields to all AST nodes, to avoid wrong positions in error messages
2020-11-04 13:34:12 +02:00
Daniel Däschle
9d5be12517
gen: add prefix when printing type aliases ( #6701 )
2020-11-03 14:13:35 +01:00
Delyan Angelov
2c3f695469
checker,parser: treat C.Struct fields as public by default
2020-11-03 09:35:44 +02:00
Daniel Däschle
d5a421e3f5
checker: add alias cast type check ( closes #6705 ) ( #6709 )
2020-11-02 01:17:35 +01:00
Delyan Angelov
e72d9c0f88
parser: protect against infinite loops in -silent mode over invalid .v files
2020-11-01 14:02:32 +02:00
Ned Palacios
ce7da85166
parser: make .parse() public ( #6693 )
2020-10-29 07:10:45 +01:00
Delyan Angelov
8b01146b90
compiler: implement -W and -reuse-tmpc
2020-10-24 20:34:50 +03:00
Enzo
21db4b338b
parser: clean error when nesting `unsafe` ( #6656 )
2020-10-20 22:57:24 +03:00
Alexander Medvednikov
37d6503437
parser: do not allow fn consts
2020-10-19 13:48:39 +02:00
Delyan Angelov
8d88b73512
parser: fix formatting
2020-10-16 17:47:23 +03:00
Delyan Angelov
140166e1cd
interpolation: support '' (rounding like in C)
2020-10-16 17:28:11 +03:00
Enzo
b083f4014b
fmt: fix multiple things and format most of the compiler ( #6631 )
...
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Alexander Medvednikov
982056894e
fmt: use `f(x int, y int)` instead of `f(x, y int)`
2020-10-15 12:00:46 +02:00
Delyan Angelov
44a42b7273
ci: fix parser.v formatting
2020-10-15 11:41:43 +03:00
Delyan Angelov
6326b6d58e
parser: add helper method p.trace/2
2020-10-15 11:09:19 +03:00
Delyan Angelov
c33a748344
vfmt: handle more comments in interface/struct init/match branches
2020-10-14 22:52:33 +03:00
Delyan Angelov
c3626bf2e6
vfmt: prepare for using .source_name in type_to_str
2020-10-08 14:26:12 +03:00
Delyan Angelov
efce448b23
parser: always treat MainLetter(x) as a cast, even when the type is not yet known
2020-10-07 15:50:54 +03:00
Delyan Angelov
8e5067421f
vet: accumulate the collected errors manually (fixes CI)
2020-10-06 10:02:35 +03:00
Alexander Medvednikov
256a572cbe
vet: fix vet_errors
2020-10-06 07:07:50 +02:00