Commit Graph

6324 Commits (6de78ecb592f3bfa4ed9f65c114f3f3c097d738f)

Author SHA1 Message Date
Lukas Neubert 58b3a30b47
docs/readmes: format almost all remaining code blocks (#8590) 2021-02-05 19:50:28 +02:00
Delyan Angelov 9a7ecf2807
ci: limit the -skip-unused testing to the ubuntu CI jobs for now 2021-02-05 18:41:46 +02:00
Delyan Angelov a6ecc19040
ci: fix -skip-unused compiler test on windows, using -d no_backtrace 2021-02-05 18:36:57 +02:00
zakuro 6b776e686e
parser: display correct position on boolean expression error (#8563) 2021-02-05 16:52:35 +01:00
Larpon 44ab0154b2
builtin: document last of array.v (#8575) 2021-02-05 16:51:45 +01:00
zakuro a94228bb16
checker: make `[] == ArrayAlias([])` an error (#8562) 2021-02-05 16:49:40 +01:00
Larpon e78c30d181
clipboard: add android variant (#8585) 2021-02-05 16:49:04 +01:00
Lukas Neubert 9ab1d17cbc
fmt: keep __global in struct declarations (#8584) 2021-02-05 16:46:43 +01:00
Delyan Angelov 81789ee106
tests: add vlib/v/tests/skip_unused/ 2021-02-05 17:27:00 +02:00
Delyan Angelov 867d96a077
checker: use @METHOD for util.timing_start in Checker.mark_used/1 2021-02-05 16:41:55 +02:00
Delyan Angelov 16dffc7c1d
compiler: move timing_start/timing_measure to util.timing_start/util.timing_measure 2021-02-05 16:34:56 +02:00
Delyan Angelov 25a3873019
parser,checker: support @METHOD, replaced by 'ReceiverType.MethodName' 2021-02-05 16:32:43 +02:00
Delyan Angelov d30f94507c
checker: enable -skip-unused for more examples 2021-02-05 11:55:40 +02:00
Delyan Angelov 8f160ee3ed
ci: run vfmt over vlib/v/gen/c/fn.v 2021-02-05 11:18:29 +02:00
Delyan Angelov 40fff7b56a
v.pref: support `v -skip-unused run examples/hello_world.v` 2021-02-05 11:12:28 +02:00
Delyan Angelov 80697ec7f3
table: .is_used => .usages (a counter, instead of a boolean flag) 2021-02-05 10:03:17 +02:00
Delyan Angelov e5c9fcb7e9
ci: fix building vdoc, vls, etc 2021-02-05 09:27:14 +02:00
Alexander Medvednikov 5a183d23a9 cgen: disable the new [if xxx] logic for now 2021-02-05 08:16:16 +01:00
Alexander Medvednikov 1084b43ffb all: ast walker for marking unused fns 2021-02-05 08:05:35 +01:00
Delyan Angelov 119dfc0bb0
all: support map[f32]string and map[f64]string (float map keys) too (#8556) 2021-02-04 23:59:49 +01:00
Alexander Medvednikov 97e36cd97a parser: fix method name test 2021-02-04 22:25:58 +01:00
Alexander Medvednikov fdd8c86fdb parser: make sure methods have names 2021-02-04 22:15:16 +01:00
Ekopalypse 5eef730290
builder: make msvc build if v path contains spaces (#8552) 2021-02-04 20:45:59 +01:00
Delyan Angelov 48892a52fa
strings: make valgrind reports for strings builders more usefull (#8553) 2021-02-04 20:45:35 +01:00
Louis Schmieder 97c0ef3505
orm: struct field support (#8517) 2021-02-04 20:28:33 +01:00
Ekopalypse 856246c858
builder: make repl work if path contains spaces (#8550) 2021-02-04 18:18:18 +01:00
Lathanao a0cbe48977
vweb: fix @include (#8535) 2021-02-04 17:07:04 +01:00
yuyi abde1cd73d
cgen: fix array/map of alias to string (#8549) 2021-02-04 17:52:14 +02:00
Subhomoy Haldar c6552d7780
rand.util: add sample_r and sample_nr (#8539) 2021-02-04 14:56:53 +02:00
yuyi a976876211
v.token: correct some comments, and add some missing comments (#8542) 2021-02-04 09:18:38 +02:00
BigBlack 162c42dbe9
ast: fix `new_struct := MyStruct{...(*old_struct)}` (#8544) 2021-02-04 09:14:43 +02:00
pancake 27239db427
builder: show file:line when import fails (#8537) 2021-02-04 09:09:54 +02:00
Uwe Krüger 112c652ace
cgen: auto initialize `chan` that are struct elements (#8541) 2021-02-04 00:07:20 +01:00
Uwe Krüger f013e65670
checker/cgen: support lock expressions `x := rlock s { s.get() }` (#8540) 2021-02-03 23:56:58 +01:00
Uwe Krüger cee00a3551
cgen: create enclosing block on C side for V `lock` blocks (#8538) 2021-02-03 23:25:01 +01:00
Uwe Krüger 2424e2cb02
cgen: fix for `rlock`/`lock` handling (#8536) 2021-02-03 17:33:18 +01:00
Nick Treleaven de37b52d4b
checker: check goto label exists (#8523) 2021-02-03 15:20:10 +01:00
Nick Treleaven 82482167ce
vlib: replace all `goto` statements with labelled break (#8531) 2021-02-03 15:19:42 +01:00
Swastik Baranwal 7ec116d588
all: only allow defining `==` and `<` and auto generate `!=`, `>`, `>=` and `<=` (#8520) 2021-02-03 15:18:38 +01:00
Uwe Krüger 9dcf673216
all: make `lock` and `rlock` dead lock free :-) (#8534) 2021-02-03 15:16:52 +01:00
Delyan Angelov f4b757e47d
examples: add examples/vweb/server_sent_events; implement vweb.sse 2021-02-03 16:03:06 +02:00
Ruofan XU a73c20916d
checker: refactor and clean up c.check_basic() (#8508) 2021-02-03 11:57:06 +02:00
zakuro 4b99d6af95
cgen: fix bug with duplicate defer generation (#8503) 2021-02-03 11:40:21 +02:00
yuyi b40252bd97
checker: merge array_filter_fn_err tests (#8506) 2021-02-03 11:27:11 +02:00
yuyi 9bcb57eb1f
checker: merge array_map_fn_err tests (#8507) 2021-02-03 11:26:26 +02:00
Lukas Neubert ea06966fd4
fmt: hide ´[]Type{} instead of []Type´ and ´(f mut Foo)´ warnings (#8528) 2021-02-03 11:25:08 +02:00
zakuro e30e794884
checker: add check for using a private const in another module (#8501) 2021-02-03 10:17:13 +02:00
Uwe Krüger df0520b43a
checker,cgen: make `shared` behave like `mut` inside `lock` - and like non-mut inside `rlock` (#8526) 2021-02-03 01:20:19 +02:00
yuyi 91af2418de
ftp: minor optimization in dir() (#8518) 2021-02-02 18:51:55 +01:00
yuyi 7875164d91
cgen: add gen_alias_equlity_fn (#8514) 2021-02-02 18:37:57 +01:00
Delyan Angelov 02bef1ae2b
vdoc: fix segfault on `v doc -m -f html vlib` 2021-02-02 17:38:32 +02:00
joe-conigliaro ffedbe4b81
cgen: move cgen from v.gen to v.gen.c (#8515) 2021-02-02 15:41:51 +01:00
Daniel Däschle d477e525bb
checker/gen: fix generic struct init (#8322) 2021-02-03 00:42:00 +11:00
Lukas Neubert 58b37519e0
scanner: fix warning for \" after string interpolation (#8510) 2021-02-02 14:14:06 +02:00
Uwe Krüger 1de299ad22
cgen: allow `shared` initialization from return values of functions (#8512) 2021-02-02 14:13:13 +02:00
Delyan Angelov 17062dc5c8
v.pref: support `-obf` in addition to `-obfuscate`, as described in `v help build` 2021-02-02 12:24:34 +02:00
Lukas Neubert 5aaeac79fa
ci: fix compilation (#8511) 2021-02-02 12:06:54 +02:00
Delyan Angelov d57a9c419d
examples: add net_udp_server_and_client.v 2021-02-02 10:36:56 +02:00
Alexander Medvednikov 2c4674eb42 cgen: obfuscate functions 2021-02-02 09:14:41 +01:00
yuyi 5ec6f7a781
ftp: fix error in dir() (#8504) 2021-02-02 08:22:52 +01:00
yuyi 9a2820fa7b
checker: fix pass fixed array of function as argument (#8502) 2021-02-02 03:58:54 +01:00
Ruofan XU a0a33f7ff1
checker: fix map of function as argument and direct call of function in map (#8494) 2021-02-02 03:58:32 +01:00
Louis Schmieder 969f19daf4
orm: fix null strings (#8497) 2021-02-01 21:44:09 +01:00
Ruofan XU 51f2eb81f4
checker/cgen: fix mut array of fn as argument (#8469) 2021-02-01 20:10:24 +01:00
Lukas Neubert cf1084105c
fmt: allow single line ternary if as function argument (#8486) 2021-02-01 20:08:42 +01:00
Nick Treleaven 79e9084f7b
checker: allow `Struct{...expr}` where `expr` is another struct type (#8495) 2021-02-01 20:08:25 +01:00
Uwe Krüger 17746561f2
cgen: put `shared` arrays and maps always on heap (#8496) 2021-02-01 20:07:01 +01:00
yuyi 4d268d1436
cgen: minor cleanup of gen_fn_decl (#8474) 2021-02-01 20:06:34 +01:00
Delyan Angelov fab7b9d9d9
checker: fix `x := match enumexpr { .case2 { fn1 } .case2 { fn2} }`, where fn1 and fn2 have compatible signature 2021-02-01 21:01:58 +02:00
BigBlack e3c2604338
cgen: fixed array slice in function, add docs (#8481) 2021-02-01 19:11:17 +02:00
Lucas Hernán Tarche 7813ecbb75
gg: add draw_convex_poly/2 and draw_empty_poly/2 methods (#8487) 2021-02-01 18:18:23 +02:00
yuyi 1e07173234
cgen: minor cleanup of array_init (#8477) 2021-02-01 15:56:55 +01:00
Nick Treleaven c537578481
checker: ensure `expr` is an lvalue with `Struct{...expr` (#8489) 2021-02-01 15:18:03 +01:00
Lukas Neubert d660f2cc6f
fmt: insert newline after last HashStmt (#8482) 2021-02-01 14:50:41 +01:00
yuyi 53a5aad855
cgen: fix fixed array of function (#8490) 2021-02-01 14:50:10 +01:00
Lukas Neubert 8755f40430
fmt: keep comments after imports (#8483) 2021-02-01 14:45:08 +01:00
Uwe Krüger 44ec9e3ebc
checker/cgen: put `shared` struct always on heap (#8492) 2021-02-01 14:39:36 +01:00
Delyan Angelov 5b9a7bf6b3
cgen: support `#flag -DWIN32_FULL`, when you do NOT want WIN32_FULL 2021-02-01 14:40:51 +02:00
Lukas Neubert 43676330ba
fmt: keep braces around @ escaped fields in string interpolation (#8488) 2021-02-01 11:04:57 +02:00
Enzo 778b83a132
gen: fix multiple blank param with interface (#8480) 2021-01-31 19:44:55 +02:00
spaceface effa3188dd
cgen: fix type casts to interfaces (#8476) 2021-01-31 19:24:33 +02:00
Larpon d25825df57
all: support compile time `$env('ENV_VAR')` (#8456) 2021-01-31 19:22:42 +02:00
Enzo 2945040a67
gen: fix function with multiple blank params (#8475) 2021-01-31 16:37:26 +02:00
Nick Treleaven f992099726
checker: check s.$method(arg) argument is []string (#8455) 2021-01-31 15:28:23 +01:00
Alexander Medvednikov 9638013203 gg: fix macos C function definitions 2021-01-31 13:57:06 +01:00
Ruofan XU ae60ea4ed5
tests: add regression tests for typeof map and array of fns (#8458) 2021-01-31 12:20:15 +02:00
Seven Du 09c65163b4
cgen: add a destructor caller for the generated _vcleanup, when using -shared (#8464) 2021-01-31 12:10:49 +02:00
Delyan Angelov 5746ac4dd4
vfmt: remove tracing println for match branches 2021-01-31 11:05:49 +02:00
Delyan Angelov 978359a6fc
tests: fix some warnings in preparation for `-W test-self` 2021-01-31 11:05:17 +02:00
Delyan Angelov e066e83041
stbi: add proper declarations for C.stbi_load etc. 2021-01-31 10:23:43 +02:00
yuyi 2963425995
cgen: fix fn_with_mut_args (fix #7139) (#8446) 2021-01-31 02:45:45 +01:00
Nick Treleaven 9c2bd24b4f
tests: add test for s.$method() with T.methods (#8451) 2021-01-30 18:35:41 +01:00
BigBlack c5e7956eb5
checker: fix generic_mutable_arrays in functions (#8445) 2021-01-30 18:35:03 +01:00
Nick Treleaven 64d12cdc8d
checker: check number of C function arguments for some cases (#8444) 2021-01-30 18:33:36 +01:00
Daniel Däschle 2cadb3e4d8
gen: panic with correct type names (#8355) 2021-01-30 18:54:05 +02:00
Nick Treleaven 849bc6c3d8
tests: fix weird CI failure with error details (#8449) 2021-01-30 18:53:39 +02:00
Uwe Krüger 9c82eec529
checker: support nested propagation cases `f(g() ?)` (#8447) 2021-01-30 16:53:31 +01:00
Nick Treleaven 43c3a3b080
checker: fix compile-time call with string identifier expression (#8415) 2021-01-30 15:24:16 +01:00
Uwe Krüger 058f3ba013
sync: rename `m_lock() -> @lock()`, `r_lock() -> @rlock()`, ... (#8443) 2021-01-30 15:23:55 +01:00
Subhomoy Haldar 7e3b3a9efc
rand: update byte() (#8442) 2021-01-30 14:19:14 +01:00