Commit Graph

555 Commits (c28041cecc205db9603c4011733e89cc81d3acb9)

Author SHA1 Message Date
yuyi c28041cecc
all: cleanup/rename all `comp_` names to be `comptime_` (#12467) 2021-11-15 15:47:29 +02:00
Delyan Angelov 61b99e1915
vfmt: handle comments right after interface fields 2021-11-13 13:42:17 +02:00
zakuro 823a3ab838
fmt: fix removal of selective imported types used as type parameter (#12431) 2021-11-11 07:15:30 +02:00
zakuro 242b99340d
vfmt: fix bug where duplicated comma is placed before comment in array init (#12281) 2021-10-24 12:05:34 +03:00
yuyi 7bc3e67e24
fmt: fix import with symbols (fix #12065) (#12069) 2021-10-05 11:44:48 +03:00
zakuro ce0867f40c
vfmt: fix removal of selective imported type used in map (#12030) 2021-10-01 15:14:21 +03:00
crthpl 85b58b03a3
cgen: parallelize (#10844) 2021-09-28 10:28:04 +03:00
Ruofan XU 834cf40ab2
cgen, fmt, scanner: fix and use nested lambda in scanner (#11967) 2021-09-24 18:21:22 +03:00
Delyan Angelov bf2569a9a8
all: support `mut volatile x := 123` declarations (#11940) 2021-09-22 13:06:30 +03:00
yuyi 108a01d65f
fmt: fix unnecessary line break in array init (fix #11448) (#11562) 2021-09-21 16:20:09 +03:00
Ruofan XU b343f19bec
v.scanner: fix ambiguity of two-level generics and shift-right (#11540) 2021-09-19 16:22:28 +03:00
yuyi 44ec8a8cd4
v.fmt, v.gen.js: use 'if foo in [TypeA, TypeB]' in fmt.v and js.v (#11524) 2021-09-17 21:59:16 +03:00
Ruofan XU 9180647f99
scanner, fmt: fix multi-level generics (#11517) 2021-09-17 21:44:31 +03:00
Daniel Däschle b63ec8fbcf
checker: require `params` attribute to use struct as keyword arguments in function (#11135) 2021-09-14 00:05:30 +03:00
Enzo 012da10517
ast, fmt: cleanup (#11477) 2021-09-13 04:08:58 +03:00
Enzo c8471528ce
fmt: format long sum-types with a line for each type (#11461) 2021-09-10 20:56:55 +03:00
yuyi e5360e164a
fmt: remove unnecessary parentheses after `return` (fix #11423) (#11435) 2021-09-08 14:19:53 +03:00
zakuro aefe267970
fmt: fix removal of selective imported generic type (#11395) 2021-09-05 17:59:35 +03:00
yuyi f44eb88a8d
vfmt: fmt '!(a in/is b)' to 'a !in/is b' (#11335) 2021-08-30 09:45:36 +03:00
Delyan Angelov 16455a7660 fmt: preserve local fn parameter, when a module const with the same name is declared 2021-08-27 09:22:53 +03:00
yuyi b635ff80de
fmt: format '1.' to '1.0' (#11312) 2021-08-26 07:18:27 +03:00
spaceface 7c9a1defa4
fmt: preserve method receiver mutability in interface decls (#11222) 2021-08-17 19:39:53 +03:00
Lukas Neubert 1c847e04c8
fmt: fix malformed import for incorrect module lookup paths (#11192) 2021-08-16 05:15:32 +03:00
Enzo da53f818df
all: initial support for closures (x64 / linux-only) (#11114) 2021-08-10 21:27:15 +03:00
zakuro 490dec222f
fmt: keep char literal, `'` (#11060) 2021-08-06 06:21:28 +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
Uwe Krüger 6068777e03
parser/checker: deduce type of global from initialization expression (#11005) 2021-07-31 16:35:19 +03:00
Lukas Neubert 1e255d3ab1
fmt: cleanup redundant generic types code (#10990) 2021-07-29 15:21:10 +03:00
Uwe Krüger 08aa6c08f6
all: more improvements for global variables (#10986) 2021-07-29 10:57:31 +03:00
Uwe Krüger 1e5627e777
parser: don't require unary `>` prefix for `select` timeout (#10928) 2021-07-23 23:24:27 +03:00
Lukas Neubert 05d0288e8d
fmt: move asm related code into it's own file (#10874) 2021-07-20 15:07:15 +03:00
Daniel Däschle ad3835b598
parser: deprecate short struct init (#10842) 2021-07-20 11:17:08 +03:00
spaceface 6e942bf4c2
v: initial support for generic interfaces and sumtypes (#10795) 2021-07-15 08:29:13 +03:00
zakuro cb14e42af8
fmt: fix removal of selective imported Enum (#10729) 2021-07-10 11:06:01 +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
Lukas Neubert 1492eae27d
v.fmt: keep selective type imports used for casting (#10597) 2021-06-28 13:21:26 +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
Delyan Angelov 5dff8dc097
v.fmt: keep `[ ... \n 123, // end of line comment \n ... ]` as is 2021-06-18 16:43:03 +03:00
Delyan Angelov 9f6ddb4c21
v.fmt: add an independent Comment.is_inline flag. Use it for fixing `[ .. //x ]` => `[ .. //x, ]` 2021-06-18 15:52:31 +03:00
yuyi 1dca06495d
checker: implement if smartcast multi conds (part 1) (#10477) 2021-06-16 19:16:15 +03:00
Uwe Krüger 2ac39d9112
all: new function `isreftype(T)` to know if `T` contains pointers (#10438) 2021-06-13 06:26:13 +03:00
zakuro 4089aa38c5
fmt: fix removal of `Abc` in `import mod { Abc }`, where `Abc` is used in a `x as Abc` expression #10306 2021-06-03 06:35:54 +03:00
zakuro 90292ce981
fmt: fix removal of `Abc` in `import mod { Abc }`, where Abc is used in a `x is Abc` expression (#10286) 2021-05-31 17:35:16 +03:00
Delyan Angelov eac1e25c5d
strings: simplify Builder (#10263) 2021-05-31 14:21:06 +03:00
Lukas Neubert ddcc22a778
fmt: fix removal of selective imported map key type (#10235) 2021-05-28 22:29:03 +03:00
Lukas Neubert 8a109b031c
fmt: minor optimization in call_expr (#10228) 2021-05-27 22:40:54 +03:00
Lukas Neubert d5cacd1e5f
ast: use string builder for StringInterLiteral.str() (#10207) 2021-05-27 10:17:51 +03:00
Lukas Neubert 788520eb52
fmt, ast: fix usage of import aliases (#10151) 2021-05-21 20:33:04 +03:00
zakuro d8cf26aaba
fmt: fix trailing arg formatting (#10155) 2021-05-21 06:14:07 +03:00