Commit Graph

5958 Commits (e4850cd6ddaf7a788ed1e4a27f736b6d54feb8c8)

Author SHA1 Message Date
Lukas Neubert 97bfabf194
fmt: heavily refactor and improve/fix logic for structs that use short args syntax (#7653) 2020-12-28 18:14:08 +02:00
Lukas Neubert ef6011b94c
fmt: keep comments after struct decl default value (#7648) 2020-12-28 15:38:21 +02:00
lydiandy ecc7c27c9c
v.ast: document vlib/v/ast/ast.v (#7624) 2020-12-28 13:52:04 +02:00
Delyan Angelov 3f3ae67b55
Revert "cgen: fix struct_eq (#7639)"
This reverts commit 164dd3000b.
2020-12-28 13:16:00 +02:00
penguindark a98adbb3a4
regex: fix a bug, update docs, explain the assumptions of the `regex` module (#7629) 2020-12-28 12:43:03 +02:00
Ned Palacios 2946673bc2
parser: fix StructInitField pos, when value expr is empty (#7643) 2020-12-28 12:39:02 +02:00
yuyi d46b930c71
cgen: fix `in array_of_ref_structs` (fix #7623) (#7640) 2020-12-28 12:29:56 +02:00
yuyi 07459a77e3
cgen: fix gen_array_equality_fn() (#7633) 2020-12-28 12:26:50 +02:00
yuyi 164dd3000b
cgen: fix struct_eq (#7639) 2020-12-28 12:25:22 +02:00
yuyi 547df57316
cgen: fix gen_map_equality_fn() (#7636) 2020-12-28 12:22:14 +02:00
yuyi dea3d0431d
parser: minor cleanup of `parse_block_no_scope()` (#7644) 2020-12-28 11:58:44 +02:00
Joe Conigliaro 64c0645bcb
checker: error when trying to propagate optional call in return stmt with ? 2020-12-28 20:09:43 +11:00
Delyan Angelov 100b3704cd
v.pref: fix `-nocache`, add `-no-retry-compilation`, add `-d trace_use_cache` 2020-12-28 09:42:43 +02:00
Delyan Angelov b7a5dbf7b4
test-cleancode: add the rest of vlib/x/websocket/ 2020-12-28 07:25:46 +02:00
Delyan Angelov b65353794c
ci: run vfmt over websocket_client.v and websocket_server.v 2020-12-28 07:14:06 +02:00
Alexander Medvednikov bd67b647f2 websocket: vfmt 2020-12-28 01:06:57 +01:00
Joe Conigliaro dbad60acbf
net: use non versioned paths for openssl on mac arm64 2020-12-28 10:32:35 +11:00
ka-weihe 1d339cff16
map: remove unused code (#7622) 2020-12-27 19:16:45 +01:00
Larpon 9e6575eaab
runtime: document all functions (#7612) 2020-12-27 20:14:43 +02:00
Swastik Baranwal d87011ab78
cgen: fix generic contains method (#7618) 2020-12-27 20:07:53 +02:00
Larpon ed6ba0a2b8
rand: document all functions, document range notation form, fix copy-pasta (#7619) 2020-12-27 20:06:17 +02:00
ka-weihe b9df7aae4d
map: cleanup (#7621) 2020-12-27 18:31:50 +01:00
Delyan Angelov df61cf246b
cgen: fix `x.interface_field = value_implementing_interface` (closes #7620) 2020-12-27 19:12:39 +02:00
Delyan Angelov 8872b0a23b
v.util: fix launch_tool for the vdoc (folder) case 2020-12-27 17:43:44 +02:00
Lukas Neubert 6f194f2fa9
test-cleancode: add `benchmark` and `bitfield` (#7613) 2020-12-27 15:51:55 +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
Daniel Däschle 929a002229
vdoc: move to it's own directory cmd/tools/vdoc/ (#7606) 2020-12-27 14:43:23 +02:00
Lukas Neubert c9081a8df8
fmt: improve conditions for single line if 2020-12-27 12:59:28 +01:00
cbracketdash 0210d1bf24
vrepl, term: return cursor to the top-left corner in vrepl after `clear` (#7600) 2020-12-27 13:43:36 +02:00
Alexander Medvednikov 06e9951224 Revert "map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538)"
This reverts commit bcdf3ca0cf.
2020-12-27 12:04:08 +01:00
Alexander Medvednikov 0d43ff2453 parser: fix `for i, mut val in vals {; examples: vfmt flappybird 2020-12-27 12:02:18 +01:00
Nick Treleaven bcdf3ca0cf
map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538) 2020-12-27 11:54:12 +01:00
yuyi 79117f5581
cgen: move logic from cgen.v to auto_eq_methods.v and array.v (#7572) 2020-12-27 11:24:35 +01:00
zakuro 21805ea2a5
all: make eprint[ln] behave same as print[ln] (#7595) 2020-12-27 11:22:16 +01:00
Delyan Angelov d563261e58
vweb: run vfmt, add it to `v test-cleancode` 2020-12-27 11:38:12 +02:00
penguindark 1b9d514275
regex: fix a bug #7559 (#7601) 2020-12-27 09:16:00 +02:00
Nick Treleaven 1383771423
cgen: fix return type for MapEqFn and add MapCloneFn, MapFreeFn (#7578) 2020-12-26 22:14:31 +02:00
penguindark b7f4e824df
regex: remove undocumented deprecated calls, optimize speed and memory usage (#7582) 2020-12-26 22:08:56 +02:00
Lukas Neubert 13b14ecead
test-cleancode: add the `arrays` module too (#7583) 2020-12-26 20:21:52 +02:00
Swastik Baranwal e27252bef5
parser: fix the position of the multi variable += assign error (#7584) 2020-12-26 19:48:58 +02:00
Lukas Neubert 9a5bbc3101
fmt: use single quotes around fixed string arr default expr (#7581) 2020-12-26 15:12:25 +02:00
Delyan Angelov e26e0c3f72
os: restore some of the deprecated os.File methods 2020-12-26 14:57:51 +02:00
Lukas Neubert 6969300f8a
test-cleancode: add vlib/orm (#7577) 2020-12-26 14:40:22 +02:00
Lukas Neubert 693e5137eb
fmt: cleanup copy pasta for array_init (#7579) 2020-12-26 14:22:50 +02:00
Lukas Neubert f707e13b3f
fmt: keep order by in orm blocks (#7576) 2020-12-26 14:18:09 +02:00
Ned Palacios dfcbf31f65
parser: return node on incomplete module selector (#7574) 2020-12-26 12:23:51 +02:00
yuyi 1558bd1658
parser: minor optimization of `expr()` (#7575) 2020-12-26 12:22:06 +02:00
Bakul Shah 80a9d08505
sokol: fix for freebsd (#7466) 2020-12-26 10:08:16 +02:00
Daniel Däschle 6842c3c1a4
vdoc: add a node type prefix (#7563) 2020-12-26 08:55:35 +02:00
yuyi d66ed46486
parser: minor cleanup of `stmt()` (#7573) 2020-12-26 08:54:13 +02:00
Alexander Medvednikov 13f16b4a82 time: rename to_local_time() to local(); time.offset() 2020-12-26 02:10:47 +01:00
Daniel Däschle 7507403118
cgen: fix zero init bug of embedded structs (#7567) 2020-12-25 22:46:42 +02:00
Lukas Neubert e7ca5dd17a
fmt: update expr_is_single_line for MatchExpr, StructInit and CallExpr with or block (#7564) 2020-12-25 21:43:50 +02:00
Lukas Neubert 2c0fba5480
fmt: keep comment between enum fields (#7566) 2020-12-25 21:41:59 +02:00
Delyan Angelov 270ba07e83 clipboard: add a `clipboard.x11` submodule, use it by default; add a `clipboard.dummy` for solaris 2020-12-25 19:34:21 +02:00
Nick Treleaven 17cccc7b36
gen: add MapHashFn typedef before map struct is declared (#7541) 2020-12-25 19:05:53 +02:00
Lukas Neubert e9affe33ce
ast: fix C error for scope's .str() method (#7561) 2020-12-25 19:03:03 +02:00
yuyi 775d16cce3
array: remove redundant index method in array.v (#7523) 2020-12-25 17:21:23 +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
Delyan Angelov c6b0ce2a07 ci: disable socket error assertion in profile_test.v 2020-12-25 16:10:18 +02:00
Delyan Angelov a631078d8a tests: add vlib/v/tests/profile/profile_test.v regression test 2020-12-25 14:30:22 +02:00
Delyan Angelov 2c1e545d24 cgen: fix -profile for code outside builtin, that returns options 2020-12-25 14:11:21 +02:00
Lukas Neubert 0caf668e73
parser: error if operators are used as function names (#7532) 2020-12-24 13:38:11 +02:00
Lukas Neubert 691e6f9d3f
fmt: keep any langauge prefix variations in struct fields (#7534) 2020-12-24 13:36:54 +02:00
Delyan Angelov e5d3aa916d ci: fix windows jobs by restoring vlib/readline/readline_windows.c.v 2020-12-24 13:10:39 +02:00
zakuro fec9f1324c
fmt: trim space in embedded comments (#7521) 2020-12-24 11:57:48 +01:00
Delyan Angelov 9d1365ec67 readline: put duplicated code in readline_default.c.v 2020-12-24 12:39:11 +02:00
Delyan Angelov d1223851a2 pref: support _default.c.v , overridable by _platform.c.v 2020-12-24 12:16:20 +02:00
penguindark 2824e07baa
regex: add a find_all_str function (#7517) 2020-12-24 07:27:46 +02:00
Delyan Angelov 36dcace0a7 cgen: fix compiling call expressions with no varargs (tcc bug) 2020-12-23 21:15:00 +02:00
spaceface 214290d55b
fmt: add a space around single-line `unsafe` expressions (#7505) 2020-12-23 19:13:42 +01:00
Daniel Däschle b27f5c378c
all: reimplement struct embedding with methods (#7506) 2020-12-23 19:12:49 +01:00
yuyi 132807d5d1
cgen: implement generic `array.index` (#7501) 2020-12-23 19:10:16 +01:00
yuyi 7b9756be72
parser: check for builtin function redefinitions (fix #7499) (#7507) 2020-12-23 18:17:09 +02:00
zakuro a6e6c48c36
fmt: keep _ separator in number literals (#7495) 2020-12-23 14:48:43 +02:00
Delyan Angelov 2c4a51a596 parser: use `v fmt -w "$p.scanner.file_path"` in warns, easing fixing 2020-12-23 14:17:20 +02:00
yuyi 8f4281b790
checker: merge minus_op_wrong_type_err tests to just one (#7489) 2020-12-23 10:16:04 +02:00
yuyi b08fe73614
checker: merge mod_op_wrong_type_err tests to just one (#7490) 2020-12-23 10:15:25 +02:00
yuyi 0dd385d480
checker: merge mul_op_wrong_type_err tests to just one (#7491) 2020-12-23 10:14:32 +02:00
yuyi 36cc70983e
checker: merge div_op_wrong_type_err tests to just one (#7493) 2020-12-23 10:14:08 +02:00
yuyi 5283811055
checker: merge add_op_wrong_type_err tests to just one (#7488) 2020-12-23 10:13:46 +02:00
yuyi 1c64635d61
checker: fix multi_array type mismatch check (#7486) 2020-12-23 08:05:44 +02:00
yuyi d964dedbb2
cgen: use more uniform format for automatic code generation (#7487) 2020-12-23 08:01:41 +02:00
yuyi 70c136441b
cgen: fix in array of struct error (fix #7452) (#7463) 2020-12-23 02:32:19 +01:00
Lukas Neubert a2cd1b163c
fmt: keep empty curlies and parenthesis as they are (#7329) 2020-12-22 23:43:48 +01:00
Lukas Neubert c4aae2b55f
vfmt: do not replace module aliases in fn param and return types (#7472) 2020-12-22 22:38:13 +02:00
penguindark 4069a4c55d
regex: speed optimization 2 (#7473) 2020-12-22 22:34:46 +02:00
Alexander Medvednikov e4f94b6ad5 V 0.2 2020-12-22 20:48:45 +01:00
penguindark b16052db95
regex: speed optimization (#7471) 2020-12-22 18:42:32 +02:00
Delyan Angelov 97855eca93 ci: fix the failing build-module-docs job 2020-12-22 17:25:57 +02:00
joe-conigliaro 5f90192970
math: use full import module name in tests 2020-12-23 01:38:17 +11:00
Lukas Neubert d1fc65c260
parser: add information about the ending line for a few elements (#7414) 2020-12-22 14:45:12 +01:00
zakuro fb0c4556fd
vfmt: keep JS object name (#7462) 2020-12-22 15:32:49 +02:00
Ned Palacios 06369a27c2
parser: return incomplete selector expr stmt (#7465) 2020-12-22 13:00:23 +01:00
joe-conigliaro d5b03d16e0
builder: if fpath is a descendant of modules folder add it as a search path 2020-12-22 22:32:02 +11:00
joe-conigliaro 7224cd667c
rand: use full import in tests (fix -usecache) 2020-12-22 22:04:51 +11:00
yuyi c11928260d
scanner: minor cleanup of scanner.v (#7467) 2020-12-22 10:56:29 +01:00
Alexander Medvednikov a8447398f5 io: remove obsolete OutputStream 2020-12-22 10:44:45 +01:00
joe-conigliaro dd27d0a2a3
cgen/builder: make unused-command-line-argument a warning & cgen module_built fix 2020-12-22 19:21:05 +11:00
Delyan Angelov 28b1be3e6e cgen: enable `./v -os windows -stats vlib/math/big/big_test.v` 2020-12-22 10:09:29 +02:00
Delyan Angelov 93c0f503a2 math.big: make big.from_string take a decimal, add big.from_hex_string 2020-12-22 09:45:56 +02:00
yuyi b47daad40d
all: remove redundant array.contains definitions (#7464) 2020-12-22 08:32:32 +01:00
Alexander Medvednikov 939e10cb28 math.big: minor clean up 2020-12-22 08:27:50 +01:00
Alexander Medvednikov b3e0926601 json: decode/encode time.Time 2020-12-22 07:24:44 +01:00
Delyan Angelov 9eb6c4ef87 flag: run vfmt over vlib/flag, add it to vtest-cleancode.v 2020-12-21 22:24:10 +02:00
Lukas Neubert 5cd2dffafb
checker: error, when same type is used multiple times in a sum type (#7432) 2020-12-21 22:05:50 +02:00
Major Taylor c831711a0e
sqlite: add `close` method, and an `is_open` field (#7382) 2020-12-21 22:02:29 +02:00
zakuro 6c341a77f5
strings: run v fmt (#7438) 2020-12-21 22:00:32 +02:00
zakuro fade162471
semver: run v fmt (#7439) 2020-12-21 21:25:19 +02:00
zakuro 805ec8e177
cli: run v fmt (#7440) 2020-12-21 21:23:40 +02:00
Lukas Neubert 304aafdc50
fmt: add a space after + operator/method overload (#7453) 2020-12-21 21:20:00 +02:00
spaceface c544cc508b
pref: fix cross-compiling graphical apps to Windows (#7449) 2020-12-21 19:45:12 +02:00
Delyan Angelov dc3a6bb169
builder: use the same compilation mode for thirdparty object files (#7450) 2020-12-21 17:46:26 +01:00
yuyi 21cd765eaa
cgen: fix `in` multi_array, generate `.contains()` (fix #7427) (#7448) 2020-12-21 16:59:43 +01:00
Nick Treleaven 0edec06eac
gen: use new_map, new_map_init_1 functions (#7444) 2020-12-21 14:37:19 +01:00
Alexander Medvednikov 8eac658ed1 cgen: make use_cache less noisy 2020-12-21 11:01:14 +01:00
zakuro c639dd03d0
time: move - operator to operator.v (#7433) 2020-12-21 09:28:00 +01:00
zakuro c69947160b
time: change type of duration constants from i64 to Duration (#7435) 2020-12-21 09:27:06 +01:00
Alexander Medvednikov fc965b7d92 strconv: make atoi return ?int 2020-12-21 08:35:24 +01:00
Nick Treleaven 2147d8785b
map: add functions new_map/new_map_init_1 with key_bytes parameter (#7424) 2020-12-21 06:03:59 +01:00
joe-conigliaro f0391f7a8f
cgen: fix assignment of fixed array var to another var (#7429) 2020-12-21 06:03:09 +01:00
penguindark c9171ebe9a
regex: fixes and optimizations (#7431) 2020-12-21 05:36:14 +01:00
Nick Treleaven 82d1b6a5b7
map: fix wrong use of map.cap and rename field (#7412) 2020-12-21 05:34:35 +01:00
Delyan Angelov 5f5c53348b ci: fix vlib/v/tests/project_with_c_code_2/modc/wrapper.v 2020-12-20 18:33:31 +02:00
joe-conigliaro 23bfbf1665
cmd/pref: disable -usecache on windows & enable by default (commented) 2020-12-21 03:31:57 +11:00
Delyan Angelov dd5b25a9f2 ci: fix sha1.v, sha1block_generic.v and szip.v 2020-12-20 18:28:40 +02:00
Delyan Angelov 969f8f1a75 ci: fix compilation of the test infrastructure 2020-12-20 18:27:42 +02:00
Alexander Medvednikov 50a6976b5e all: minor array fixes 2020-12-20 16:08:56 +01:00
Alexander Medvednikov 3c210a57f9 all: minor array fixes 2020-12-20 15:40:49 +01:00
Alexander Medvednikov 6bf21c300a checker: do not allow arr1=arr2 without cloning 2020-12-20 15:33:55 +01:00
Alexander Medvednikov 583c02316a checker: more arr1=arr2 fixes 2020-12-20 15:21:32 +01:00
joe-conigliaro 628021a7cf
cgen: v fmt fn.v 2020-12-20 22:21:46 +11:00
joe-conigliaro 3b2083801b
cgen: fix module builds when -usecache is on by default 2020-12-20 22:03:27 +11:00
Delyan Angelov 4b45f2eaab builder: do not remove executables after run when -keepc is passed; add `-d trace_thirdparty_obj_files` 2020-12-20 12:22:17 +02:00
Delyan Angelov b1f6ff8871 ci: fix failing vweb_routing_checks.vv 2020-12-20 11:59:38 +02:00
Alexander Medvednikov 875f7a77a9 checker: arr1=arr2 warning 2020-12-20 10:42:46 +01:00
Alexander Medvednikov 4a5fb854e0 array: vfmt array_test.v 2020-12-20 10:34:19 +01:00
joe-conigliaro 12d5720841
builder: don't pass -usecache linker flags when building modules 2020-12-20 18:23:54 +11:00
Alexander Medvednikov 60c936a688 tests: remove map reference test 2020-12-20 07:59:39 +01:00
Alexander Medvednikov 4fc5e83771 checker: never allow taking the address of map values 2020-12-20 07:55:23 +01:00
joe-conigliaro bbcaaa1232
cgen: use gen.expr for default fixed array init expr. closes #7411 2020-12-20 15:50:43 +11:00
yuyi 829334890b
table: minor optimization of types.v (#7419) 2020-12-20 04:54:49 +01:00
Uwe Krüger af9766a7d6
sync: support concurrent `select`s on same channel(s) (#7415) 2020-12-20 04:52:40 +01:00
penguindark b29bcb3fbe
regex: refactoring, documentation, examples (#7418) 2020-12-20 04:52:02 +01:00
Uwe Krüger 8278af4ee8
parser: hot fix to handle `x = <-ch[i] or { }` (#7416) 2020-12-19 22:44:16 +02:00
Delyan Angelov cd30dcc287
builtin: make array.ensure_cap/1 more robust 2020-12-19 21:36:08 +02:00
joe-conigliaro d782db8878
util: add clipboard & ui to bundle_modules (fix dupe symbols) 2020-12-20 03:38:11 +11:00
Delyan Angelov 19bfd5ffb5
ci: fix building 2020-12-19 13:16:18 +02:00
Delyan Angelov 2f1cc2bd08
v.util: simplify the sorting of v's timing output 2020-12-19 12:55:42 +02:00
Delyan Angelov a1c81aa49d
v,gen,checker: implement `-d time_checking -d time_cgening -d time_v` 2020-12-19 12:36:08 +02:00
Alexander Medvednikov 10168d307e pref: remove duplicate flag "build" 2020-12-19 10:34:59 +01:00
Alexander Medvednikov 1f74f83bc6 parser: map or block; checker: require ref field init 2020-12-19 10:28:17 +01:00
Ned Palacios 3a86f27b9f
cgen: fix optional struct const field access (#7405) 2020-12-19 09:43:50 +01:00
yuyi e4973782b1
cgen: fix multi_array prepend/insert (#7381) 2020-12-19 07:28:15 +01:00
yuyi 598d18cbd9
cgen: fix default zero in map fields (fix #7328) (#7394) 2020-12-19 06:55:13 +01:00
Delyan Angelov adaffd0d8e
pref: pass custom -d options down to `v build-module` (fix for -usecache) 2020-12-19 01:54:18 +02:00
penguindark 1e4b3a7b27
regex: code cleaning, add more tests (#7402)
* added carsywulf tests to the suite, removed deprecated repeat for init arrays

* some clean in the code, fix typo in README.md
2020-12-19 01:32:57 +02:00
yuyi ff2cfd4f38
checker: fix fn_array types check (#7376) 2020-12-19 01:10:11 +02:00
Nick Treleaven 042449cd3d
cgen: use voidptr key methods: map_get_1, map_set_1, map_get_and_set_1 (#7390) 2020-12-19 01:05:16 +02:00
Larpon 6854ba27e2
builtin: add missing fn documentation to option.v, fix naming of arguments. (#7386) 2020-12-19 00:27:35 +02:00
Uwe Krüger bcda0eeadc
sync: fix rare freeze on `select` (#7398) 2020-12-19 00:02:29 +02:00
ka-weihe 5788d6d768
cc: enable more C warnings (#7401) 2020-12-18 23:33:51 +02:00
Delyan Angelov 8e6d2df131
bitfield: document all functions 2020-12-18 22:10:51 +02:00
Delyan Angelov f74ab3a52d
bitfield: add bf.from_bytes_lowest_bits_first/1 and a test for it 2020-12-18 21:58:42 +02:00
Delyan Angelov c5c310280f
bitfield: fix bf.from_bytes/1 ( now, bf.from_bytes(b) == bf.from_str(bf.from_bytes(b).str()) ) 2020-12-18 21:47:24 +02:00
Delyan Angelov 05f6e8b5aa
dl: add comments for the dl/example 2020-12-18 19:41:01 +02:00
Larpon c32547f382
builtin: document all functions in builtin.c.v (#7387) 2020-12-18 19:31:00 +02:00
Larpon a9aee1ce97
benchmark: document all functions (#7393) 2020-12-18 19:21:20 +02:00
Larpon 4e73741673
log: document all functions, add missing copyright header (#7391) 2020-12-18 19:04:49 +02:00
Delyan Angelov 6f7889a3ca
parser: support for `-d time_parsing` 2020-12-18 17:23:57 +02:00
Delyan Angelov 7e1e247f56
builder: implement b.timing_start/1 and b.timing_measure/1 2020-12-18 13:21:17 +02:00
Delyan Angelov 04757a4853
vfmt: fix `struct Abc { field fn() ? }` 2020-12-18 11:32:04 +02:00
Nick Treleaven 3976228ae0
map: add voidptr key methods (#7377) 2020-12-18 07:37:59 +01:00
Louis Schmieder d96dcefb06
vweb: http methods check (#7371) 2020-12-18 07:34:06 +01:00
penguindark a6baffcb8c
regex: lots of fixes (#7380) 2020-12-18 05:57:31 +01:00
joe-conigliaro 05e15bdd59
builder/cgen: fix -usecache using absolute mod paths (ui examples ~/.vmodules) 2020-12-18 11:21:40 +11:00
yuyi b10f692c43
gen: fix errors of string interpolation of fn values in struct/array/map (#7367) 2020-12-17 11:16:27 +02:00
Delyan Angelov c4c0b5eb06
flag: add fp.limit_free_args(0,0) to the readme example too 2020-12-17 10:17:46 +02:00
Delyan Angelov 9bd14e8421
flag: update vlib/flag/README.md 2020-12-17 10:11:09 +02:00
Ned Palacios c164586fd5
cgen: fix map clone (#7366) 2020-12-17 08:44:50 +01:00
Delyan Angelov 8addb31440
os: fix typo in AAssetManager 2020-12-17 09:08:23 +02:00
joe-conigliaro 05e101bd95
builder: v fmt cc.v 2020-12-17 16:51:13 +11:00
joe-conigliaro 40bad75a8f
builder: temp macos self -usecache fix (will break -usecache with ~/.vmodules/ui) 2020-12-17 16:46:20 +11:00
joe-conigliaro f2f32626bc
all: get -usecache working with mods in ~/.vmodules (ui examples) 2020-12-17 16:08:28 +11:00
Daniel Däschle 7022456c9d
Alias string compare (#7364) 2020-12-16 21:40:56 +02:00
Emily Hudson 553ecf63e7
vlib/io: fix reader bugs, make read_all take a config struct (#7361) 2020-12-16 18:22:26 +01:00
Swastik Baranwal 1a2c7cd336
checker: add more casts checks (#7355) 2020-12-16 17:50:39 +01:00
Delyan Angelov 1ee57649b9
os: vfmt all of `os` .v files, add it to `v test-cleancode` with no exceptions 2020-12-16 14:15:11 +02:00
zakuro 6a74058190
time: make parse_iso8601 support a date only format (#7277) 2020-12-16 13:10:02 +02:00
Delyan Angelov 88a8507dd8
os: vfmt most of `os`, add it to `v test-cleancode` 2020-12-16 11:08:23 +02:00
yuyi 525b521b4a
cgen: impliment gen_str_for_fn_type() (#7353) 2020-12-16 11:07:58 +02:00
Ned Palacios 604eab7742
cgen: fix interface struct field initialization (#7340) 2020-12-16 11:03:28 +02: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
Nick Treleaven 7c8fa62cc2
map: encapsulate key clone operation on voidptr (#7327) 2020-12-16 02:23:59 +01:00
LilEnvy 665e6cc957
math.big: fix big.from_string #7313 (#7351) 2020-12-16 02:23:02 +01:00
Swastik Baranwal 52f908839e
parser: add error for self aliasing (#7347) 2020-12-15 21:49:04 +02:00
Delyan Angelov 3fdff93c3f
dl: run vfmt over all .v files 2020-12-15 18:55:04 +02:00
Delyan Angelov 50c09e074a
dl: always use dl.get_shared_library_extension() for dl.dl_ext 2020-12-15 18:53:27 +02:00
Delyan Angelov 3e85c759aa
net: fix udp default timeouts 2020-12-15 18:31:39 +02:00
Delyan Angelov 3a9034a0d0
dl: add a complete tested shared library generation/usage example 2020-12-15 18:22:07 +02:00
Delyan Angelov e3a1756b11
net: add tcp_default_read_timeout and tcp_default_write_timeout and use them consistently 2020-12-15 17:54:51 +02:00
Delyan Angelov a4d3a0575a
vdoc: add http connection read/write timeouts (fix #7343) 2020-12-15 17:12:39 +02:00
yuyi e40e1500a8
cgen: fix map['xxx']() error (#7342) 2020-12-15 16:07:24 +01:00
joe-conigliaro 239a8c8aa3
cgen: cached modules fixes (#7345) 2020-12-15 16:07:06 +01:00
penguindark 9f190b82ad
regex: added rounded squares to backslash chars list, bug fix #7339 (#7346) 2020-12-15 16:04:06 +01:00
Delyan Angelov 5684ed5a8a
ci: fix windows jobs 2020-12-15 11:01:51 +02:00
Delyan Angelov 058258bc72
ci: fix atoi.v's max_u64 2020-12-15 10:56:56 +02:00
Delyan Angelov d91634985f
ci: fix math.bits.max_u64/math.bits.max_u32 2020-12-15 10:52:57 +02:00
Delyan Angelov 8067fcee57
builder: change the tcc recompilation failed message 2020-12-15 10:47:41 +02:00
Swastik Baranwal b2685c6060
builtin: add more docs to array.v (#7194) 2020-12-15 10:31:35 +02:00
Delyan Angelov d155d8d3f0
vlib: prepare atoi.v and utf8.v for -Wimpure-v 2020-12-15 10:17:46 +02:00
Delyan Angelov bd07177ef0
vlib: prepare os for -Wimpure-v 2020-12-15 09:58:33 +02:00
Delyan Angelov 14d55d26a3
vlib: extract C. calls from builtin.v to builtin.c.v 2020-12-15 09:41:06 +02:00
yuyi 947ceb1595
os: format os.v (#7334) 2020-12-15 09:33:31 +02:00
Delyan Angelov 3064fff95b
vlib: prepare modules `hash` and `term` for -Wimpure-v 2020-12-15 09:11:17 +02:00
Delyan Angelov ed50e22e18
parser: support _js.v and _c.v for `-Wimpure-v` 2020-12-15 08:24:26 +02:00
Delyan Angelov 0da1d757cb
builtin: support '-d no_backtrace' directly in panic(), to ease creating .so files with tcc 2020-12-15 06:35:21 +02:00
yuyi bfa8e4bf86
parser: minor cleanup of `check()` (#7333) 2020-12-15 04:31:34 +01:00
Swastik Baranwal da9588c1a5
checker: fix struct cast (#7308) 2020-12-15 04:30:51 +01:00
Lukas Neubert c922565525
fmt: only insert a space after // if the 3rd char is alphanumeric (#7330) 2020-12-15 04:26:28 +01:00
yuyi 8ab59c5f0f
parser: implement a direct call to an array of functions (fix #6908) (#7322) 2020-12-15 04:24:57 +01:00
Swastik Baranwal a3c3fd4d20
cgen: fix generation of array names in generic structs (#7324) 2020-12-15 02:52:20 +11:00
penguindark 4f986ccac4
regex: refactoring of continuous capturing groups (#7310) 2020-12-14 14:02:13 +01:00
Nick Treleaven 89ef316db3
map: use voidptr-based key equality and meta index methods (#7320) 2020-12-14 14:57:53 +02:00
Nick Treleaven 999fe846e5
vtest-cleancode: add builtin/map.v to fmt list (#7285) 2020-12-14 12:31:24 +02:00
Enzo 78fb84c4dd
gen: fix comparing signed int to u32/u64 (#7312) 2020-12-14 12:01:11 +02:00
LilEnvy 069d77d1c5
math.big: implement decimal .str() for big numbers (#7314) 2020-12-14 11:53:18 +02:00
ka-weihe f57c7032b4
ci: fix sanitizers and add -fsanitize=undefined (#7306) 2020-12-14 06:34:47 +01:00
Lukas Neubert 9b139c58ca
fmt: keep module alias in struct decl field types (#7305) 2020-12-14 05:03:43 +01:00
Lukas Neubert d59c5b01e1
fmt: intelligent line wrap for trailing struct syntax (#7309) 2020-12-14 05:03:17 +01:00
Uwe Krüger 591e523cf3
time: fix date parsing tests in winter for regions using DST (#7304) 2020-12-14 05:01:58 +01:00
Delyan Angelov ecfd124390
builtin: call C.tcc_backtrace() directly in the panic() fns 2020-12-13 11:01:04 +02:00
LilEnvy 0aacc9a80a
array: [].map(fn...) return type can be different than original type (#7300) 2020-12-13 03:29:48 +01:00
Nick Treleaven ae460a2208
map: make DenseArray.has_index not assume string keys (#7284) 2020-12-13 02:05:56 +01:00
penguindark 4324be9bd8
regex: fix for issue #7227, more tests (#7296) 2020-12-13 02:04:53 +01:00
Alexander Medvednikov 576396cf20 gg: fix cached images loaded from memory 2020-12-12 23:30:41 +01:00
Daniel Däschle fb9db11a00
cgen: fix line number generation on match (#7292) 2020-12-12 23:08:45 +01:00
ka-weihe 4d025582c0
cgen: fix shadowing warning (#7289) 2020-12-12 23:06:02 +01:00
Dialga 4500aade95
vweb: fix scan_static_directory (#7275) 2020-12-12 19:13:43 +02:00
Delyan Angelov 03f644e099
builtin: change V's panic() to not segfault; use `-d panics_break_into_debugger` to override 2020-12-12 16:05:22 +02:00
Daniel Däschle 7e3e30aa9c
ci: add a parser fuzzer step too (#7288) 2020-12-12 15:20:38 +02:00
Daniel Däschle b76c91ec05
parser: silent mode fixes (#7286) 2020-12-12 13:52:22 +01:00
Larpon 1ff6230062
builtin: document all functions in string.v (#7273) 2020-12-12 12:10:29 +02:00
zakuro df27a2b8d2
time: add test_parse_is8601_invalid (#7278) 2020-12-12 11:00:07 +01:00
yuyi 095327134e
os: fix trailing slash in dir() (#7283) 2020-12-12 10:59:43 +01:00
Nick Treleaven d785e22a6e
checker: disallow assigning number to pointer (#7267) 2020-12-12 10:42:07 +01:00
zakuro 5fec0d785a
time: fix timezone problems of parse_iso8601 (#7272) 2020-12-12 09:19:03 +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
Takahiro Yaota eb48208599
time: Time.add (#7262) 2020-12-12 04:22:30 +01:00
Daniel Däschle 11808f9fa3
parser: fix silent errors (#7271) 2020-12-12 04:06:09 +01:00
Denis a26e1e6e13
time: fix typo (#7274) 2020-12-11 19:30:34 +01:00
Daniel Däschle 597c2249e0
parser: fix expected type enum error pos (#7265) 2020-12-11 19:23:29 +02:00
Lukas Neubert 25153490e1
fmt: keep comments after assign on same line (#7269) 2020-12-11 19:20:24 +02:00
yuyi 2a731e1c8e
scanner: fix interpolation with more embedded string args (#7258) 2020-12-11 19:15:59 +02:00
Daniel Däschle 9c1a5c5117
parser: fix silent parsing examples/vmod.v (#7264) 2020-12-11 19:14:07 +02:00
Delyan Angelov f2ea21b571
vfmt: run over vlib/v/checker/checker.v 2020-12-11 15:16:26 +02:00
Delyan Angelov df4ec89a03
checker: fix `L1: for{ for{} }` incorrectly setting c.loop_label to '' after the inner loop 2020-12-11 13:14:15 +02:00
joe-conigliaro 90b5f6f4e0
checker: add tests for assign sum type to non sum type error 2020-12-11 21:52:25 +11:00
joe-conigliaro 5c213de003
checker: fix assign error assigning sum type to non sum type. closes #7233 2020-12-11 21:38:53 +11:00
joe-conigliaro d7ff342ab3
fmt: fix formatting in anon_fn_as_param_keep.vv 2020-12-11 21:13:18 +11:00
joe-conigliaro 1626aa5500
fmt: make test clearer 2020-12-11 21:09:36 +11:00
joe-conigliaro d1224ffb5a
parser: error on non local array/map methods & add tests 2020-12-11 20:50:26 +11: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
Delyan Angelov 668483ee56
pref: fix -prof, to behave exactly the same as -profile 2020-12-11 09:28:34 +02:00
joe-conigliaro 6f474913cf
table: properly detect duplicate types 2020-12-11 17:39:51 +11:00
Daniel Däschle 8823430c71
parser: small fixes to make silent mod work with example/json (#7246) 2020-12-11 06:55:39 +01:00
Takahiro Yaota a2f7e0636d
time: `-` operator overloading (#7259) 2020-12-11 06:54:23 +01:00
Alexander Medvednikov d319fe14f0 string: fix a one byte leak in .substr() 2020-12-11 05:12:18 +01:00
Alexander Medvednikov a297cf8676 string: fix one byte leak in clone() 2020-12-11 05:03:37 +01:00
Andréas Livet 18ec24dd53
gen: fix mutable map generation (#7251) 2020-12-11 04:48:55 +01:00
Enzo 04346e7ba5
checker: allow void,char,byteptr to be mut args (#7239) 2020-12-11 04:47:10 +01:00
spaceface777 ca2c082a5e
checker: initial support for evaluating expressions at compile time (#7248) 2020-12-11 04:46:06 +01:00
yuyi c4e76e6a59
checker: check div/mod by zero (#7256) 2020-12-11 04:44:07 +01:00
Tomas Hellström 3eb1550b43
x.websocket: Fixes wss connection failures to certain addresses (#7247) 2020-12-11 02:04:12 +02: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
Daniel Däschle 916a64935a
checker: fix sumtype matching test (#7235) 2020-12-10 17:22:54 +02:00
Daniel Däschle 8b3ffb9be2
scanner: fix when string literal ends after } (#7237) 2020-12-10 17:04:12 +02:00
Daniel Däschle f6a2dba7ff
parser: refactor args count error (#7238) 2020-12-10 16:42:30 +02:00
Daniel Däschle 1f952330c4
parser: fix fn args eol errors (#7222) 2020-12-10 11:56:08 +02:00
Daniel Däschle 0bf679a7aa
checker: correct underline for unknown type in method type (#7223) 2020-12-10 11:51:22 +02:00
yuyi e6d162ad65
parser: minor cleanup of `parser.v` (#7226) 2020-12-10 11:25:57 +02:00
yuyi ca39a9a1a9
test: add more embed string interpolation tests (#7229) 2020-12-10 11:20:42 +02:00
Daniel Däschle a38fe4fca9
checker: fix smartcast inside smartcast (#7215) 2020-12-10 00:59:39 +01:00
Seven Du 4a35a75b64
json: fix raw json string decoding crash when expected key is missing (#7206) 2020-12-09 20:10:41 +01:00
Daniel Däschle 032ea0f4f8
scanner: fix silent mode string parsing (#7220) 2020-12-09 20:09:07 +01:00
Ned Palacios b952bf2e6b
net.html: polish module, update docs (#7193) 2020-12-09 20:08:15 +01:00
yuyi 5fa1e403ec
scanner: fix interpolation with string args (#7214) 2020-12-09 19:58:27 +01:00
Nick Treleaven cf755d40b7
checker: allow ++, -- on byteptr, charptr (#7218) 2020-12-09 19:58:02 +01:00
Nick Treleaven 92a8db5b2b
checker: remove duplicated unsafe tests (#7216) 2020-12-09 19:57:15 +01:00
Delyan Angelov aa0ddec638
cgen: unify _name_table[0]{} generation (fix a bootstrapping problem with v_win.c and msvc) 2020-12-09 20:18:48 +02:00
Delyan Angelov 23f5cecbd0
ci: run vfmt over vlib/v/gen/cgen.v 2020-12-09 20:12:47 +02:00
Delyan Angelov c7bea03ce3
ci: fix msvc _name_table [0]{} generation 2020-12-09 20:08:51 +02:00
Delyan Angelov 9451233c34
cgen: force CI rebuild with newer vc/ 2020-12-09 19:49:37 +02:00
Delyan Angelov 6115db4820
cgen: fix msvc CI failure on `static struct _name_table[] = {}`, by skipping static for now 2020-12-09 19:25:36 +02:00
Delyan Angelov 80d12f6795 cgen: add static for the generated _name_table (fixes `./v -cc clang -o v2 -usecache cmd/v` on macos) 2020-12-09 19:03:48 +02:00
Delyan Angelov 8caf3829d7
checker: fix interface checking of array arguments; closes #2377 2020-12-09 18:51:37 +02:00
Delyan Angelov 3b94a2b77a
cgen: fix interface _name_table generation; closes issue #73 2020-12-09 17:07:11 +02:00
Lukas Neubert 0e7192c9b7
fmt: keep comments in struct init without fields (#7212) 2020-12-09 16:35:03 +02:00
Delyan Angelov ada02d4498
time: fix failing test_iso8601_parse_utc 2020-12-09 15:48:21 +02:00
Delyan Angelov 338f3afd31
vfmt: fix `type MyFn = fn (int) int mut arr := []MyFn{}` 2020-12-09 15:18:45 +02:00
Lukas Neubert 3b6b5b8090
vfmt: properly parse comments on lines after init fields (#7202) 2020-12-09 11:11:22 +02:00
yuyi 05a217aaf0
scanner: minor cleanup and optimization in scanner.v (#7204) 2020-12-09 02:09:46 +01:00
Alexander Medvednikov 1abb40dc46 cgen: use `cur_mode ast.Module` instead of a string 2020-12-08 19:52:33 +01:00
penguindark 2bc1076921
regex: bug fixes, improved tests 2020-12-08 19:38:25 +01:00
Alexander Medvednikov a1c0bb3585 os: File.write_string() 2020-12-08 19:37:33 +01:00
Takahiro Yaota 036e762446
time: make parse_iso8601 support format without microseconds (#7176) 2020-12-08 17:53:54 +01:00
Delyan Angelov d5915bde7c
parser: implement support for -Wimpure-v (#7195) 2020-12-08 17:52:24 +01:00
Leah Lundqvist 90c1c639fe
js: types (#7108) 2020-12-08 17:49:20 +01:00
Andréas Livet a2ec52b8c4
builtin: rewrite string.split_nth and fix some bugs (#7189) 2020-12-08 10:51:47 +02:00
joe-conigliaro 8931d3d39c
checker: include built-in pointer types when checking fn expects non reference. closes #7133 2020-12-08 17:11:15 +11:00
joe-conigliaro 44b9ea4a75
cgen: selector expr / method call on sumtype pointer #7191 2020-12-08 16:08:10 +11:00
joe-conigliaro 805da2325f
cgen: defer was broken in presence of anon fn. fixed #7171 2020-12-08 14:21:19 +11:00
Delyan Angelov 3386526610
builder: improve support for -g in cross compilation to windows 2020-12-07 23:38:21 +02:00
Nick Treleaven 63557d0d02
checker: disallow op= and infix on a voidptr (#7175) 2020-12-07 22:43:38 +02:00
Delyan Angelov ed9aa873c1
gg: use gg.system_font_path() as a fallback when a font can not be found 2020-12-07 21:40:24 +02:00
Delyan Angelov 0efdc7bbe8
gg: print a diagnostic message when a requested font file is not found 2020-12-07 21:28:41 +02:00
Delyan Angelov 1914bc790b
builder: add comment about the goal of cflags.c_options_only_object_files() in cross compilation 2020-12-07 20:35:04 +02:00
Delyan Angelov 4b4733d6b4
builder: fix cross compilation of examples from linux->windows 2020-12-07 19:57:12 +02:00
Nick Treleaven a100b05647
checker: improve 'operator not defined on right operand type' error (#7185) 2020-12-07 18:37:17 +01:00
spaceface777 744a36ed71
js: restructure namespaces (#7170) 2020-12-07 18:36:22 +01:00
Delyan Angelov d38bca5958
checker: tweak the import private function message a little 2020-12-07 19:22:37 +02:00
joe-conigliaro 78a6795319
all: change the way import symbols work & support consts (#7182) 2020-12-07 19:13:03 +02:00
Lukas Neubert f30faf2627
scanner: allow \e escape used for ANSI colors (#7177) 2020-12-07 17:21:34 +01:00
Takahiro Yaota b5982b638a
time: fix typo in test (#7174) 2020-12-07 17:21:12 +01:00
Uwe Krüger fd689f5fdd
cgen: optimize array op assign (#7178) 2020-12-07 17:13:19 +01:00
Delyan Angelov 91e18b039c
net: fix cross compilation with mingw, Ws2tcpip.h => ws2tcpip.h 2020-12-07 10:41:42 +02:00
yuyi f377710c0b
scanner: minor optimization in `text_scan()` (#7172) 2020-12-07 06:33:41 +01:00
joe-conigliaro 14887304d8
sokol: allow submodules to be built by themselves (add required imports) 2020-12-07 16:16:21 +11:00
Ned Palacios 2ba8d31118
vdoc: fix sorting; fix missing symbols; document functions (#7161) 2020-12-07 02:43:25 +01:00
joe-conigliaro dcca821000
cgen: autofree - set/reset g.branch_parent_pos for all for loops 2020-12-07 12:08:09 +11:00
yuyi bac6be2273
token: minor clean up (#7163) 2020-12-06 16:48:23 +01:00
Uwe Krüger 853dcc33c7
cgen: optimize map op_assign (#7162) 2020-12-06 15:20:31 +01:00
Takahiro Yaota 0c50f0c9dc
time: v fmt (#7160) 2020-12-06 15:19:39 +01:00
Delyan Angelov 2be0c6af47
builtin: implement -d exit_after_panic_message (speeds up `v test-parser` with gcc/clang) 2020-12-06 14:21:37 +02:00
joe-conigliaro 5931b26737
cgen: remove extraneous call to util.no_dots 2020-12-06 22:12:23 +11:00
Daniel Däschle 334d605d90
tools,vls: add `v test-parser examples/hello_world.v` (#7145) 2020-12-06 12:42:56 +02:00
Alexander Medvednikov 8eff8b0eff autofree: fix `for` args 2020-12-06 08:38:21 +01:00
Alexander Medvednikov b6ae81032f ast: Var.is_tmp field 2020-12-06 08:19:17 +01:00
joe-conigliaro cd72c25edb
cgen: vfmt cgen.v after changes from previous commit 2020-12-06 18:05:17 +11:00
joe-conigliaro 7733834751
parser/cgen: autofree - move branch_parent_pos to cgen. 2020-12-06 18:02:36 +11:00
joe-conigliaro d7c057840a
parser: autofree - reset p.branch_parent_pos to previous pos on return 2020-12-06 17:00:44 +11:00
joe-conigliaro aeb467e038
cgen: fix typo from previous commit 2020-12-06 15:18:24 +11:00
joe-conigliaro d779510616
cgen: remove debugging comments added in a05408b 2020-12-06 15:16:45 +11:00
João Victor Oliveira Couto cb5f75c7bf
net.html: change license in readme (#7157) 2020-12-06 05:11:43 +01:00