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

3078 Commits

Author SHA1 Message Date
joe-conigliaro
900d96c638
parser: allow deref assign without parens pt2 update vlib 2020-04-25 18:14:01 +10:00
joe-conigliaro
7177e71444
revert parser: allow deref assign without parens pt2 update vlib 2020-04-25 18:11:14 +10:00
joe-conigliaro
f92cf69e60
parser: allow deref assign without parens pt2 update vlib 2020-04-25 18:09:52 +10:00
joe-conigliaro
9fff8733a0
parser: allow deref assign without parens pt1 2020-04-25 18:07:30 +10:00
joe-conigliaro
6696e1a6e2
table: move set_nr_muls to method 2020-04-25 17:54:32 +10:00
Alexander Medvednikov
d54b48b300 table: interface cast fix 2020-04-25 09:18:10 +02:00
Alexander Medvednikov
9229a963ed array: use __new_array everywhere 2020-04-25 09:10:54 +02:00
joe-conigliaro
fbcdffbbc8
table: move Type functions to methods 2020-04-25 17:08:53 +10:00
Alexander Medvednikov
6248899d25 compiler_test: handle panics 2020-04-25 09:05:14 +02:00
Delyan Angelov
1c46dabc84 tetris: cleanup unused variable warnings 2020-04-25 09:49:02 +03:00
Alexander Medvednikov
48857090fc runtime as type check: part 2 2020-04-25 08:42:23 +02:00
Alexander Medvednikov
2d187fb951 runtime as type check: part 1 2020-04-25 08:36:53 +02:00
Alexander Medvednikov
f1f9e423c3 interfaces: preparatory fixes 2020-04-25 08:00:44 +02:00
Junya Okuno
5600fd8613
net.http: remove redundant httponly handling 2020-04-25 06:15:05 +02:00
Enzo Baldisserri
a924defb94
checker: check in left type 2020-04-25 06:14:17 +02:00
Enzo Baldisserri
fa4739794f
checker: fix "unnecessary ()" error position 2020-04-24 20:27:18 +02:00
Delyan Angelov
cc4090cc74 vfmt: remove unused variable check for vfmt 2020-04-24 20:25:11 +03:00
Delyan Angelov
8be10ffbd6 vfmt: always walk over all comptime branches 2020-04-24 19:05:55 +03:00
Delyan Angelov
f6f204387d cgen: fix for msvc 2020-04-24 18:44:25 +03:00
Delyan Angelov
c6a829ce82 cgen: support for error('abc').str() and printing errors 2020-04-24 18:35:33 +03:00
Enzo Baldisserri
323ca2b3bb
checker: check duplicates on match with no else
Refactor match duplication test to work even if there is not else, and to include every expression.
Add tests for duplicate expressions in match.
2020-04-24 17:04:39 +03:00
Delyan Angelov
aa15dec660 checker: check default struct field expression types 2020-04-24 16:46:55 +03:00
Delyan Angelov
d6899788dd time: add back vlib/time/time_linux.c.v 2020-04-24 15:28:16 +03:00
yuyi
afa9d42ff0
cgen: fix gen_str_for_array_fixed error 2020-04-24 12:36:45 +02:00
Alexander Medvednikov
a3382a5319 x64: debug opcodes nicely 2020-04-24 09:44:54 +02:00
Delyan Angelov
6bd34a069d benchmark: show xxx.yyy ms, using the new highres timer 2020-04-24 10:26:47 +03:00
Delyan Angelov
117ec722a2 time: remove temporary time__linux.c.v workaround 2020-04-24 09:12:34 +03:00
Delyan Angelov
20637ae54c time: restore building v on linux, till v.c is regenerated with -os cross 2020-04-24 09:00:07 +03:00
Delyan Angelov
863fab0268 comptime: enable again skipping parsing of other platform branches 2020-04-24 08:51:48 +03:00
Delyan Angelov
7a132e5c79 cgen: cleaner comptime ifdefs . 2020-04-24 08:42:31 +03:00
Major Taylor
25f2b171fc
time: Timer -> StopWatch; time.Duration 2020-04-24 07:33:25 +02:00
Leah Lundqvist
f3e3d7e0c5
websocket: update to work with latest V 2020-04-24 07:32:51 +02:00
yuyi
998fc8fc07
cgen: add gen_str_for_array_fixed 2020-04-24 07:32:27 +02:00
Alexander Medvednikov
c30c76c285 tests: fix x64 test 2020-04-24 05:26:29 +00:00
Delyan Angelov
6b31ebe456 Revert "comptime: enable again skipping parsing of other platform branches"
This reverts commit 0f4c5fb1c9.
2020-04-23 22:47:16 +03:00
Alexander Medvednikov
8cb88d5c9a x64: remove fn arg test for now 2020-04-23 20:55:23 +02:00
Delyan Angelov
ebc41375f1 os.executable: fix panic when os.executable_fallback fails (early in startup) 2020-04-23 21:53:18 +03:00
Alexander Medvednikov
1247718cbd x64: pass fn args 2020-04-23 20:27:34 +02:00
Delyan Angelov
0f4c5fb1c9 comptime: enable again skipping parsing of other platform branches 2020-04-23 20:45:16 +03:00
Delyan Angelov
4f4567513e comptime: fix $if debug {} when giving -cg or -d debug 2020-04-23 18:03:07 +03:00
Delyan Angelov
adb8fb1dc6 comptime: fix custom -d flags and $if x? {}. Fixes ftp_test.v . 2020-04-23 17:52:44 +03:00
Delyan Angelov
1a79e5419f tests: fix aes_test.v by manually dereferencing the mut dst parameter 2020-04-23 16:45:25 +03:00
yuyi
2b4f72ef64
parser: fix empty import error 2020-04-23 14:48:05 +02:00
yuyi
f2e505d962
tests: enable compiler_test.v on Windows 2020-04-23 14:15:15 +02:00
Delyan Angelov
8b5573a6f3 errors: use more distinct and detailed name redefinition messages 2020-04-23 13:15:01 +03:00
Enzo Baldisserri
7e400124e8
parser: allow blank ident in nested loops 2020-04-23 12:00:51 +02:00
Delyan Angelov
fb97c2e01e examples: fix path_tracing.v compilation, using (*ptr) = expression 2020-04-23 12:28:16 +03:00
Alexander Medvednikov
7f5e3b36bc x64: for loop 2020-04-23 05:29:07 +02:00
yuyi
5664cbd3d0
enum: check enum name and modify related files 2020-04-23 05:16:10 +02:00
Alexander Medvednikov
45e21085c7 tests: re-enable some old array tests 2020-04-23 04:23:19 +02:00
Alexander Medvednikov
9fe0ca5323 x64: ++ 2020-04-23 01:55:38 +02:00
Kris Cherven
d871595437
all: replace var with mut 2020-04-23 01:16:58 +02:00
yuyi
4e1abc8503
all: remove commas between enum vals 2020-04-23 01:16:16 +02:00
Alexander Medvednikov
d7ee4755c2 parser/cgen: interfaces (part 1) 2020-04-22 20:23:53 +02:00
Kris Cherven
faed178cb1
fmt: fix optional formatting 2020-04-22 20:12:58 +02:00
Enzo Baldisserri
fecf4ddf65
cgen: fix optional pointers 2020-04-22 20:12:30 +02:00
joe-conigliaro
de182d5809
parser: use single scope for fn args/body 2020-04-22 21:15:38 +10:00
joe-conigliaro
80a4fbf0be
parser: anon fn arg scope fix 2020-04-22 21:11:58 +10:00
joe-conigliaro
830b1807c1
test: add comment for assert bug in fn_test 2020-04-22 18:47:46 +10:00
joe-conigliaro
3ca4f5fada
checker/parser: anon fn call & return type fix 2020-04-22 18:41:57 +10:00
Delyan Angelov
4b8ed3f831 cgen: fixes for ustring, makes utf8_util_test.v pass 2020-04-22 10:35:14 +03:00
Alexander Medvednikov
50436a0e4a x64: local variables; if 2020-04-22 07:11:17 +02:00
joe-conigliaro
c35e0e49ce cgen: use gen_varg var in condition 2020-04-22 13:31:24 +10:00
joe-conigliaro
c1e8612624 checker/gen: allow vargs to be forwarded. fix/enable variadic test 2020-04-22 13:28:47 +10:00
Kris Cherven
b288ecb795
cgen: add map string generation 2020-04-22 04:00:38 +02:00
Kris Cherven
5c3742fbd2
parser: check var names in for loops 2020-04-22 03:48:51 +02:00
Kris Cherven
155891a4e0
parser: add unused variable warning 2020-04-22 01:52:56 +02:00
Uwe Krüger
08fac28c52
cgen: fix string interpolation for non-standard integer types 2020-04-22 01:48:53 +02:00
penguindark
34fd148f2f
ftoa: some fixes for rounding, new functions 2020-04-22 01:42:44 +02:00
joe-conigliaro
b9c0d2d362
cgen: fix passing high order function with body 2020-04-21 22:45:20 +10:00
yuyi
bc4a576c54
flag: fix flag_test.v 2020-04-21 14:44:17 +03:00
yuyi
a8dc0ccbcd
checker: add more op checks 2020-04-21 13:26:02 +02:00
Delyan Angelov
7c1d6b60c2 cgen: add g.auto_str_funcs, print &Struct pointers with enum fields 2020-04-21 13:32:17 +03:00
Alexander Medvednikov
baf3bf6778 uiold: make compile (fix vid); x64: mov rbp, rsp 2020-04-21 10:48:52 +02:00
Alexander Medvednikov
4471314291 clipboard: make the Linux version compile 2020-04-21 07:24:23 +00:00
Delyan Angelov
9d107007a1 x64: enhance diagnostic for unhandled nodes 2020-04-21 09:34:00 +03:00
Alexander Medvednikov
ab38605802 tests: disable clipboard on linux; x64: leave() 2020-04-21 06:16:47 +02:00
Alexander Medvednikov
77679d9650 tests: mark more tests as fixed 2020-04-21 05:52:44 +02:00
Alexander Medvednikov
9278a0cfba tests: fix mut_test; x64: sub32() 2020-04-21 05:49:03 +02:00
joe-conigliaro
abf5942433
parser/cgen: anon fn var & calling (#4534) 2020-04-21 13:23:36 +10:00
Alexander Medvednikov
ee2e83fef0 go back to mut. decisions, decisions... 2020-04-21 05:11:50 +02:00
Alexander Medvednikov
1bf094fbca parser: mut in receivers 2020-04-21 05:07:49 +02:00
Alexander Medvednikov
cc0e0ed281 fmt: single line match fix; x64: minor fixes 2020-04-21 04:51:53 +02:00
sambeckingham
4ea4d1c8c4
csv: handle missing line ending 2020-04-21 00:02:55 +02:00
Alexander Medvednikov
67a76cee1e tests: fix x64 output comparison 2020-04-20 22:57:41 +02:00
Alexander Medvednikov
10677c2b0c x64: fn call test 2020-04-20 22:36:12 +02:00
Alexander Medvednikov
871c29ea5d x64: fn calls; return; 2020-04-20 22:21:40 +02:00
sambeckingham
b1459ade69
csv: fix missing last column 2020-04-20 21:49:05 +02:00
Ruofan XU
f725b93019
tests: delete an unused file 2020-04-20 21:48:14 +02:00
Alexey
9c0d97335e
builtin: improve backtrace on Windows 2020-04-20 20:59:08 +02:00
Ruofan XU
cdb1b0344c
checker: improve type check for arithmetic assignment op and fix error pos 2020-04-20 20:56:05 +02:00
Major Taylor
dc8199709f
cli: add smart-wrap for help description 2020-04-20 14:50:15 +02:00
yuyi
717e26b45e
checker: more infix checks 2020-04-20 14:49:26 +02:00
yuyi
07f69fab19
checker: remove dots from error messages 2020-04-20 11:57:07 +02:00
Alexander Medvednikov
2805f8d0cc tests: fix x64_test.v 2020-04-16 14:19:14 +03:00
Alexander Medvednikov
78cbb7746f tests: fix hello.vv output 2020-04-20 09:07:19 +02:00
Alexander Medvednikov
2642f6a0da cgen: remove _PUSH 2020-04-20 09:04:17 +02:00
Alexander Medvednikov
e006da7259 parser: fix a bad comment 2020-04-20 08:44:14 +02:00
Alexander Medvednikov
4b329cb89d tests: fix a typo 2020-04-20 08:32:10 +02:00
Alexander Medvednikov
ee2f1652b5 fmt: add EOL 2020-04-20 08:30:42 +02:00
Alexander Medvednikov
639dc02cc8 x64: test hello world 2020-04-20 08:27:37 +02:00
Alexander Medvednikov
c1fc768c1b fmt: run on cmd/v; cgen: fix anonymous functions 2020-04-20 07:04:31 +02:00
Alexander Medvednikov
efff96d622 x64: make hello world run 2020-04-20 07:02:09 +02:00
Alexander Medvednikov
19a5436118 cgen: use faster array_push instead of _PUSH; re-fmt cgen.v 2020-04-20 03:54:41 +02:00
yuyi
be3bd520f6
checker: fix for in range type mismatch 2020-04-20 00:21:16 +02:00
Ruofan XU
5edd9cdc3a
checker: add type check for bit op 2020-04-19 22:29:45 +02:00
yuyi
dbb81b89fd
checker: fix type mismatch of in array 2020-04-19 22:26:58 +02:00
Daniel Däschle
b62bb22fa6
checker: allow C values in enum 2020-04-19 22:26:04 +02:00
Ruofan XU
6c59b306c7
checker: add type check for arithmetic assignment ops 2020-04-19 22:24:12 +02:00
yuyi
4de16e9f0f
tests: enable checker_error_test on windows 2020-04-19 20:48:13 +02:00
Keito Nagai
57859db07c
readme: fix docs link 2020-04-19 20:47:36 +02:00
Kris Cherven
95ae915c0c
checker/parser: fix outdated error messages 2020-04-19 20:46:48 +02:00
yuyi
27e04748ed
cgen:gen_str_for_array 2020-04-19 10:42:34 +02:00
Alexey
3ee858cd79
cgen: fix struct initialization bugs 2020-04-19 04:44:39 +02:00
Major Taylor
be0a8794c2
time: add Timer; refactor benchmark to use Timer 2020-04-19 03:40:32 +02:00
Enzo Baldisserri
57c142b993
checker: disallow pub in main 2020-04-19 00:07:57 +02:00
Alexander Medvednikov
de9f302412 fmt: array newlines test 2020-04-18 23:58:59 +02:00
Alexey
85c5103ba3
tests: test cflags parsing 2020-04-18 23:45:17 +02:00
Alexey
3d6142064d
tests: remove msvc-test 2020-04-18 23:44:42 +02:00
Alexander Medvednikov
a18201faa7 fmt: save newlines between array elements 2020-04-18 23:09:23 +02:00
Alexey
2ab2a58bc5
string: add more interpolation tests 2020-04-18 18:26:07 +02:00
Ruofan XU
b0e498bf0b
scanner: refactor ident_dec_number 2020-04-18 17:49:27 +02:00
Tim Basel
86df486988
compiler: rename is_so to is_shared 2020-04-18 17:46:23 +02:00
Kris Cherven
3cc7009440
cflag: remove circular dependency 2020-04-18 16:29:43 +02:00
Kris Cherven
eb923b4995
testing: fix count of succeeded tests 2020-04-18 05:49:03 +03:00
yuyi
5374899f29
parser: fix interpolation error 2020-04-18 00:22:03 +02:00
Enzo Baldisserri
0f9322bf36
checker: print error and pos for lacking main or pub main 2020-04-18 00:20:38 +02:00
Enzo Baldisserri
f2be3d7ffb
checker: check that right is type exists 2020-04-18 00:19:33 +02:00
Tim Basel
73073cd954
parser: anonymous functions (part 1) 2020-04-17 21:59:19 +02:00
yuyi
3e324befd0
builder: clean up and simplify some methods 2020-04-17 21:17:19 +02:00
Alexander Medvednikov
515da900e4 fmt: remove \t before same line comments 2020-04-17 20:53:39 +02:00
Alexander Medvednikov
2c778c8849 fmt: single line matches 2020-04-17 20:51:19 +02:00
yuyi
67cd90de6e
parser: fix number parse error 2020-04-17 20:31:32 +02:00
Kris Cherven
84ac634c31
checker: disallow pub fn main() 2020-04-17 20:30:43 +02:00
Alexander Medvednikov
c4b7d7cab3 match: shadow variable instead of it 2020-04-17 19:24:10 +02:00
Alexander Medvednikov
59baef89a0 parser: assign.v, containers.v, for.v, if.v 2020-04-17 18:16:55 +02:00
Alexander Medvednikov
b53fb365a6 parser: move pratt logic to pratt.v 2020-04-17 18:11:04 +02:00
Alexander Medvednikov
16931fd23f parser: move all struct logic to struct.v 2020-04-17 18:01:02 +02:00
Alexander Medvednikov
ed8855c4cd tests: fix struct_unknown_field.v 2020-04-17 17:20:35 +02:00
Alexander Medvednikov
4a556f72bb checker: allow calling private functions in tests 2020-04-17 17:18:40 +02:00
Alexander Medvednikov
06c1b9e95e table/checker: verify private functions/methods 2020-04-17 17:16:14 +02:00
Daniel Däschle
af30bf939e
checker: fix return underlining 2020-04-17 16:16:56 +02:00
Daniel Däschle
c1d9e22ca6
cgen: gen str() from eprintln and eprint as well 2020-04-17 16:15:28 +02:00
yuyi
420ecaf31d
cgen: gen_str_for_array() 2020-04-17 16:10:41 +02:00
Daniel Däschle
402e55d115
ast: expr.Position; struct field refactoring 2020-04-17 02:38:39 +02:00
yuyi
8bb11d9035
cgen: fix string_interpolation_struct_test.v error 2020-04-17 01:45:42 +02:00
Major Taylor
7bfc3ef767
cli: fix issue with long cmd and flag names 2020-04-16 23:01:04 +02:00
Enzo Baldisserri
051cc732bb
cgen: generate typeof for functions 2020-04-16 21:04:27 +02:00
yuyi
dee64347e0
cgen: fix const_embed_test.v error 2020-04-16 19:43:39 +02:00
Alexey
4c8510dfaf
cgen: use wWinMain for Windows GUI applications 2020-04-16 19:42:04 +02:00
Delyan Angelov
aed8370d87 tetris: enable compilation with -prod; cleanup of font loading errors 2020-04-16 19:44:15 +03:00
Kris Cherven
182108faca
fmt fmt.v, vfmt.v 2020-04-16 15:54:17 +02:00
Alexey
54226e74cf
sokol: add missing C prefixes 2020-04-16 15:53:34 +02:00
Alexander Medvednikov
714ff50322 fmt: use the new receiver syntax 2020-04-16 15:42:40 +02:00
Alexander Medvednikov
4b5acfd960 parser: (var x X) receiver syntax 2020-04-16 15:40:21 +02:00
Alexander Medvednikov
8760313ce5 fmt builder.v 2020-04-16 15:35:19 +02:00
Alexander Medvednikov
af224b4933 parser/cgen: is keyword 2020-04-16 15:32:14 +02:00
Delyan Angelov
cc9828b481 checker: fix building of shared .so libs 2020-04-16 16:30:19 +03:00
Enzo Baldisserri
e05f103c41
cli: make compile 2020-04-16 14:50:04 +02:00
Delyan Angelov
1318c27699 tetris: it now works with v2 (on linux) :-) 2020-04-16 13:30:40 +03:00
Daniel Däschle
19723c927b
checker: move more checks from parser 2020-04-16 12:17:15 +02:00
Delyan Angelov
554d87f5b0 tetris: part 1 of fixing compilation with v2 2020-04-16 12:37:59 +03:00
Delyan Angelov
8a1248b2e7 builder: restore module import cycle detection/topological reorder 2020-04-16 12:29:36 +03:00
Daniel Däschle
04db2d02b8
checker: move struct name check from parser to checker 2020-04-16 11:01:18 +02:00
yuyi
54a02996f2
cgen: fix string interpolation float type 2020-04-16 07:30:25 +02:00
Kris Cherven
332d52f459
fmt: stop mangling reference names 2020-04-16 07:28:41 +02:00
joe-conigliaro
c3ddaf16ec cgen: fix sum type casting for array push 2020-04-16 15:18:33 +10:00
Daniel Däschle
a680db44ed
parser: change for error message 2020-04-16 06:01:14 +02:00
yuyi
b15780ae51
parser: better const error 2020-04-16 06:00:05 +02:00
Delyan Angelov
4b3c44cfd7 Revert "tetris: part 1 of fixing building it with v2"
This reverts commit d42725aafe.
2020-04-16 01:16:54 +03:00
Delyan Angelov
d42725aafe tetris: part 1 of fixing building it with v2 2020-04-16 00:35:16 +03:00
Delyan Angelov
92129d760d checker: fix false positives for sumtype kind of matches 2020-04-16 00:32:56 +03:00
Abdullah Atta
6a186e8f11
jsgen: implement js backend 2020-04-15 23:16:49 +02:00
Kris Cherven
a3ab5df2ed
cgen: prepend __ to new_array 2020-04-15 20:12:06 +02:00
Daniel Däschle
27b6f30305
checker: move capital var check from parser to checker 2020-04-15 19:09:51 +02:00
Daniel Däschle
93b942de46
parser: fix a match error 2020-04-15 16:23:03 +02:00
joe-conigliaro
fde83aff0b
checker/cgen: fix calling struct field with fn type 2020-04-15 04:28:18 +02:00
Alexander Medvednikov
da28bc7026 Revert "fmt: (var f Foo)"
This reverts commit 4b110756e0.
2020-04-15 04:15:42 +02:00
Alexander Medvednikov
4b110756e0 fmt: (var f Foo) 2020-04-15 03:56:16 +02:00
Kris Cherven
4dd8796dba
cgen: fix assignment to nested maps 2020-04-15 02:42:00 +02:00
Alexander Medvednikov
f34352faf9 fmt: use var instead of mut 2020-04-15 01:55:51 +02:00
Alexander Medvednikov
efaec8be8e token/parser: var keyword 2020-04-15 01:45:27 +02:00
Daniel Däschle
4068cbc6eb
parser: fix var name check pos 2020-04-14 21:27:17 +02:00
Alexey
e1739549b2
crypto: fix rand module 2020-04-14 21:03:02 +02:00
Alexander Medvednikov
14e1b963f2 parser: do not allow variable names with capital letters 2020-04-14 20:40:00 +02:00
Alexey
91de4e1ece
array: test assignment operators 2020-04-14 20:32:06 +02:00
Enzo Baldisserri
86402204a7
checker: fail if else isn't the last branch of match 2020-04-14 20:31:51 +02:00
Alexey
0c63f5c80d
builtin: test left/right shift precedence 2020-04-14 19:38:11 +02:00
Daniel Däschle
50871d1a92
checker: for in index type error position 2020-04-14 19:37:56 +02:00
Alexander Medvednikov
deab448d93 cgen: fix array[i] &=, |= etc 2020-04-14 19:36:52 +02:00
Alexander Medvednikov
233ae3f772 fmt: use import module syntax 2020-04-14 19:32:23 +02:00
Alexander Medvednikov
2251634743 parser: hide import deprecation warning for now 2020-04-14 18:36:29 +02:00
Alexander Medvednikov
f91d527154 deprecate import module 2020-04-14 18:27:30 +02:00
Alexander Medvednikov
211275ab49 fmt: always use import() syntax 2020-04-14 18:24:19 +02:00
Alexander Medvednikov
ec10831318 parser: []int{cap:cap, len:len} syntax; minor fixes 2020-04-14 18:10:16 +02:00
joe-conigliaro
b33a9fc9e7
parser: fix left shift precedence 2020-04-15 01:41:14 +10:00
Delyan Angelov
2b3204603a parser: add an $if tinyc{} wrapper for the tcc_stack_bug variable 2020-04-14 18:02:55 +03:00
Delyan Angelov
e947d5e8c8 checker: fully exhaustive matches for sumtypes and enums
Also change the vlib/v/checker/tests/inout/match_expr_else.out to reflex the
new error details.
2020-04-14 16:50:43 +03:00
Daniel Däschle
75603beeea
checker: match exhaustive as stmt and with enum 2020-04-14 15:12:26 +02:00
Delyan Angelov
c04c973f84 cgen: use a temp variable for the array part inside 'for x in array{}' 2020-04-14 13:22:58 +03:00