Commit Graph

5995 Commits (071549baaebdbfda74f2435b27d06a76d9118142)

Author SHA1 Message Date
yuyi 7458b699d0
fmt: change `[1,2,3]!!` to `[1,2,3]!` (#8081) 2021-01-13 08:32:17 +01:00
Nick Treleaven ac85257ea0
parser: fix sizeof(mod.Type), fix checking sizeof expression (#8065) 2021-01-13 06:13:39 +01:00
yuyi dd6febf6fa
cgen: fix gen_array_sort() (#8077) 2021-01-13 06:12:22 +01:00
zakuro 254df0ca62
fmt: improve string quotes (#8075) 2021-01-13 06:05:27 +01:00
zakuro 3e3d45b2b1
parser: improve array init warning (#8024) 2021-01-13 06:03:23 +01:00
zakuro e8ab79205f
ast: add str for Module (#8072) 2021-01-13 06:00:53 +01:00
Swastik Baranwal 1e853b0efc
cgen: implement argument operator overloading (#8067) 2021-01-13 03:31:14 +01:00
Lukas Neubert 0e490766df
fmt: do not move single line block comments to previous line (#8046) 2021-01-13 03:30:24 +01:00
yuyi 03a0534483
all: change fixed array init from `[1,2,3]!!` to `[1,2,3]!` (#8068) 2021-01-13 03:28:53 +01:00
Delyan Angelov ef18fb837c
net.urllib: workaround an autofree bug for `if cond && opt() {` 2021-01-12 16:29:04 +02:00
Daniel Däschle 3289dff7ff
checker: require explicit return none (#8060) 2021-01-12 11:43:55 +01:00
yuyi 33976246c8
cgen: format the generated c code of arrays map and filter (#8016) 2021-01-12 04:39:09 +01:00
zakuro 33694665f0
fmt: align each contiguous field of struct. not the whole. (#7981) 2021-01-12 04:38:43 +01:00
Swastik Baranwal 82a5300044
cgen: allow sort with`<` and `>` op overloading (#8042) 2021-01-12 04:38:12 +01:00
Swastik Baranwal 5a1699dec2
checker: add more checks for operator overloading (#8030) 2021-01-12 04:37:20 +01:00
yuyi 1559e72d0d
cgen: add gen_fixed_array_equality_fn (#8006) 2021-01-12 01:35:18 +01:00
penguindark 55e3e50b9b
ttf: improvement on not found glyphs (#8050) 2021-01-12 00:49:58 +01:00
Uwe Krüger 5f95dd54bd
builtin: rename `any_*` -> `*_literal` - 2. part (#8032) 2021-01-11 22:58:15 +01:00
Uwe Krüger 91f87c03cf
all: rename `any_*` -> `*_literal` - 1. part (#8031) 2021-01-11 22:20:16 +01:00
Lukas Neubert 5d6e9f7bf9
fmt: fix rare extra tab after a SumType (#8035) 2021-01-11 22:19:42 +01:00
yuyi 72317975fc
cgen: minor cleanup of gen_assert_stmt() (#8018) 2021-01-11 09:05:15 +01:00
Tomas Hellström cc17f145c5
websocket: make compile with autofree (#8023) 2021-01-11 09:03:10 +01:00
yuyi a1c67232d0
checker: fix duplicate variable name (fix #265) (#7982) 2021-01-10 21:41:29 +01:00
yuyi 39bb6f0491
array: fix array of multi filter/map in one assignment (fix #7858) (#7976) 2021-01-10 21:08:45 +01:00
zakuro c1b1ec9005
fmt: keep same line comment in array init (#7980) 2021-01-10 21:06:48 +01:00
zakuro 2103d9a6c4
fmt: keep new line at both ends of block comment (#8003) 2021-01-10 21:06:29 +01:00
Swastik Baranwal 8f4238e76a
time: use operator overloading for `>=` and `<=` (#8009) 2021-01-10 21:05:05 +01:00
Lukas Neubert a8378273a5
fmt: fix too many \n if file has only imports (#8012) 2021-01-10 21:19:31 +02:00
yuyi a97ed55a09
checker: check for an unknown struct name (fix #8007) (#8010) 2021-01-10 21:16:53 +02:00
Delyan Angelov 692a718428
examples: use os.resource_abs_path, so `v run examples/ttf_font/example_ttf.v` works 2021-01-10 20:36:50 +02:00
penguindark c067cc0357
vlib: add a TTF font loader and render in `x.ttf` (#7995) 2021-01-10 20:14:41 +02:00
Delyan Angelov a0b8191a94
net: cleanup unused `time` imports in tests 2021-01-10 18:59:06 +02:00
Larpon 93ad595ffb
vet: add suggestions for function documentation (#7890) 2021-01-10 18:48:39 +02:00
Lukas Neubert d96a1b8a5f
fmt: intelligent newlines for trailing arg syntax (#7748) 2021-01-10 17:39:37 +01:00
Delyan Angelov 722a603222
cgen: fix os.args initialization, so that `const x = os.args[0]` works 2021-01-10 15:17:24 +02:00
Swastik Baranwal 0081e5740d
checker: only allow `!=` and `==` for enum (#7985) 2021-01-10 12:26:31 +02:00
Swastik Baranwal 1f5255c2bb
cgen: implement `>=` and `<=` (#7991) 2021-01-10 12:24:46 +02:00
Lukas Neubert 73bd63d69d
token: remove // from comment kind string (#7992) 2021-01-10 12:19:59 +02:00
Lukas Neubert 31753f581f
ast: remove redundant InfixExpr.str() (#7993) 2021-01-10 12:19:14 +02:00
pancake 0e016baa34
v.pkgconfig: support Requires.private; handle double spaces in pkgconfig files (#7994) 2021-01-10 12:14:41 +02:00
yuyi 704f38d87f
parser: fix multi fixed arrays init (#7996) 2021-01-10 06:58:31 +01:00
Daniel Däschle a8dd13f086
parser: change array decompose syntax (#7965) 2021-01-09 22:48:23 +01:00
Lukas Neubert e79695e8fc
fmt: keep comments after call_expr in vscript (#7990) 2021-01-09 22:47:33 +01:00
Delyan Angelov 561d4f84b3
tests: remove tmp files on OK live_test.v run 2021-01-09 20:56:02 +02:00
zakuro 407da09acf
ast: add str for EnumDecl (#7977) 2021-01-09 19:49:27 +01:00
Delyan Angelov aa37382e8d
tools: let `v fmt` use VTMP too, stabilise `v test-cleancode` 2021-01-09 20:41:15 +02:00
Larpon 8f315d226b
vvet: move to own subdir, prepare richer suggestions (#7989) 2021-01-09 16:11:49 +02:00
Delyan Angelov 7545ed4121
ci: fix union field warnings in `clipboard` module 2021-01-09 11:37:40 +02:00
Don Alfons Nisnoni d645e45752
mysql: add more documentation (#7846) 2021-01-09 10:40:21 +02:00
Ned Palacios 256ddcee1f
v.ast: add walker submodule for ast walking (#7775) 2021-01-09 05:36:38 +01:00
Uwe Krüger eff757d0a1
cgen: fix address violations for error propagation (#7972) 2021-01-09 02:43:48 +01:00
Daniel Däschle bbac95a438
parser: error on recursive struct (#7964) 2021-01-09 01:33:36 +01:00
Nick Treleaven 141b0cb882
checker: fix warning & allow assigning to a union field without unsafe (#7970) 2021-01-09 01:32:33 +01:00
zakuro 8d3069f643
parser: avoid value receiver (#7975) 2021-01-09 01:32:08 +01:00
Delyan Angelov dff36a9947
cgen: fix small g.is_autofree && [manualfree] problem 2021-01-08 23:24:26 +02:00
Uwe Krüger 29c2240aef
fmt: enable `or` block for `ch <- x` (#7969) 2021-01-08 21:39:21 +01:00
Daniel Däschle 687b152318
gen: fix generation of comptime if T is (#7971) 2021-01-08 19:39:58 +02:00
Uwe Krüger cbe7740d97
fmt: do not generate `import` statements for auto imports (#7966) 2021-01-08 17:42:40 +01:00
Swastik Baranwal 9291fb5e0c
checker: disallow comparison between enum and int (#7886) 2021-01-08 17:41:52 +01:00
Delyan Angelov 46a5c487c1
parser,fmt: implement `[manualfree] module abc` for opting out *all* fns in a given .v from autofree 2021-01-08 17:24:42 +02:00
Delyan Angelov 083dc23db8
gen: implement a `[manualfree]` tag, for functions, that want to do their own memory management 2021-01-08 16:22:27 +02:00
Hitalo de Jesus do Rosário Souza cad4c5ee37
gx: add .rgba8(), .bgra8(), .abgr8() methods to gx.Color (#7911) 2021-01-08 13:40:03 +02:00
yuyi a481c1785b
log: fix log_to_file (#7955) 2021-01-08 12:26:37 +02:00
yuyi 828120a918
checker: check unknown generic type (#7954) 2021-01-08 07:04:06 +01:00
Alexander Medvednikov 0998cbaaba vweb: fix routing test 2021-01-08 05:59:23 +01:00
Alexander Medvednikov 1b07710ab3 vweb: make html() return Result 2021-01-08 05:05:29 +01:00
Alexander Medvednikov 352cf91ba2 vweb: remove `return vweb.Result{}` everywhere 2021-01-08 04:57:02 +01:00
Alexander Medvednikov e3f8d448c1 all: [noinit] struct attribute 2021-01-08 04:49:16 +01:00
Daniel Däschle 1ce93536d0
checker: fix panic in generic methods (#7944) 2021-01-08 00:50:59 +01:00
Lukas Neubert 653121bad9
fmt: test bin2v output formatting (#7926) 2021-01-07 21:36:59 +01:00
Daniel Däschle 88d18f3303
checker: smartcast in for loops (#7942) 2021-01-07 21:35:32 +01:00
zakuro 226c918bdd
cli: make execute_help pub (#7938) 2021-01-07 20:33:15 +01:00
Nick Treleaven cbefe6c32f
parser: warn about old use of `typeof` (#7923) 2021-01-07 20:32:02 +01:00
zakuro a2add15558
ast: add params info to str of FnDecl (#7933) 2021-01-07 20:25:55 +01:00
Larpon 41e9a769e9
doc: fix README embedding (#7929) 2021-01-07 20:25:29 +01:00
zakuro af1d28dee7
ast: add str for StructDecl (#7934) 2021-01-07 20:25:04 +01:00
yuyi ad79d55a5c
ftp: fix an error (#7930) 2021-01-07 20:21:47 +01:00
yuyi 2ad2d68d7c
json: fix decoding of null map/array (#7936) 2021-01-07 20:21:22 +01:00
Daniel Däschle 085085a2b9
parser: fix sumtype match with array type (#7939) 2021-01-07 20:12:35 +01:00
Alexander Medvednikov 15ba53be21 checker: handle different pointer levels 2021-01-07 07:36:11 +01:00
Delyan Angelov 9593ad20f9
v.util: extend launch_tool with auto recompilation of a folder with several .v files too 2021-01-06 23:48:38 +02:00
Uwe Krüger ffd753abdc
all: implement `ch <- x or {...}` and `ch <- x ?` (#7928) 2021-01-06 21:19:40 +01:00
Larpon 30a2f125ef
doc: add comment example support (#7924) 2021-01-06 19:43:43 +01:00
Hitalo de Jesus do Rosário Souza ea4981df90
vweb.tmpl: update README.md with @js directive (#7791) 2021-01-06 20:05:32 +02:00
Daniel Däschle a8e4d1df40
cgen: fix match comparing with ident of type string (#7921) 2021-01-06 20:03:50 +02:00
Larpon dcc8310bd0
builtin: fix comment examples in int.v (#7902) 2021-01-06 20:02:04 +02:00
Daniel Däschle 9025c3528f
all: implement comptime if for generic type `$if T is string {` (#7901) 2021-01-06 19:58:53 +02:00
yuyi f751271e4e
ftp: fix error of ftp.connect() (fix parts of #7914) (#7915) 2021-01-06 19:53:25 +02:00
Daniel Däschle 8a0fc2e3c2
parser: proper error when declaring struct embedding at the wrong pos (#7920) 2021-01-06 15:46:36 +01:00
Tomas Hellström f9a873736e
x.websocket: server broadcast plus examples (#7922) 2021-01-06 15:43:54 +01:00
Daniel Däschle 42e60b8e27
vweb: fix array.last usage (#7905) 2021-01-06 01:24:36 +01:00
Larpon e219f954d8
builtin: document all functions in float.v (#7904) 2021-01-05 23:01:10 +01:00
Alexander Medvednikov 5c4c4354b1 byte: more tests 2021-01-05 19:34:42 +01:00
Alexander Medvednikov 3722e16073 builtin: fix byte.str() (part 2) 2021-01-05 19:26:50 +01:00
Nick Treleaven 7a6b160d63
checker: fix indexing a type alias instance (#7889) 2021-01-05 19:17:18 +01:00
Alexander Medvednikov 5a70eba8e1 all: byte.str() => byte.ascii_str() 2021-01-05 19:14:37 +01:00
Larpon fdb6f1ab50
builtin: int.v workaround vfmt bug (#7899) 2021-01-05 20:09:20 +02:00
Nick Treleaven 8fc33bc27d
checker: warn when casting number or a voidptr to reference type outside unsafe (#7900) 2021-01-05 20:07:45 +02:00
Alexander Medvednikov 3e04dfc79f builtin: fix byte.str() (part 1) 2021-01-05 18:59:51 +01:00
Delyan Angelov 95431cf6b0
builtin: fix the comment example in byte.str_escaped() 2021-01-05 18:22:17 +02:00
yuyi 10e7045bee
cgen: fix array/fixed_array_rune_str (#7881) 2021-01-05 18:16:55 +02:00
Daniel Däschle c137a79666
checker: check if $if left is selector expr (#7897) 2021-01-05 18:14:55 +02:00
Larpon 9b9cab92f0
builtin: document all functions in int.v (#7896) 2021-01-05 17:45:36 +02:00
yuyi 9d9ca0ab5e
builder: auto cleanup xxx.def generated by tcc on windows (#7878) 2021-01-05 17:07:07 +02:00
Nick Treleaven 3203a124b2
checker: warn when casting between reference types outside of `unsafe` (#7892) 2021-01-05 17:02:04 +02:00
Lukas Neubert eaba21d81a
fmt: keep the shebang header in vsh files (#7893) 2021-01-05 16:14:16 +02:00
Daniel Däschle 5841d5d8e1
all: implement basic comptime field selector (#7888) 2021-01-05 16:11:43 +02:00
zakuro e19277352b
cli: add Command.setup() (#7850) 2021-01-05 13:25:25 +02:00
Swastik Baranwal 7c290a7fe8
time: use operator overloading (#7882) 2021-01-05 12:43:34 +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
Nick Treleaven 2fc50a4045
cgen: fix 32-bit voidptr for map key (#7759) 2021-01-05 02:59:01 +01:00
zakuro 3dae44db73
checker: do not allow empty enums (#7848) 2021-01-05 01:46:32 +01:00
Nick Treleaven c0e56d10c3
parser: add errors for invalid anonymous function (#7786) 2021-01-05 01:32:24 +01:00
Daniel Däschle 9f74be4cf6
vweb: route to index dynamically (#7782) 2021-01-05 01:30:27 +01:00
zakuro a7a8e659f6
fmt: keep generic type in method call (#7874) 2021-01-05 01:29:58 +01:00
spaceface efb80bdffd
all: implement iterators in for loops (#7867) 2021-01-05 01:06:44 +01:00
Ned Palacios 82162b8ff8
cgen: interface fix + add more interface tests (#7776) 2021-01-04 21:54:13 +02:00
Nick Treleaven 040b923665
checker: warn when accessing `union` fields outside `unsafe` (#7869) 2021-01-04 21:44:37 +02:00
Daniel Däschle 7c9fb73b3f
vfmt: fix comments before ...f in Abc{...f} (#7870) 2021-01-04 21:01:35 +02:00
Uwe Krüger bf904c2f82
checker, cgen: allow using literals as `int` and `f64` for sum types (#7864) 2021-01-04 20:48:13 +02:00
Daniel Däschle 164d7bf5fb
parser: struct updating syntax with `Abc{...oldabc newfield: val}` (#7865) 2021-01-04 20:19:03 +02:00
clubby789 0ab6a8cd01
os: add a `posix_set_permission_bit` function (#7754) 2021-01-04 19:57:17 +02:00
yuyi 46d311dcc4
generic: fix return multi array generic (fix #7727 #7753) (#7855) 2021-01-04 18:40:53 +02:00
Don Alfons Nisnoni 7533ffa48f
mysql: add README.md (#7824) 2021-01-04 18:37:10 +02:00
yuyi 52521554ce
time: fix parse_iso8601 on windows (#7853) 2021-01-04 18:26:21 +02:00
Nick Treleaven b9c6011602
parser: support casting to a pointer to array (#7861) 2021-01-04 18:22:04 +02:00
Delyan Angelov 22085041f1
strconv: implement strconv.format_int(n, radix) and strconv.format_uint(n,radix) 2021-01-04 16:02:13 +02:00
Delyan Angelov 3a357d9718
gg: add examples/gg/stars.v 2021-01-04 12:19:05 +02:00
Swastik Baranwal 21d5db43af
cgen: do not generate `!=` and `==` for C types (#7856) 2021-01-04 08:57:31 +01:00
Daniel Däschle 43adbf4b66
cgen: fix filter in map (#7844) 2021-01-04 01:04:53 +01:00
Alexander Medvednikov baae302894 cc: use -g instead of -g3 2021-01-04 00:15:27 +01:00
Delyan Angelov f2bfda4989
ci: skip test_utf8_wide_char on windows with msvc 2021-01-04 00:16:31 +02:00
Uwe Krüger 4a25c2bb6f
types: rename `any_*`, `untyped *` -> `* literal` (#7845) 2021-01-04 00:11:09 +02:00
Delyan Angelov 9b43b6833b
ci: fix clipboard_test.v on windows 2021-01-03 23:46:08 +02:00
Delyan Angelov 760de7c811
ci: use more reliable asserts for test_utf8_wide_char 2021-01-03 22:15:18 +02:00
Delyan Angelov d86304b7d0
v.table: use the user readable names inside type_to_str_using_aliases for `any_int` and `any_float` 2021-01-03 22:15:18 +02:00
zakuro dd516858d4
fmt: align struct field comments (#7632) 2021-01-03 21:10:25 +01:00
Delyan Angelov ff1156cddd
ci: run `VAUTOFIX=1 ./v vlib/v/compiler_errors_test.v` to fix ci failures 2021-01-03 19:03:20 +02:00
Delyan Angelov 745a7f8d8f
ci: run vfmt over checker.v and types.v 2021-01-03 19:02:33 +02:00
Delyan Angelov c84d1841ea
tests: implement `VAUTOFIX=1 ./v vlib/v/compiler_errors_test.v` 2021-01-03 19:00:34 +02:00
Joe Conigliaro 70b921c49d
all: change any_int & any_flt display name 2021-01-04 03:20:52 +11:00
Alexander Medvednikov 89bbbe0ec0 vweb: vfmt vweb.v 2021-01-03 17:03:18 +01:00
penguindark 443ae1d76e
regex: fix a bug in find and find_all (#7839) 2021-01-03 16:59:00 +01:00
Enzo 9332f7cac2
checker: allow `map` method name (#7834) 2021-01-03 16:57:29 +01:00
yuyi 443bf44031
tests: fix ci error in vtest-fixed (fix #7827) (#7830) 2021-01-03 16:38:28 +01:00
Enzo 22e54e6703
fmt: fix formatting array decomposition (#7835) 2021-01-03 16:19:43 +01:00
Swastik Baranwal 9033099676
cgen: implement overriding of `!=` and `==` (#7837) 2021-01-03 16:19:02 +01:00
StunxFS b7f83e2f50
checker: more errors for illegal referencing (#7755) 2021-01-03 15:56:15 +01:00
Nick Treleaven 38e0aa350d
checker: support non-string map.keys method (#7760) 2021-01-03 15:55:06 +01:00
Enzo 529f46d808
checker: don't panic on non-array decomposition (#7836) 2021-01-03 15:45:39 +01:00