1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

7050 Commits

Author SHA1 Message Date
yuyi
c0779e8455
cgen: fix return_statement generated redundant ; (#9299) 2021-03-14 14:58:17 +02:00
Delyan Angelov
125be84e3d
builtin: fix -d debug_realloc, add realloc_data/3 2021-03-14 14:54:35 +02:00
Delyan Angelov
ddbe57e00a
v test-cleancode: ensure more .v files are kept vmft-ed 2021-03-14 12:17:31 +02:00
spaceface
eebc8a9d7a
builtin: cleanup option names (part 2) (#9294) 2021-03-14 12:11:52 +02:00
zakuro
8dc0e4d150
v.scanner: decode \uXXXX in scanner (#9298) 2021-03-14 12:09:17 +02:00
Delyan Angelov
69f1e7c9c3
v: fixes for v -autofree -o v2 cmd/v 2021-03-14 09:37:38 +02:00
Leah Lundqvist
64d0006ff9
jsgen: fix string and array for loops and improve casting (#9295) 2021-03-14 08:20:01 +02:00
Nick Treleaven
df46fe1373
builder: warn when using tcc with -prod (#9288) 2021-03-14 01:55:14 +01:00
spaceface
9ed9e7aff0
builtin: cleanup option names (part 1) (#9293) 2021-03-14 01:54:46 +01:00
yuyi
5a6b321656
cgen: format if_guard_expr generated c codes (#9290) 2021-03-14 01:54:05 +01:00
spaceface
e9797c618a
all: implement error interfaces (#9291) 2021-03-13 18:13:50 +01:00
Alexander Medvednikov
167dcc415d tests: fix a generic init test 2021-03-13 18:46:02 +03:00
Alexander Medvednikov
f86233c41f autofree: fix [manualfree] 2021-03-13 18:43:02 +03:00
Alexander Medvednikov
2f1810634e checker: do not allow direct initialization of builtin types (s := string{}) 2021-03-13 18:20:46 +03:00
Lukas Neubert
f648e3f10d
fmt: use iembed cmts in arrays at line start when exprs come afterwards (#9285) 2021-03-13 09:58:50 +02:00
Ulises Jeremias Cornejo Fandos
5e02f6358c
math: add a test suite taken from vsl/vmath (#9280) 2021-03-13 09:05:02 +02:00
Nick Treleaven
c06e58d418
gen: fix generating $if expr || expr (#9270) 2021-03-13 08:45:50 +02:00
Lukas Neubert
fecf4a6f58
os: fix rmdir_all panic with hidden dirs (#9271) 2021-03-13 08:43:38 +02:00
Andréas Livet
603012be94
gg: add draw_image_part (#9277) 2021-03-13 08:39:10 +02:00
Vitalie Lazu
cccca51788
pg: support for copy sql commands (#9272) 2021-03-13 08:06:53 +02:00
zakuro
00dedaf6c1
scanner: replace ascii unicode(\u0020) with hex(\x20) (#9259) 2021-03-13 08:02:42 +02:00
Subhomoy Haldar
08da33fa5a
rand: add non uniform distributions in the rand.dist module (#9274) 2021-03-12 21:24:43 +02:00
Delyan Angelov
0c33656a19
ci: fix failing option_print_errors_test.v 2021-03-12 20:36:19 +02:00
spaceface
be409b52e9
builtin: prepare for error interfaces (#9043) 2021-03-12 20:05:05 +02:00
Delyan Angelov
c474106511
cgen: fix match expression with complex boolean conditions 2021-03-12 19:55:33 +02:00
StunxFS
3cb1bb7c36
checker: check the amount of parameters passed to json.decode() (#9267) 2021-03-12 19:02:09 +02:00
StunxFS
90d942e2ec
os: add missing '.exe' in os_test.v (#9269) 2021-03-12 18:05:29 +02:00
Nick Treleaven
9db8a61b92
checker: disallow array append in an expression (#9265) 2021-03-12 16:09:01 +01:00
Uwe Krüger
dbbf96702b
checker: require shared a to be rlocked to read a[i] or a.e (#9266) 2021-03-12 16:08:39 +01:00
Delyan Angelov
def53fd73f
os: prevent os.exists_in_system_path() from panicing 2021-03-12 17:05:26 +02:00
Delyan Angelov
995db65471
os: fix os.cp_all, by making the dst folder, if it does not exist already 2021-03-12 16:29:27 +02:00
Nick Treleaven
e229d0c1c3
checker: improve error message for invalid property (#9263) 2021-03-12 14:18:52 +02:00
Nick Treleaven
3be78d6777
parser: require anonymous fn to use _ for unused parameters (#9262)
Fixes a C error with gcc.
2021-03-12 14:17:37 +02:00
yuyi
504b87bcfd
checker: minor cleanup in if_expr() (#9258) 2021-03-12 13:40:05 +02:00
Lukas Neubert
cfbb783649
fmt: fix linebreak in non-block consts (#9260) 2021-03-12 12:27:05 +02:00
Lukas Neubert
a67d49050c
math: add a pure V math.mathutil, with generic min, max and abs functions (#9176), and use it consistently 2021-03-12 11:28:04 +02:00
Alexander Medvednikov
530b981765 vweb: mark send_response_to_client with [manualfree] 2021-03-12 01:11:43 +03:00
Lukas Neubert
c40ab0db72
fmt: fix removal of attrs with comments afterwards (#9255) 2021-03-11 21:44:33 +01:00
StunxFS
04c4f16f75
checker: minor changes to Checker.hash_stmt() (#9249) 2021-03-11 21:43:42 +01:00
StunxFS
8f08795689
checker: warn/error about empty const blocks (#9252) 2021-03-11 21:43:04 +01:00
yuyi
9fbb139e29
checker: check map copy error in fn_mut_arg (#9242) 2021-03-11 15:19:36 +01:00
Miccah
f26d2f02b7
ast, cgen, checker, parser: support method arguments in comptime $for (#9208) 2021-03-11 15:04:34 +02:00
StunxFS
8de6511056
cgen: minor optimization to for ch in "StringLiteral" (#9240) 2021-03-11 15:01:53 +02:00
yuyi
a547e889af
checker: check array literal modify error (#9243) 2021-03-11 14:57:04 +02:00
Lukas Neubert
f69cef397c
fmt: do not insert a space before struct declaration generics (#9239) 2021-03-11 14:54:40 +02:00
spaceface
7d0cba5e96
v.ast: remove the stmt.position() method (#9233) 2021-03-11 14:50:02 +02:00
Delyan Angelov
6628bbc690
cgen: use the new __offsetof_ptr macro 2021-03-11 13:14:36 +02:00
Delyan Angelov
144546543c
cgen: add the __offsetof_ptr C macro 2021-03-11 13:08:45 +02:00
Delyan Angelov
5a231326d7
parser: improve syntax errors in module declarations 2021-03-11 10:42:36 +02:00
StunxFS
6a7ef4f5b2
v.scanner: fix position of hash statements (#9222) 2021-03-10 20:23:17 +02:00
penguindark
c554e0b33d
gg.m4: fix a bug on translate, remove abs fn (#9224) 2021-03-10 20:20:17 +02:00
zakuro
f280a5c230
checker: extract into call_array_builtin_method to cleanup (#9225) 2021-03-10 20:19:39 +02:00
zakuro
ef73e07e62
checker: split fn_decl into functions to cleanup (#9226) 2021-03-10 20:18:48 +02:00
zakuro
791dec7b01
v: support $if prod (#9228) 2021-03-10 19:26:34 +02:00
Enzo
99abd46ac9
os: add (read|write)_raw[_at] to File (#9171) 2021-03-10 18:45:12 +02:00
Swastik Baranwal
8d84206a8c
cgen: fix match for one branch (#9234) 2021-03-10 18:44:32 +02:00
spaceface
eefdad21c7
cgen: cleanup interface/sumtype casts (#9221) 2021-03-10 18:41:11 +02:00
Larpon
0a39c2b9ea
gg: expand C.ANativeActivity struct definition (#9231) 2021-03-10 18:38:20 +02:00
yuyi
a187a4abb3
checker: check non-optional fn return or_block (#9227) 2021-03-10 12:53:23 +01:00
Delyan Angelov
0d2bb714bc
checker: disallow x := [13]SumType{} too 2021-03-10 11:07:36 +02:00
Delyan Angelov
f5ebfefdc9
ci: use a smaller fixed size array for the const eval test (fixes failing windows job) 2021-03-10 10:40:41 +02:00
Joe Conigliaro
fd2845e955
v.util: change naming behaviour for modules relative to working dir. closes #9138 2021-03-10 16:28:06 +11:00
Delyan Angelov
96a9e16e64
checker: allow a := [5*kb]byte{} where kb is a compile time known const too 2021-03-09 20:21:36 +02:00
Delyan Angelov
26cfd0eda9
checker: eval const a = 1024 * 1024 and other simple integer expressions at compile time 2021-03-09 20:07:08 +02:00
spaceface
f1469a8761
checker: allow accessing fields common to all sumtype members (#9201) 2021-03-09 19:16:18 +02:00
yuyi
c4b0fdcbaf
cgen: fix for_in fixed_array of fixed_array literal (#9206) 2021-03-09 16:18:07 +02:00
yuyi
e67ce5ea7b
cgen: fix error of alias interpolation (#9209) 2021-03-09 13:25:31 +02:00
Ned Palacios
114a7db6e5
vdoc: fix symbol filtering (#9210) 2021-03-09 13:05:50 +02:00
zakuro
00399b49ab
v.util: add util.tabs() (#9211) 2021-03-09 13:03:25 +02:00
yuyi
fbc02cbc54
csv: fix reader_test.v (#9204) 2021-03-09 03:53:02 +01:00
Vassilis Panagiotopoulos
b893373e63
cgen: make .alias fields in structs use their proper string format, instead of the default %d (#9197) 2021-03-08 23:36:59 +02:00
Delyan Angelov
d7049ae2da
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result (#8974) 2021-03-08 20:52:13 +02:00
yuyi
10c9f61d61
checker: check empty map invalid syntax (fix #9162) (#9186) 2021-03-08 19:48:17 +02:00
StunxFS
9a7d9e047b
dl: move 'example' to 'examples/dynamic_library_loading' (#9187) 2021-03-08 18:21:43 +02:00
Taegon Kim
4d24cb0158
darwin: fix the C. function declarations (#9194) 2021-03-08 17:18:26 +02:00
yuyi
b64d781a20
csv: fix error of read() (#9193) 2021-03-08 16:57:02 +02:00
yuyi
568faeed77
cgen: add `expr_string() and remove redundant codes (#9188) 2021-03-08 12:46:39 +02:00
yuyi
f2e570d63c
tests: add for tests of labelled continue and break (#9189) 2021-03-08 12:45:12 +02:00
Delyan Angelov
33bd22eda9
vlib/v/gen/tests: remove obsolete generation tests (used during the AST migration from v1 to v2) 2021-03-07 18:47:58 +02:00
pancake
ed9ca0b7bd
build: add address sanitizer make target (#9044) 2021-03-07 16:44:54 +01:00
zakuro
4c3ce97763
parser: fix Enum.value when Enum is an imported symbol (#9046) 2021-03-07 16:44:38 +01:00
Miccah
a1e0f2bc46
gen: add argument names to compile-time method struct (#9174) 2021-03-07 14:28:43 +01:00
yuyi
1b47e2953d
checker: check undefined ident of struct (#9164) 2021-03-07 14:09:38 +01:00
Delyan Angelov
f1c4e962f4
tests: add tests for -d debug, -cg, -g in combination for [if debug]fn etc 2021-03-07 12:42:30 +02:00
Delyan Angelov
64bc2fb40a
v: fix [if debug] fn abc(){} ... abc() 2021-03-07 12:05:07 +02:00
Delyan Angelov
c15de57f0f
tests: simplify the profile_test.v example program to not use net
(avoids unrelated openssl dependency)
2021-03-07 12:05:06 +02:00
Delyan Angelov
d0b89c5675
tests: rename for_c_multi_vars.v to for_c_multi_vars_test.v 2021-03-07 12:05:06 +02:00
nyx-litenite
a902178fdb
arrays: implement python-inspired array zip function and test (#8667) 2021-03-07 11:58:13 +02:00
yuyi
82085b0140
cgen: fix for_in map of fixed_array (#9133) 2021-03-07 11:41:08 +02:00
zakuro
45d51c76da
v.util: add an iabs(x) helper (#9172) 2021-03-07 11:24:05 +02:00
Lukas Neubert
6048d0e974
fmt: fix backslash doubling in attribute string args (#9175) 2021-03-07 09:44:58 +02:00
Lukas Neubert
053d6870d2
fmt: respect user choice of empty lines between type declarations (#9135) 2021-03-06 21:05:55 +02:00
Lukas Neubert
fdcfe397d4
fmt: write empty or blocks the same as empty fn bodies, empty structs, etc (#9136) 2021-03-06 21:04:51 +02:00
Lukas Neubert
043c29cf95
fmt: fix string interpolation with CastExpr (#9137) 2021-03-06 20:47:19 +02:00
Bartimus
ce92bf8da0
os.File: add .read_struct_at and .write_struct_at (#9114) 2021-03-06 20:44:53 +02:00
zakuro
7333b1706c
checker: minor cleanup: clear_flag(.optional) in check_expr_opt_call (#9139) 2021-03-06 20:42:34 +02:00
zakuro
b83530e0ed
fmt: extract part of fmt.v into struct.v (#9141) 2021-03-06 20:40:44 +02:00
Lukas Neubert
7f7f9dca6b
parser,fmt: fix regression with non-void arrays in if conditions (#9161) 2021-03-06 20:39:38 +02:00
Delyan Angelov
849cde245c
v: support dump(expr) (#9160) 2021-03-06 18:09:28 +01:00
penguindark
270df58057
gg.m4: fixed some bugs, added ortho projection (#9140) 2021-03-06 12:14:43 +02:00
yuyi
c802515e71
cgen: minor optimization in gen_code buffer init (#9143) 2021-03-06 12:03:38 +02:00
R cqls
204f57d227
os: update C apis used in os_android.c.v (#9134) 2021-03-05 19:20:11 +02:00
Larpon
07a1a9b84d
builtin: use fprintf to print to stderr on Android (#9130) 2021-03-05 19:12:42 +02:00
Delyan Angelov
fa530683c7
v: fix warnings for v self 2021-03-05 17:24:00 +02:00
Alexander Medvednikov
845e8decce x64: basic mach-o and arm64 support 2021-03-05 17:52:39 +03:00
Joe Conigliaro
818be80581
parser: fix [] in if expr. closes #9131 2021-03-06 01:43:34 +11:00
joe-conigliaro
2d73411396
checker: define missing C fn args & check C & JS args (#8770) 2021-03-05 17:41:11 +03:00
Lukas Neubert
ead2ba6004
fmt: proper single line check for ConcatExpr (#9121) 2021-03-05 15:36:49 +03:00
yuyi
cbbfb460a7
cgen: fix for_in fixed_array (#9129) 2021-03-05 15:35:09 +03:00
zakuro
9ba312066e
fmt: extract type decls code into functions to cleanup (#9126) 2021-03-05 15:34:51 +03:00
Delyan Angelov
0f042124cb
tests: support fn test_fn() ? { opt()? } 2021-03-05 14:18:21 +02:00
yuyi
f4c03e8ed8
cgen: minor optimization in for_in_array (#9127) 2021-03-05 07:58:09 +02:00
Lukas Neubert
80356edd8c
fmt: combine simple attributes into a single line (#9120) 2021-03-05 07:17:57 +02:00
Gal Pasternak
208cabc994
checker: fix generic type ignores implemented interface (#9124) 2021-03-05 06:59:18 +02:00
Alexander Medvednikov
7446d8dc44 strings: test Builder's cut_last on windows 2021-03-04 20:35:17 +03:00
Miccah
709d7460de
vweb: refactor form parsing and add tests (#9051) 2021-03-04 18:00:03 +02:00
Delyan Angelov
6da66226e5
vfmt: keep mut: in interface declarations (#9053) 2021-03-04 15:30:30 +02:00
zakuro
4f02da00ba
checker: check arguments count of sort (#9105) 2021-03-04 15:22:47 +02:00
Leah Lundqvist
65e888230a
jsgen: object equality checks, optimise casting and start builtin implementation (#9068) 2021-03-04 14:02:16 +01:00
Delyan Angelov
5e0e44eb69
os: move file methods to vlib/os/file.c.v, document them, add new file.read_struct and file.write_struct and tests 2021-03-04 14:54:39 +02:00
yuyi
6097045b46
cgen: minor cleanup of cgen.v (#9108) 2021-03-04 14:40:57 +02:00
pancake
c65d65a3f5
v: use dash instead of lowerdash for -print-v-files (#9111) 2021-03-04 14:38:05 +02:00
Delyan Angelov
eb1e1afbc1
ci: fix failing fn_trailing_arg_syntax_keep.vv 2021-03-04 13:05:14 +02:00
yuyi
7c893895d8
cgen: minor cleanup in infix_expr() (#9086) 2021-03-04 12:50:18 +02:00
zakuro
6b2c7fd53e
fmt: remove tail space when using multiline short arg (#9110) 2021-03-04 12:44:50 +02:00
Lukas Neubert
8ce53b8b55
fmt: prevent code corruption with struct update syntax as trailing function arg (#9091) 2021-03-04 12:44:17 +02:00
Lukas Neubert
28fc91acb7
fmt: minor cleanups (#9090) 2021-03-04 12:43:11 +02:00
spaceface
7663f826e5
cgen: add auto str method generation for interfaces (#9095) 2021-03-04 12:41:42 +02:00
yuyi
5f9af3f594
cgen: fix for_in array of fixed_array (fix #9098) (#9099) 2021-03-04 12:39:39 +02:00
zakuro
5b041db442
fmt: don't prepend mod when cast with selective imported types (#9109) 2021-03-04 12:33:52 +02:00
James Addison
a64d9b3e12
termui: add show_cursor() and hide_cursor() (#9087) 2021-03-04 12:31:26 +02:00
zakuro
9bb073580e
checker: replace checking type exists with c.ensure_type_exists (#9100) 2021-03-04 12:28:48 +02:00
yuyi
2870a5a63a
vrepl: fix array_filter (#9104) 2021-03-04 12:24:14 +02:00
yuyi
2b9ffbda42
cgen: fix array_sort by different order of a/b (#9106) 2021-03-04 11:19:02 +01:00
Larpon
d08f994e19
clipboard: ensure public method access after #9062. Fixes #9089 (#9107) 2021-03-04 10:49:40 +02:00
Delyan Angelov
2bfa6dfe2f
io: fix not reading the last byte of a stream with .read(mut buf) 2021-03-04 08:59:48 +02:00
Lukas Neubert
0f8f8bd90d
fmt: force empty lines after struct declarations and most functions (#9096) 2021-03-03 23:56:40 +01:00
Enzo
3e5a0dfc94
time: minor cleanup of operators (#9097) 2021-03-03 23:56:14 +01:00
yuyi
822d20d2cc
cgen: minor simplification of struct zero init (#9085) 2021-03-03 16:03:50 +01:00
Patrick Hintermayer
38495da07e
docs: add a basic vweb getting started example (#9073) 2021-03-03 14:39:04 +02:00
yuyi
6825b4cb30
cgen: format if_expr generated c codes (#9084) 2021-03-03 14:33:00 +02:00
Subhomoy Haldar
a5dd7faf3c
rand: add PRNG interface and unit-tests (#9083) 2021-03-03 13:41:00 +02:00
Nick Treleaven
412c17ccda
checker: check private built-in methods are not accessible (#9062) 2021-03-03 11:12:50 +02:00
Nick Treleaven
bd6693efb8
gg/m4: fix unnecessary uses of [direct_array_access], add [unsafe] (#9059) 2021-03-03 10:20:13 +02:00
Lukas Neubert
460e06b9ff
fmt: do not insert a newline before returned $vweb.html() (#9063) 2021-03-03 10:14:05 +02:00
yuyi
97f9abcf82
cgen: fix anon_fn in containers (#9077) 2021-03-03 10:12:08 +02:00
Uwe Krüger
dd475f4e37
checker/cgen: enable IfGuardExpr for a[k] and <-ch (#9065) 2021-03-03 10:10:38 +02:00
StunxFS
dad7c40306
checker: minor cleanup in call_method (#9066) 2021-03-03 10:07:16 +02:00
Delyan Angelov
094936d764
ci: reduce chances of false positives from vweb_test.v on macos 2021-03-03 10:04:12 +02:00
zakuro
c74fa9e471
checker: correct pos for type error of if v is interface (#9080) 2021-03-03 09:23:39 +02:00
Lukas Neubert
8a0b5bad94
fmt: keep empty lines in const blocks (#9071) 2021-03-03 09:23:11 +02:00
Delyan Angelov
b89c6d7826
Revert "rand: use static instead of __global (#9057)"
This reverts commit ec2f731801.
2021-03-03 08:36:56 +02:00
Delyan Angelov
ec2f731801
rand: use static instead of __global (#9057) 2021-03-03 07:47:47 +02:00
Joe Conigliaro
a50f2ca5e8
interfaces: error on implemention of own interface method & on duplicate normal methods 2021-03-03 15:02:10 +11:00
StunxFS
0dafdb4cde
dl: minor improvement of get_shared_library_extension (#9070) 2021-03-02 21:38:32 +02:00
Miccah
b3a31e7626
vweb: add test for 0 Content-Length hang (#9069) 2021-03-02 21:31:57 +02:00
Delyan Angelov
cd423251da
vweb: add .mount_static_folder_at/2 , use it instead of app.handle_static in the server_sent_events example 2021-03-02 21:30:18 +02:00
Delyan Angelov
eb4c60877e
vweb: fix timeouting after 30 seconds, when a request with Content-Length: 0 was processed 2021-03-02 21:02:44 +02:00
Delyan Angelov
488848e904
builtin: simplify copy/2 2021-03-02 18:14:42 +02:00
Delyan Angelov
d0e8e8f178
checker: add error for print( voidfn() ) 2021-03-02 17:54:38 +02:00
yuyi
62ccd740f0
cgen: minor perf fix in index_expr() (#9054) 2021-03-02 12:28:26 +01:00
Delyan Angelov
31321b68ea
v: show help for -h, -help, and --help, in addition to v help 2021-03-02 12:22:10 +02:00
yuyi
81dbd72412
cgen: fix anon_fn in containers (fix #8965) (#9049) 2021-03-02 10:26:27 +02:00
Joe Conigliaro
01735c67c6
cgen: fix duplicate method wrapper from interface method call. closes #9018 2021-03-02 19:15:49 +11:00
spaceface
2b53992c01
checker, cgen: allow implementing an interface with an embedded struct (#9042) 2021-03-01 21:47:00 +01:00
yuyi
65900e55e3
cgen: fix if_expr of multi-stmts optional (#9039) 2021-03-01 21:39:04 +01:00
Nick Treleaven
dc04c3196b
builder: fix detecting duplicate functions (#9033) 2021-03-01 21:38:31 +01:00
yuyi
6d77594409
cgen: merge cc_type and cc_type2 (#9036) 2021-03-01 21:36:58 +01:00
zakuro
db9b523cc9
utf8: deprecate utf8.char_len (#9008) 2021-03-01 15:35:57 +02:00
yuyi
f9c8d3d25c
cgen: fix return if true { 0 } else { none } (fix #9005) (#9030) 2021-03-01 13:56:07 +01:00
Miccah
d0fab60981
vweb: refactor routing logic (#9025) 2021-03-01 11:50:52 +01:00
makino
8045395cbd
net: document pub structs & functions in http/http.v (#9016) 2021-03-01 10:48:38 +01:00
Ned Palacios
ee879f3e41
x.json2: proper string encoding + minor fixes (#9026) 2021-03-01 10:22:36 +01:00
Anton Zavodchikov
506041a15b
tmpl: fix doubling templates folder path and enhancements (#9029) 2021-03-01 11:15:59 +02:00
spaceface
15896beace
cgen: scope $for fields/methods independently (#9017) 2021-03-01 01:01:56 +01:00
spaceface
b712af56fd
all: bring back panic(err.msg) -> panic(err) (#9022) 2021-03-01 00:18:14 +01:00
zakuro
ce115dcbe0
builtin: correct error underline for unicode wide chars (#9010) 2021-03-01 00:18:02 +01:00
Uwe Krüger
e937d6249c
cgen: fix various issues concerning optionals (#9021) 2021-02-28 23:21:03 +01:00
spaceface
d7252f4474
builtin: allow passing any argument type to panic (#9020) 2021-02-28 22:57:18 +01:00
spaceface
d63b7bc35a
all: update repo to use the new error handling syntax (#8950) 2021-02-28 23:20:21 +03:00
spaceface
b9a381f101
all: migrate to the new Option (p. 1) (#8924) 2021-02-28 22:24:29 +03:00
Delyan Angelov
e354dcefc2
fmt: fix support for mut static x := 42 2021-02-28 19:40:21 +02:00
Delyan Angelov
4076e8eaa0
tmpl: add a tmpl_all_in_one_folder.vv test; fix for static_vars_in_translated_mode.vv 2021-02-28 19:14:19 +02:00
Delyan Angelov
e564269477
ci: fix static_vars_in_translated_mode.vv 2021-02-28 18:55:25 +02:00
Delyan Angelov
5e87eeb864
tmpl: support for @include 'file.md' as well as paths != templates/ 2021-02-28 18:52:31 +02:00
Delyan Angelov
4125bfe401
all: fix references to time.wait -> time.sleep 2021-02-28 18:01:31 +02:00
Delyan Angelov
bdce35fd9c
parser: support static x := 42 in [unsafe] functions too 2021-02-28 14:32:46 +02:00
Delyan Angelov
276c08e7f7
fmt: support static too 2021-02-28 13:08:16 +02:00
Miccah
7e08e84bc1
vweb: refactor HTTP request parsing (#8874) 2021-02-27 23:18:25 +01:00
Miccah
2f9687d29b
net: add HTTP Header struct and methods (#8991) 2021-02-27 22:54:27 +01:00
penguindark
1d69a0bd22
gg: window_size_real_pixels that for 3D without dpi scaling (#9004) 2021-02-27 22:11:26 +01:00
Patrick Hintermayer
ae01b480c4
docs: ROADMAP.md instead of roadmap.txt (#9002) 2021-02-27 21:18:47 +03:00
Delyan Angelov
20f9bdfa8e
os: fixes for os.input(), os.get_raw_stdin(), os.get_raw_line() in case of stdin EOF 2021-02-27 20:02:36 +02:00
Alexander Medvednikov
e6b4f9ff09 time: fix sleep() on windows 2021-02-27 20:53:27 +03:00
Alexander Medvednikov
3a2d696fac time: time.wait() => time.sleep() 2021-02-27 20:41:06 +03:00
Alexander Medvednikov
be4a2e17d3 cgen: always use tmp vars in return_statement() 2021-02-27 20:00:19 +03:00
Alexander Medvednikov
d39866d4f7 cgen: optionals/autofree fixes 2021-02-27 17:11:30 +03:00
Delyan Angelov
efca21e988
math: cleanup math.v, document math.aprox_cos and math.aprox_sin 2021-02-27 11:18:43 +02:00
Nick Treleaven
a1244a9f5f
checker: check that the module init fn, should have no params, and no return type (#8988) 2021-02-27 11:11:20 +02:00
zakuro
d0a64f2da7
net/openssl/websocket: implement io.Writer (#8980) 2021-02-27 10:29:18 +02:00
Uwe Krüger
f67bff1696
all: support thread handles and wait() for functions returning optionals (#8990) 2021-02-27 10:16:55 +02:00
Nick Treleaven
aed348fb80
os: tag some File methods that take voidptr as unsafe - write_bytes, write_bytes_at (#8985) 2021-02-27 10:11:17 +02:00
zakuro
1fd0aceb42
parser: imporve generics detection (#8992) 2021-02-27 10:07:18 +02:00
Delyan Angelov
a9e9079e48
gg: make .set_cfg public 2021-02-27 09:15:39 +02:00
Nick Treleaven
23f231ee61
builtin: tag array methods unsafe: *_many, grow_len, pointers (#8983) 2021-02-26 22:55:09 +01:00
Nick Treleaven
8874379c48
checker: check left selector expression in $if left is right (#8987) 2021-02-26 21:51:35 +01:00
spaceface
51fae95339
cgen: move the condition of an iterator to a temp var (#8989) 2021-02-26 21:51:01 +01:00
Nick Treleaven
4ad95cfeaf
checker: check types with $for/$if introspection (#8984) 2021-02-26 15:26:50 +01:00
Delyan Angelov
1a8ff9d7dd
v.gen.c: ensure that @continue is escaped in the generated C code 2021-02-26 10:22:35 +02:00
zakuro
995bd66970
encoding.utf8.east_asian: add support for East_Asian_Width (#8978)
See https://www.unicode.org/reports/tr11/
2021-02-26 09:52:07 +02:00
yuyi
524372d49c
parser: fix incorrect comments of expr() (#8979) 2021-02-26 09:21:58 +02:00
zakuro
89c82ff8e2
parser: treat f<mod.Type> as generic call not < operator (#8938) 2021-02-26 09:05:00 +02:00
Lukas Neubert
5aebd646bb
fmt: keep some line comments in multi line arrays (#8969) 2021-02-26 09:01:03 +02:00
Lukas Neubert
2c609411dd
fmt: do not write single line or blocks with multi line stmts (#8952) 2021-02-26 08:41:24 +02:00
Ned Palacios
8dff168e01
x.json2: create custom scanner for scanning JSON (#8716) 2021-02-26 08:36:02 +02:00
Nick Treleaven
59d4d0ef1d
checker: detect unknown type to iterate with $for (#8971) 2021-02-26 08:28:19 +02:00
Nick Treleaven
3a082621c9
checker: add a check for casting to an unknown type (#8968) 2021-02-26 08:26:36 +02:00
zakuro
bc0507590e
crypto: make digest implement io.Writer (#8975) 2021-02-26 08:24:47 +02:00
Miccah
d81b6e7805
encoding.base64: change base64 function signatures to use []byte (#8970) 2021-02-26 08:22:12 +02:00
Nick Treleaven
c03798e390
checker: disallow implicit conversion from fixed array to fooptr (#8823) 2021-02-26 00:28:47 +01:00
Delyan Angelov
639061be6c
examples: fix left/right arrows in examples/term.ui/text_editor.v 2021-02-25 21:01:27 +02:00
yuyi
c7587c0760
cgen: minor cleanup in for_in_stmt() (#8962) 2021-02-25 13:24:42 +01:00
StunxFS
2e381f427a
net.html: use or {} in .writeln() method calls (fix #8942) (#8953) 2021-02-25 13:24:30 +01:00
Ruofan XU
1a8e502e2c
ci: add tcc32 CI on windows (#8922) 2021-02-25 12:52:12 +01:00
yuyi
c762d150c6
cgen: fix anon_fn redefinition (#8961) 2021-02-25 12:16:35 +01:00
Delyan Angelov
fdc60817d3
sync: fix compilation on latest linux distros (having only gcc-10) with tcc 2021-02-25 12:35:27 +02:00
Lukas Neubert
e4beea4268
fmt: restructure comment line break logic inside arrays (#8963) 2021-02-25 11:10:54 +01:00
Delyan Angelov
77b3440e44
builder: make C compilation retrying more uniform 2021-02-25 11:56:54 +02:00
Lukas Neubert
7e27920cf7
fmt: fix inserted empty line before go stmt with anonymus function (#8951) 2021-02-25 01:30:04 +01:00
Uwe Krüger
12a4e7ad90
cgen: fix type_to_fmt() for i64 and u32 (#8954) 2021-02-25 01:29:44 +01:00
Nick Treleaven
57d1b5b74d
checker: show position for variadic/shared/method argument errors (#8939) 2021-02-24 19:35:32 +01:00
yuyi
3c94a79375
cgen: minor cleanup in gen_assert_xxx() (#8943) 2021-02-24 19:35:11 +01:00
Lukas Neubert
8e69d3629f
parser,fmt: refactor array comment handling to fully rely on the ecmnts field (#8929) 2021-02-24 19:33:59 +01:00
Lukas Neubert
b18d091e18
fmt: fix pos of added imports (#8931) 2021-02-24 19:33:17 +01:00
Lukas Neubert
e53476d5e1
fmt: do not remove chan type of struct fields (#8948) 2021-02-24 20:26:12 +02:00
Delyan Angelov
1c0eefae38
parser/scanner: replace p.peek_tok2/3 with p.peek_token(2/3) (#8946) 2021-02-24 21:03:53 +03:00
yuyi
1dd1be4400
cgen: fix if_expr with array.map (fix #8925) (#8937) 2021-02-24 15:06:29 +02:00
yuyi
05a08530ff
cgen: implement for_stmt of multi_init_vars or multi_assign_vars (#8917) 2021-02-24 14:58:45 +02:00
StunxFS
0fa2f6d52c
dl: make vdoc ignore submodule "example" (#8927) 2021-02-23 18:32:48 +02:00
Delyan Angelov
ecef42832a
tests: make profile_test.v more robust 2021-02-23 18:30:53 +02:00
yuyi
302baaa7b4
cgen: fix error of match in fn_call (#8900) 2021-02-23 09:53:07 +02:00
Lukas Neubert
51125541c7
parser: fix weird minus after comment parse error in arrays (#8912) 2021-02-23 09:51:00 +02:00
StunxFS
fcc2094719
dl: add get_libname function (#8909) 2021-02-23 09:46:28 +02:00
StunxFS
fd59182659
szip: fix doc-comments (#8911) 2021-02-23 09:43:19 +02:00
zakuro
c113abe1a4
strings: make builder implement io.Writer (#8914) 2021-02-23 09:42:48 +02:00
Uwe Krüger
5674d46965
table,cgen: fix bug preventing t := []thread{} to compile (#8913) 2021-02-23 09:37:29 +02:00
spaceface
b4dc6c83cd
gg: handle Android's own native dpi scaling factor (#8908) 2021-02-22 21:24:18 +02:00
Emily Hudson
79edff5c6c
gen: correct indirection difference between reciever and object (#8903) 2021-02-22 20:41:25 +02:00
StunxFS
d78c9476e9
szip: use enums instead of constants (#8905) 2021-02-22 20:02:45 +02:00
R cqls
68972fcec6
gg: ensure window_size does not do / 0 (#8907) 2021-02-22 19:00:10 +02:00
spaceface
8033203ef6
builtin: add an Option2 struct (#8890) 2021-02-22 18:44:15 +02:00
Lukas Neubert
18aecde9e5
fmt: cleanup comments code (#8901) 2021-02-22 18:43:54 +02:00
Lukas Neubert
7f6c4caa01
fmt: fix missing space after single line array pre comments (#8904) 2021-02-22 17:53:55 +02:00
Delyan Angelov
fb028abc71
net.unix: make unix_test.v more robust 2021-02-22 17:48:31 +02:00
Delyan Angelov
fba28d2dcc
ci: increase the timeout for test_os_process (false positives on macos) 2021-02-22 17:24:52 +02:00
Delyan Angelov
b01a302a4e
net.http: fix compilation of trivial examples with v -cflags -Werror 2021-02-22 17:11:02 +02:00
Delyan Angelov
7c97b0b24d
gitly: fix compilation with -autofree 2021-02-22 17:00:48 +02:00
Delyan Angelov
467dce6be6
v.table: minimize re-allocations on << to table.types 2021-02-22 16:24:57 +02:00
yuyi
7a6fd359d0
checker: check fn_variadic with array_decompose (#8894) 2021-02-22 14:26:54 +01:00
Delyan Angelov
0029d3ca76
ci: fix test-cleancode 2021-02-22 15:22:51 +02:00
Uwe Krüger
5306b2788c
all: extend wait() method to array of thread handles (#8840) 2021-02-22 15:08:52 +02:00
StunxFS
ac1c4932e7
szip: change documentation style (#8883) 2021-02-22 14:59:36 +02:00
Swastik Baranwal
b2cdd2cac0
net.http: use .filter in sanitize/2 (#8899) 2021-02-22 14:58:48 +02:00
spaceface
1658c4789f
cgen: fix matching interface types (#8889) 2021-02-22 14:55:43 +02:00
Nick Treleaven
15daeaeafa
cgen: add fixed array bounds checking for non-literal index (#8832) 2021-02-22 14:54:24 +02:00
Nick Treleaven
59446d7051
cgen: use (void) parameter list instead of () for type safety (#8898) 2021-02-22 14:48:32 +02:00
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write (#8892) 2021-02-22 13:18:11 +02:00
Lukas Neubert
9dc770e29c
fmt: do not struggle with comments inside maps (#8897) 2021-02-22 13:04:48 +02:00
Delyan Angelov
5d653a37b6
os: make process_test.v more portable (prepare for windows) 2021-02-22 09:42:00 +02:00
Delyan Angelov
c37daba41d
ci: fix the remaining obsolete reference to time.sleep and time.usleep 2021-02-22 09:12:23 +02:00
Delyan Angelov
da05c7ed1a
ci: fix a deprecation time.sleep warning in clipboard 2021-02-22 09:00:30 +02:00
Delyan Angelov
9ab291319c
builder: fix thirdparty object files compilation with tcc (no -lxyz with -c) 2021-02-22 08:18:24 +02:00
Lukas Neubert
f18adf7759
parser,fmt: handle array pre-comments separately from exprs (#8884) 2021-02-21 20:18:19 +02:00
Lukas Neubert
18e88d2fc8
test-cleancode: add more of vlib/v (#8882) 2021-02-21 20:17:12 +02:00
Louis Schmieder
7a35131721
vweb: add handle static root & documentation (#8865) 2021-02-21 20:01:29 +02:00
yuyi
1a838b1f43
checker: fix error of match in map_init (fix #8579) (#8879) 2021-02-21 17:09:42 +02:00
zakuro
ac4791045f
time: consolidate the different sleep functions into time.wait(Duration) (#8853) 2021-02-21 17:05:03 +02:00
Delyan Angelov
b1209aac1b
ci: fix building of vlib/x/websocket/websocket_test.v 2021-02-21 17:03:25 +02:00
Delyan Angelov
f2ce72c2bf
ci: split the websockets tests into their own CI .yml file 2021-02-21 16:35:27 +02:00
zakuro
95e5f68b64
cli: don't sort flags / commands by default (#8813) 2021-02-21 16:17:50 +02:00
spaceface
260f677469
term.ui: use the new [flag] enums (#8881) 2021-02-21 16:07:49 +02:00
Joe Conigliaro
0470baafa6
cgen: fix duplicate optional generation for struct field 2021-02-22 00:00:39 +11:00
Delyan Angelov
514cabd7c8
strings: cleanup strings builder, allow reusing it 2021-02-21 13:34:29 +02:00
yuyi
6e46f3850c
ast: change expr.is_mut_ident() to expr.is_auto_deref_var() (#8869) 2021-02-21 12:15:36 +02:00
zakuro
7928689ee2
parser: set is_public when registering enum type symbols (#8875) 2021-02-21 12:13:52 +02:00
yuyi
9a744b6750
cgen: fix in map_literal (fix #8868) (#8871) 2021-02-21 11:54:30 +02:00
yuyi
e106dc3ad5
cgen: fix match_return with complex expr stmts (#8876) 2021-02-21 11:47:46 +02:00
Stanislav Ershov
44177c4e7c
builder: use stable MSVC version instead preview (#8867) 2021-02-21 00:00:44 +02:00
Nicolas Sauzede
f67a4c3ee0
checker, cgen: allow | between bitfield enum values, autogenerate a more specific .str method for them too (#8856) 2021-02-20 21:51:54 +02:00
penguindark
cc565b22a9
regex: remove [deprecated] functions/methods, code clean, add test for regex_base (#8862) 2021-02-20 21:39:08 +02:00
yuyi
8f486cb8cf
ast: minor cleanup of ast.v (#8859) 2021-02-20 20:50:43 +02:00
Stanislav Ershov
c190b6a131
vlib: remove older deprecated functions (#8864) 2021-02-20 20:42:55 +02:00
Stanislav Ershov
30ed201600
cgen: cleanup header for MSVC (#8863) 2021-02-20 20:39:46 +02:00
Delyan Angelov
746dfe6317
ci: make vweb and websocket tests more robust to transient errors 2021-02-20 20:24:21 +02:00
Nick Treleaven
28088cc494
checker: check fixed array index when it's a literal (#8831) 2021-02-20 20:18:47 +02:00
Delyan Angelov
5a333b0fdc
gen,parser: allow enums as map keys 2021-02-20 19:39:25 +02:00
Nick Treleaven
1e71c0eaca
checker: warn for deprecated methods too (#8861) 2021-02-20 19:25:54 +02:00
spaceface
adf2aa8760
pref: add a -debug-tcc alias option (#8834) 2021-02-20 18:53:22 +02:00
spaceface
cc3fd5333b
builder: print tcc output, when the system C compiler also failed (#8835) 2021-02-20 18:52:54 +02:00
yuyi
c704a49283
parser: fix error of $tmpl in anon_fn (fix #8847) (#8849) 2021-02-20 18:51:08 +02:00
Delyan Angelov
8327c9afc1
checker: support a custom [deprecated: 'message'] 2021-02-20 17:35:44 +02:00
Stanislav Ershov
44cb0426f4
cli: fix checking callbacks (#8858) 2021-02-20 17:30:39 +02:00
Lukas Neubert
a86bf3254a
fmt: keep empty line between if statement and comment (#8846) 2021-02-20 16:05:05 +02:00
Lukas Neubert
329e3938d9
fmt: respect user choice of newlines between functions without body (#8838) 2021-02-20 16:00:30 +02:00
yuyi
783cee98d9
table/parser: minor optimization of anon_fn names (#8851) 2021-02-20 15:54:47 +02:00
yuyi
e8abda189a
cgen: minor optimization in match_expr() (#8848) 2021-02-20 15:51:40 +02:00
Nick Treleaven
2be852e461
arrays: use for/in instead of unsafe [direct_array_access] (#8857) 2021-02-20 15:27:36 +02:00
zakuro
f381836f9e
fmt: sort names in selective imports (#8827) 2021-02-20 12:22:09 +01:00
yuyi
5e1159e4c3
checker: change non-const size of fixed array error message (#8850) 2021-02-20 12:14:44 +01:00
Lukas Neubert
859d382c6e
fmt: remove a few obsolete comments (#8837) 2021-02-20 09:54:55 +01:00
Nick Treleaven
bcb35e15f9
checker: only allow passing integer *literal* to non-integer pointer method parameter (#8825) 2021-02-19 14:14:40 +02:00
Miccah
a153ec5951
cli: ensure that required flags are set (#8826) 2021-02-19 12:43:18 +02:00
kristof de spiegeleer
3f3bec45fa
examples: add a template example, update the regex examples (#8829) 2021-02-19 12:39:15 +02:00
zakuro
6e262b5d84
checker: improve error position of infix expr (#8828) 2021-02-19 12:38:41 +02:00
Swastik Baranwal
ad162cd6fc
checker: stricter unknown type checks, show better suggestions (#8816) 2021-02-19 11:23:13 +02:00
Stanislav Ershov
6a752512b2
os: fix os.real_path on Windows (#8822) 2021-02-19 11:20:06 +02:00
Subhomoy Haldar
745b40c0a3
rand: refactor string sampling functions to remove redundancy (#8830) 2021-02-19 11:16:02 +02:00
yuyi
4878077c62
gen/c: fix gen_str_for_struct with custom ref str (fix #7179) (#8820) 2021-02-18 18:19:42 +02:00
Alexander Medvednikov
0dbc9417e7 builder: vfmt msvc.v 2021-02-18 17:00:07 +03:00
Stanislav Ershov
51dd22bcc0
builder: support -m32/-m64 flags for msvc (#8819) 2021-02-18 14:58:47 +01:00
zakuro
1891ebf22d
scanner: print multibyte char for invalid char error (#8804) 2021-02-18 15:43:39 +02:00
Delyan Angelov
0142d58aa6
v.pref: prevent Too many targets. from triggering when the command is an external one 2021-02-18 12:13:28 +02:00
zakuro
0d69d97143
fmt: mark imports as used, when types from them are used in struct declarations (#8810) 2021-02-18 11:32:45 +02:00
zakuro
a34a1ab864
checker/table: minor cleanup by removing unnecessary _ variable (#8801) 2021-02-18 11:30:43 +02:00
zakuro
b3a26ca0ce
v.pref: make passing multiple target .v files an error (#8814) 2021-02-18 09:42:00 +02:00
yuyi
a119affeba
cgen: check unknown sizeof type (#8815) 2021-02-18 09:38:57 +02:00
Delyan Angelov
bf6e9ff95a
Revert "parser: make duplicated functions an error (#8792)"
This reverts commit 21bf8fe14e.
2021-02-18 09:02:56 +02:00
zakuro
21bf8fe14e
parser: make duplicated functions an error (#8792) 2021-02-17 20:50:10 +01:00
Nick Treleaven
33d8074846
crypto.rand: use byteptr.vbytes instead of c_array_to_bytes_tmp (#8786) 2021-02-17 21:47:19 +02:00
Nick Treleaven
4ccf991f61
checker: warn when casting a fixed array (use &arr[0] instead) (#8787) 2021-02-17 20:45:11 +01:00
yuyi
177c8bfc78
builtin/array: merge array_eq_test.v into array_test.v (#8796) 2021-02-17 20:44:44 +01:00
yuyi
4fa315edc2
checker: fix for _, mut j in array (#8785) 2021-02-17 20:44:28 +01:00
zakuro
600f6ad2a0
fmt: do not prepend mod to selectively imported types from nested module (#8805) 2021-02-17 20:42:26 +01:00
Delyan Angelov
ab6517c5fc
gg: support passing down the state of pressed mouse buttons in mouse moves events 2021-02-17 20:14:37 +02:00
Delyan Angelov
aa3d0ea345
vfmt: cleanup spurious printlns, remove obsolete code 2021-02-17 14:59:42 +02:00
Alexander Medvednikov
d4a05bebde gg: use gg types for Events instead of sapp 2021-02-17 06:44:01 +01:00
zakuro
3341c17202
fmt: keep one empty line in struct decl (#8782) 2021-02-17 05:45:09 +01:00
Lukas Neubert
55b69a76a6
fmt: minor cleanup of or_expr (#8789) 2021-02-17 05:43:29 +01:00
Nick Treleaven
0f8edd918a
checker: disallow unsafe map copy (#8720) 2021-02-17 05:19:25 +01:00
Lukas Neubert
e4a67dea37
json2: wrap Builder.free() calls inside unsafe (#8790) 2021-02-17 02:19:26 +02:00
Delyan Angelov
2002d20249
io: remove unused Zzz_CoerceInterfaceTableGeneration struct; add test for x := Enum{} 2021-02-17 01:37:05 +02:00
Delyan Angelov
995e1c84a2
ci: fix ./v -cc gcc -cflags "-Werror" vlib/io/os_file_reader_test.v 2021-02-17 01:08:28 +02:00
Delyan Angelov
fb09333a73
ci: fix interface table generation for vlib/io/os_file_reader_test.v with -cflags "-Werror" 2021-02-16 23:36:44 +02:00
Delyan Angelov
4961d3ea17
io: fix detection of end_of_stream, when reading files through io.new_buffered_reader(reader: io.make_reader(f)) 2021-02-16 23:22:17 +02:00
Delyan Angelov
843de10442
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free 2021-02-16 16:39:31 +02:00
yuyi
982e35909d
cgen: fix mut var in for loop reads as address (fix #8548) (#8745) 2021-02-16 13:24:19 +01:00
Nick Treleaven
01aa09d515
checker: do not allow copying any map lvalue (#8662) 2021-02-16 12:46:12 +01:00
zakuro
51c286df5a
fmt: fix bug that vfmt removes emmbeded struct in struct decl (#8775) 2021-02-16 12:45:56 +01:00
Christopher Dieringer
94429c8fd8
gg: window_size: normalize dpi scaling (#8738) 2021-02-16 12:41:21 +01:00
Uwe Krüger
0520b755f4
checker/cgen: support print*(), .str() and '$x' for shared (#8771) 2021-02-16 12:40:13 +01:00