Commit Graph

2716 Commits (7aacf77262f19eb28c161e8110c05308397592ea)

Author SHA1 Message Date
lutherwenxu a8c92e6dff
checker: remove hack and enforce type checking 2020-04-07 03:27:06 +02:00
Alexander Medvednikov fa5fcee584 cmd/v: fix run args 2020-04-07 03:21:32 +02:00
Alexander Medvednikov 33644a4f91 cmd/v: fix `run` 2020-04-07 01:09:25 +02:00
Alexander Medvednikov b7560fe4bf parser: do not allow duplicate methods; builder: cleaning up 2020-04-07 01:02:48 +02:00
Alexander Medvednikov 8d150d427a merge and simplify cmd/v and v.builder 2020-04-07 00:44:31 +02:00
Delyan Angelov 8da12eb8a7 errors: column index tweaks for emacs/vim 2020-04-06 23:15:53 +03:00
Delyan Angelov 333e725380 errors: remove 0 from caret line 2020-04-06 20:41:33 +03:00
Delyan Angelov bc2ea2f3d4 errors: fix caret position on lines with tabs 2020-04-06 20:35:24 +03:00
Delyan Angelov 3b3d248637 scanner: use formatted errors for s.error too 2020-04-06 19:58:32 +03:00
ka-weihe 5be892c635
cheaders: update wyhash to version gamma 2020-04-06 18:47:29 +02:00
Alexander Medvednikov 7f516dbae2 cgen: minor optionals fixes 2020-04-06 18:46:50 +02:00
Delyan Angelov d74eb99066 errors: do not bold the actual error message content 2020-04-06 19:46:23 +03:00
Delyan Angelov 7a99949f0e errors: print more informative and pretty errors 2020-04-06 19:40:20 +03:00
Alexander Medvednikov d865fc26eb http: fix method_and_url_to_response definition 2020-04-06 17:42:47 +02:00
lutherwenxu e8b26b1b8d
checker: make struct_init check more robust 2020-04-06 17:39:52 +02:00
yuyi 4d5fe14968
log: fix example error 2020-04-06 17:22:53 +02:00
Alexander Medvednikov 2006995020 cmd/v: remove clang-format (the generated code is pretty from the start) 2020-04-06 17:11:01 +02:00
Alexander Medvednikov 87c00a61da strconv: fix compilation 2020-04-06 14:53:28 +02:00
Alexander Medvednikov 35fbac8d56 parser/cgen: default struct field values 2020-04-06 14:45:48 +02:00
Major Taylor f099f90f50
string: fix trim_right, add tests 2020-04-06 14:30:25 +02:00
Alexander Medvednikov f59c9133da cgen: temporary headers fix 2020-04-06 14:22:59 +02:00
Alexander Medvednikov be014fcdd6 checker: << check; initial #flag os support 2020-04-06 02:05:11 +02:00
ka-weihe a30d292385
map: fix leaksfree fix (#4254) 2020-04-05 23:31:53 +02:00
Alexander Medvednikov edb93914bb vfmt: re-run on fmt.v 2020-04-05 23:30:16 +02:00
Alexander Medvednikov 852ec61b34 vfmt: fix single line if 2020-04-05 23:00:21 +02:00
ka-weihe 307daacf67
depgraph/map: fix memory bug 2020-04-05 22:09:52 +02:00
Alexander Medvednikov ffe8452f02 vfmt: fix imports 2020-04-05 21:53:00 +02:00
Alexander Medvednikov 08bbc251ff vfmt: fix multiline comments 2020-04-05 19:35:10 +02:00
Alexander Medvednikov 8260236331 vfmt: run on fmt.v 2020-04-05 18:15:50 +02:00
Alexander Medvednikov e464c4acc5 vfmt: more fixes + run on cgen.v 2020-04-05 18:03:36 +02:00
Alexander Medvednikov df45932c03 vfmt: fix same line stmt comments 2020-04-05 16:38:33 +02:00
Alexey 781c20a6ae
cgen: bring back Windows fixes 2020-04-05 16:08:16 +02:00
Delyan Angelov 206c1f4ca1 os: implement os.is_writable_folder/1 2020-04-05 16:56:54 +03:00
Delyan Angelov f139e98745 launch_tool: use println for verbose messages instead of eprintln 2020-04-05 15:31:09 +03:00
Delyan Angelov 44a271d9e9 v version: show only vhash, when vhash and current_hash are the same 2020-04-05 14:47:01 +03:00
lydiandy 35fab2bb7b
ast: pub interface field 2020-04-05 12:31:39 +02:00
Alexey 9c1eaaeb49
cgen: declare empty structs correctly 2020-04-05 12:31:25 +02:00
Alexander Medvednikov de701ccfac fmt: struct field comments on the same line 2020-04-05 12:25:39 +02:00
Delyan Angelov 75518e5bb9 ci: extract separate working_with_an_empty_struct_test.v 2020-04-05 12:55:54 +03:00
Delyan Angelov 5e76d53fcd compiler: support default values in optional blocks 2020-04-05 11:59:15 +03:00
Alexander Medvednikov 05fbe5ab7a parser: move comments 2020-04-05 04:05:09 +02:00
Alexander Medvednikov 2a06263a5b vfmt: more fixes; enable `v fmt` and `v fmt -w` 2020-04-05 03:37:38 +02:00
Alexander Medvednikov 97db4c0e9a vfmt: comments and other fixes 2020-04-05 02:08:13 +02:00
Delyan Angelov 45fdbc4df7 support pretty printing of StringInterLiteral in asserts too 2020-04-05 00:51:49 +03:00
Daniel Däschle e077cce103
vlib: add inode/mode information functionality (#4242)
* vlib: add inode/mode information functionality

* vlib: add docs to inode
2020-04-05 00:37:13 +03:00
Alexey 98086d7259
strconv: fix atof test 2020-04-04 23:28:47 +02:00
Delyan Angelov 774fb7e850 fix 'assert false' pretty printing 2020-04-05 00:12:16 +03:00
Delyan Angelov 45401954fa fix vlib/os/os_test.v 2020-04-04 23:06:47 +03:00
Delyan Angelov b0567543c9 add support for errcode in or{} optional blocks. 2020-04-04 21:47:57 +03:00
Alexey abd0686043
cgen: fix struct initialization 2020-04-04 17:59:49 +02:00
Alexey bb587c27a8
bitfield: update module 2020-04-04 17:59:26 +02:00
Delyan Angelov 8f06d60084 fix vlib/bitfield/bitfield_test.v 2020-04-04 18:03:06 +03:00
Alexander Medvednikov 33b03449d5 tools: remove vnames.v for now 2020-04-04 16:39:08 +02:00
Alexander Medvednikov e600feda98 cgen: __argc is already used on windows 2020-04-04 15:59:46 +02:00
Alexey b8f1152408
clipboard: fix build on Windows 2020-04-04 15:37:13 +02:00
Alexey 6455e57e82
fmt: process C function declarations correctly 2020-04-04 15:36:46 +02:00
krischerven 1960c6f4cb
checker: make an error message less ambiguous 2020-04-04 15:36:12 +02:00
Delyan Angelov 4c8703416e fix vlib/math/math_test.v 2020-04-04 16:07:42 +03:00
Alexander Medvednikov f748390172 parser: do no allow var names with __; cgen: use __argc 2020-04-04 14:55:40 +02:00
Alexander Medvednikov 95a1bd8470 cgen: handle C typedefs 2020-04-04 14:32:42 +02:00
Alexander Medvednikov 440f1cf4c6 map: remove old get methods 2020-04-04 14:22:39 +02:00
Alexander Medvednikov 46aed151ab parser: snake_case check; array: mutable array test 2020-04-04 14:09:58 +02:00
krischerven 4c6db7a64e
cgen: fix mutable arrays 2020-04-04 14:08:38 +02:00
Delyan Angelov 133842bf95 Remove unused self import of v.util into v.util . 2020-04-04 14:49:08 +03:00
joe-conigliaro b4e5e36d4a
checker: var opt & temp `[]` & non array init error & bug notes 2020-04-04 22:32:16 +11:00
Alexander Medvednikov d1f653f9bd parser: fix GG struct init 2020-04-04 13:11:50 +02:00
Alexander Medvednikov c0d4503f25 gl/glfw: update C definitions 2020-04-04 12:56:35 +02:00
Alexey d56276017c
cgen: fix variadics called with 0 vargs 2020-04-04 12:54:45 +02:00
yuyi 8ba6e45d83
time: fix unix_time 2020-04-04 12:10:56 +02:00
Alexey c6fabea49d
cgen: generate code for `go` statement for Windows 2020-04-04 12:09:05 +02:00
yuyi 0796eb4149
os: optimize os_windows.v 2020-04-04 11:59:25 +02:00
Alexey 5313a1401f
checker: show actual field name in warn message 2020-04-04 11:57:45 +02:00
Alexey 72df30050d
term: fix `get_terminal_size` on Windows 2020-04-04 11:56:43 +02:00
joe-conigliaro 97d8633557
checker: constant cycle & test fix 2020-04-04 17:05:26 +11:00
joe-conigliaro c9e290b36f
table: simplify/generalise type fns & remove calls 2020-04-04 16:37:11 +11:00
joe-conigliaro bf59828897
ast: const impl & global scope & objects 2020-04-04 14:14:40 +11:00
yuyi bb5ed66bb4
eval: fix new_checker call 2020-04-04 02:03:41 +02:00
Alexander Medvednikov 1d2de44e19 cgen: fix print(ptr); checker: uninitialized reference error/warning 2020-04-03 20:17:53 +02:00
Alexander Medvednikov 436ef12730 cgen: str(): handle empty structs 2020-04-03 18:49:15 +02:00
Delyan Angelov b411d29577 v2: fix support for 'go fn()' in modules. sync.pool is again multithreaded. 2020-04-03 19:44:49 +03:00
Alexander Medvednikov c32ed8af51 cgen: struct str() generation; go() fixes 2020-04-03 18:05:53 +02:00
Delyan Angelov 31c4b1cda6 v2: compile vfmt again; consistent colored error messages 2020-04-03 18:42:22 +03:00
Alexander Medvednikov 52f096f5d9 cgen: `go xxx()` 2020-04-03 15:18:20 +02:00
Alexey 6a5cc0fa19
tests: update assert output 2020-04-03 13:39:11 +02:00
Alexey 6c4de001b8
cgen: add `builtin.init` call inside of `_vinit` 2020-04-03 13:27:19 +02:00
Alexey 4cde6c0865
fmt: process TypeOf node 2020-04-03 11:59:53 +02:00
Alexander Medvednikov 87a185ea9c checker: remove newlines after errors 2020-04-03 11:09:02 +02:00
Alexander Medvednikov 0dad1a89e6 checker: much less verbose error messages 2020-04-03 11:01:09 +02:00
Alexander Medvednikov 1d52847924 checker: error on an unknown ident 2020-04-03 10:52:48 +02:00
Alexander Medvednikov a25f47124d cgen: make array_set/map_set work with pointers 2020-04-03 10:41:01 +02:00
Alexey ef339a4896
rand: update module 2020-04-03 08:53:57 +02:00
yuyi 5e6aa5371a
scanner: minor optimization (#4211) 2020-04-03 09:46:54 +03:00
Delyan Angelov 6b9bf8cbf7 v2: fixes for most of vlib/builtin/map_test.v . 2020-04-03 00:42:08 +03:00
Delyan Angelov 07c53b1b70 v2: report ill defined consts by name/line, not only how many they are 2020-04-02 22:33:36 +03:00
Alexey 5b6ec8996a
sync: fix build on Windows 2020-04-02 20:58:07 +02:00
hazohelet 0e6fe0a4f2
V: fix const bugs and pass const_test.v (#4206)
* fix const bug in v2

* v2: fix const decl

* small comment fix
2020-04-02 19:39:17 +02:00
Alexey 6309e699e5
builtin: add operator precedence test 2020-04-02 19:02:49 +02:00
Alexander Medvednikov 804d303487 cgen: add () for | and ^ 2020-04-02 18:26:56 +02:00
Delyan Angelov abf15e863c
v2: compile vrepl, 'fn main(){println(2+2)}' runs now
It works if you give it complete V programs like
fn main(){println(2+2)}
but not for single expressions like 2+2 or statements like a:='abc'
2020-04-02 19:21:12 +03:00
Alexander Medvednikov fd12e4e826 fix compiler_test.v 2020-04-02 18:12:10 +02:00
Delyan Angelov 61f79270a8 v2: compiler_test.v should fail on errors. 2020-04-02 19:01:31 +03:00
penguindark 83289d74a7
builtin: fix int to hex 2020-04-02 17:16:17 +02:00
Alexey 8c050eff07
msvc: add a workaround to fix backtrace (#4200) 2020-04-02 17:11:12 +02:00
Alexander Medvednikov 40fd924b15 parser: match must be exhaustive; cmd/v: one verbosity level, simpler version 2020-04-02 16:51:16 +02:00
Alexander Medvednikov f087e819d7 cli: minor fixes 2020-04-02 16:04:57 +02:00
SleepyRoy d5b2eb3c23
test: remove old num_lit_call_method 2020-04-02 15:52:46 +02:00
Delyan Angelov ad9848d983
fix cmd/tools/vtest.v build
This PR enables building them again with v2, by making vlib/sync/pool.v
single threaded for now, and by removing the use of generics till they
are fixed in v2.
2020-04-02 15:52:23 +02:00
Delyan Angelov 4ada412a05
v2: stage 2 for enhancing 'v version' with the current git commit hash 2020-04-02 15:51:48 +02:00
Alexey 01aa2b86f5
array, map: cast voidptr to byteptr 2020-04-02 15:31:44 +02:00
Alexander Medvednikov d4df916581 array: cast data to byteptr 2020-04-02 14:58:45 +02:00
Alexander Medvednikov be327962d3 strconv: remove an assert for now 2020-04-02 14:26:35 +02:00
Alexander Medvednikov 5b53b3d7e3 cgen/os: minor fixes 2020-04-02 14:00:28 +02:00
Alexander Medvednikov 6e380b8897 cgen: brin back hashes() 2020-04-02 13:49:59 +02:00
Alexander Medvednikov 5b835d294c more windows fixes + bring back windows ci 2020-04-02 13:44:46 +02:00
Alexander Medvednikov 1178bfa578 windows: a temp SUCCESS fix 2020-04-02 13:31:37 +02:00
Delyan Angelov 084f853a2a
v2: enhance version with current git commit hash. Cleanup redundant code. 2020-04-02 13:31:02 +02:00
Alexander Medvednikov d9c7253836 windows: "".to_wide() fixes 2020-04-02 13:24:23 +02:00
Alexander Medvednikov 1fe2933dd9 cgen: windows fixes 2020-04-02 13:09:39 +02:00
Alexander Medvednikov 4981c5a870 parser: fix public interfaces 2020-04-02 12:53:25 +02:00
yuyi 86ea886ad7
scanner: uniform bool type variable names 2020-04-02 12:23:18 +02:00
Delyan Angelov 12b8dc2613
v2: fix version 2020-04-02 10:48:29 +02:00
Alexander Medvednikov d57b1ca962 fix valgrind test 2020-04-02 10:44:35 +02:00
Alexander Medvednikov 461a5b2c18 cgen: fix raw strings 2020-04-02 10:15:35 +02:00
Alexander Medvednikov 683aa75b8d cgen: fix filter() 2020-04-02 09:32:10 +02:00
yuyi 24499aa6de
scanner: minor refactoring 2020-04-02 09:27:00 +02:00
krischerven dac304195e
cgen: print: support all the same functionality as println 2020-04-02 09:19:57 +02:00
Major Taylor 3eff266eb9
cgen: vcleanup call fix (#4186) 2020-04-02 09:18:45 +02:00
krischerven 561b7a0ea5
enum: make .str() print the name instead of the value 2020-04-02 03:27:06 +02:00
Alexander Medvednikov 07ea1eff81 glfw: more fn definitions 2020-04-02 02:02:12 +02:00
Alexander Medvednikov 507f4ce87a array: handle "0" strings 2020-04-02 01:47:32 +02:00
Alexander Medvednikov 88d15c6611 gl, glfw, freetype fixes 2020-04-02 01:45:22 +02:00
Alexander Medvednikov 1cfe44d9c6 fix windows build 2020-04-02 01:15:00 +02:00
SleepyRoy 74bdc57fad
tests: fix num_lit_call_method_test 2020-04-02 00:18:29 +02:00
Alexander Medvednikov fb4b93dfc0 ci fixes 2020-04-02 00:10:11 +02:00
Alexander Medvednikov 91ffeeb73b parser: fix `(x mut &X)` 2020-04-01 23:56:55 +02:00
Alexander Medvednikov c6cf8ace22 glfw and tetris fixes; temporary ci fixes 2020-04-01 23:49:11 +02:00
Alexander Medvednikov 24fc4a4c04 use autofree only with -autofree for now 2020-04-01 23:28:56 +02:00
Alexander Medvednikov 39434155f8 short struct init syntax 2020-04-01 23:23:20 +02:00
Alexander Medvednikov d9af06f2ad remove remaining files in vlib/compiler 2020-04-01 22:19:09 +02:00
Alexander Medvednikov 8dfb14b1c4 remove 15k lines of code of the old backend; make V2 the default backend 2020-04-01 21:25:31 +02:00
Alexander Medvednikov 30f306dc1a another vfmt2 fix 2020-04-01 18:25:05 +02:00
Alexander Medvednikov f657c4b514 another vfmt2 fix 2020-04-01 18:16:56 +02:00
Alexander Medvednikov 3ef6436bef fix fmt2 test 2020-04-01 17:52:50 +02:00
Alexander Medvednikov e3713de41d fix compilation 2020-04-01 17:17:35 +02:00
Alexander Medvednikov 0de853a2ab v2: lots of minor test fixes 2020-04-01 17:14:21 +02:00
joe-conigliaro 6764c7dd5c
parser/cgen: typeof test fixes - match & fixed array order 2020-04-02 02:13:21 +11:00
yuyi bd8d51fc95
token: small optimizations 2020-04-01 16:50:56 +02:00
Alexander Medvednikov 5a0bfa03b3 fix tests 2020-04-01 15:39:54 +02:00
Alexander Medvednikov 3dae1cc131 move sdl module to github.com/vlang/sdl 2020-04-01 15:27:28 +02:00
Alexander Medvednikov 7fd81d3abb parser: fix ^=; disable generics and interface map tests for now 2020-04-01 15:15:21 +02:00
Alexander Medvednikov b1b811b5ed v2: static (for translated code only) 2020-04-01 13:38:05 +02:00
Alexander Medvednikov 48832200bb parser: allow types that start with &&; cgen: allow ++/-- exprs for now 2020-04-01 13:18:58 +02:00
yuyi 56a9196be8
token: fix nr_tokens 2020-04-01 12:12:25 +02:00
yuyi b28e372106
scanner: small optimization 2020-04-01 12:11:52 +02:00
Major Taylor 9bb1b5d1bb
v2: enum fields separated by commas 2020-04-01 12:11:00 +02:00
Delyan Angelov 5b990078f9
more precise support for internal module tests 2020-03-31 23:42:30 +02:00
Alexander Medvednikov 2ac074655f fix interface test 2020-03-31 21:05:48 +02:00
Alexander Medvednikov 050ec5d9e3 parser: do not allow string{} outside of builtin 2020-03-31 21:03:21 +02:00
Alexander Medvednikov a3bd19ce73 cgen: generate enums earlier 2020-03-31 20:26:15 +02:00
Alexander Medvednikov 2b563bc69f v2: initial interface support; fix enum_hex_test.v 2020-03-31 19:59:41 +02:00
Delyan Angelov 50143ad9bf
v2: be silent by default 2020-03-31 19:58:44 +02:00
Alexander Medvednikov 2fe0e80569 cgen: enum default values 2020-03-31 19:43:11 +02:00
Alexander Medvednikov 43f72246aa checker: fix index type check 2020-03-31 17:51:16 +02:00
Alexander Medvednikov f98cc9c017 cgen: fix ARR_LEN 2020-03-31 17:16:12 +02:00
Alexander Medvednikov 9d630dff30 allow slicing of fixed size arrays 2020-03-31 16:48:00 +02:00
joe-conigliaro d048bf66b0
cgen: optimize/generalize typ method 2020-04-01 00:18:25 +11:00
Alexander Medvednikov 956bf23390 memory fixes: 21% of V compiler leaks fixed 2020-03-31 14:33:16 +02:00
SleepyRoy 9b9c1cc834
scanner: fix number literal calling method 2020-03-31 12:47:32 +02:00
Delyan Angelov b62035e3d0
solaris & termux: fix both, using the more portable termios.h 2020-03-31 12:46:46 +02:00
joe-conigliaro 21e4f2422d
cgen: clarify field name 2020-03-31 19:11:47 +11:00
joe-conigliaro f8169fee48
table: add i8 to number_type_idxs 2020-03-31 16:17:26 +11:00
joe-conigliaro f58875a202
table: i8 -128 was being cast to int closes #4164 2020-03-31 16:07:30 +11:00
joe-conigliaro 3b621c0ce6
checker: make var_scope mutable 2020-03-31 15:41:14 +11:00
joe-conigliaro 602bc06bee
ast: use multi return optional for find_scope_and_var 2020-03-31 15:39:14 +11:00
joe-conigliaro 71ca553190
cgen: multi return/assign optionals 2020-03-31 15:34:59 +11:00
Delyan Angelov 07de351546
v2: support -stats for _test.v files 2020-03-30 17:21:32 +02:00
joe-conigliaro 3440d7edd8
ast: first step merging CallExpr & MethodCallExpr 2020-03-30 21:39:20 +11:00
Delyan Angelov 7785583b34
android: fix termux build 2020-03-29 20:54:21 +02:00
hazohelet ec025f2020
compiler: use type `unresolved` for unresolved consts 2020-03-29 19:26:55 +02:00
yuyi c9eed0b89b
cgen: optimize a replace call 2020-03-29 10:09:27 +02:00
Alexey a333ac1888
all: remove redundant parentheses in `if` statements 2020-03-29 10:08:42 +02:00
Delyan Angelov e09447d011
v and v2: support @VEXE 2020-03-28 21:51:45 +01:00
vamsi-shankar 715d4f6601
math: copysign() 2020-03-28 18:32:38 +01:00
Delyan Angelov a9724fd38d
v2: typeof() 2020-03-28 17:37:22 +01:00
joe-conigliaro 837bffd03a
parser: parse type - fix multiple & 2020-03-29 01:15:10 +11:00
Alexander Medvednikov 831be43740 checker: check ! operator 2020-03-28 14:38:16 +01:00
joe-conigliaro 718819eb7a
map/scope/checker: update just var type & ret zero in map.get3 2020-03-29 00:00:28 +11:00
yuyi 9fb218d379
glfw: temporary fix 2020-03-28 12:47:24 +01:00
Alexey cedf185b41
v2: fix Windows errors 2020-03-28 10:19:38 +01:00
Alexander Medvednikov f627710870 fix repl tests 2020-03-27 20:49:20 +01:00
Alexander Medvednikov 98a0beab03 cgen: generate str() methods; merge c tests 2020-03-27 20:33:30 +01:00
Alexander Medvednikov eed7c91e87 move compiler tests from compiler/ to v/ 2020-03-27 18:01:46 +01:00
Alexander Medvednikov f6db36d7f0 fix parser_test and vfmt.v 2020-03-27 15:24:08 +01:00
Alexander Medvednikov 7369cb7b86 fmt: fix tests 2020-03-27 15:19:13 +01:00
Alexander Medvednikov 473d9fef55 checker: do not allow extra () in if conditions 2020-03-27 14:57:19 +01:00
Alexander Medvednikov 1a751208ca cgen: skip $if os {} block 2020-03-27 14:44:30 +01:00
Alexander Medvednikov 7fdce50718 cgen: write defer statements at the end of the function 2020-03-27 11:21:00 +01:00
Joe Conigliaro fd8bb2c95c tests: small array/struct test notes & tmp fix 2020-03-27 20:47:24 +11:00
r00ster bee8972632
readline: make some functions public 2020-03-27 09:55:15 +01:00
Alexander Medvednikov db59c621e8 v2: minor fixes 2020-03-27 08:47:02 +01:00