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

2121 Commits

Author SHA1 Message Date
Alexander Medvednikov
d05bdad638 pratt: handle &= 2020-03-01 23:26:23 +01:00
Alexander Medvednikov
f921ea2fb7 cgen: test module fns and consts 2020-03-01 22:06:36 +01:00
Alexander Medvednikov
38de6c98fc cgen: test local modules 2020-03-01 21:56:07 +01:00
Joe Conigliaro
a707ffc04a v2: name_expr mod & type & var fixes 2020-03-02 02:14:52 +11:00
Delyan Angelov
1066ec5cd9
compiler: import modules relative to v.mod 2020-03-01 15:49:39 +01:00
Delyan Angelov
615a4b3452
builtin: add V64_PRINTFORMAT (part 2) 2020-03-01 15:48:54 +01:00
Delyan Angelov
2700fd712b
builtin: add V64_PRINTFORMAT (part 1) 2020-03-01 15:30:33 +01:00
Joe Conigliaro
1ab830da4b v2: fix var mistaken for enum in parser 2020-03-02 01:19:10 +11:00
Alexander Medvednikov
82b0024758 fix v2 parser int.v error 2020-03-01 14:57:54 +01:00
Alexander Medvednikov
d7a8b1b4f2 checker: set fn arg expected_type 2020-03-01 14:10:10 +01:00
Nicolas Sauzede
becd87141c
fix linux warnings in generated C code 2020-03-01 13:26:09 +01:00
Alexander Medvednikov
7a499b3cd3 checker: fix first() and last(); call_args; method cgen 2020-03-01 13:07:51 +01:00
Joe Conigliaro
9978fb3e2c v2: fix map_init return type in checker 2020-03-01 21:45:44 +11:00
Joe Conigliaro
00dcaf0e04 v2: ArrayInit + all errs & unhandled + arrange nodes + type fix 2020-03-01 15:14:36 +11:00
Alexey
cbffbf3438
array: reverse empty arrays correctly 2020-02-29 20:44:02 +01:00
Alexey
c1e095e587
fmt: process MatchExpr 2020-02-29 20:43:15 +01:00
Alexander Medvednikov
4e88c2286e checker: IfGuard, map fixes 2020-02-29 20:11:04 +01:00
Alexander Medvednikov
ee05b51f47 checker: fix match expected_type 2020-02-29 18:34:25 +01:00
Alexander Medvednikov
a15dcbfb2d checker: set expected_type in several places 2020-02-29 18:25:38 +01:00
Alexander Medvednikov
27ce38937c checker: fix Assoc 2020-02-29 18:07:29 +01:00
Alexander Medvednikov
85f67a3f73 fix prod build 2020-02-29 17:53:04 +01:00
Alexander Medvednikov
d5faf36aa9 fmt: comments 2020-02-29 17:51:38 +01:00
Alexey
5a5f4ce99a
fmt: simplify IndexExpr processing 2020-02-29 17:45:08 +01:00
yuyi
a678be7195
fix interface on all platforms 2020-02-29 15:27:28 +01:00
Alexey
99cbc58db8
array: update array.repeat 2020-02-29 15:25:49 +01:00
Alexey
632a538eb3
string: update string.repeat behavior
Panic if a repeat count is negative.
Return an empty string if a repeat count is zero.
2020-02-29 15:25:31 +01:00
lydiandy
a485533dc9
make sure scanner and parser both check BOM 2020-02-29 15:05:25 +01:00
yuyi
6c85e285e7
vdoc: show variadic args correctly 2020-02-29 15:04:07 +01:00
Alexey
ee0a0afb25
v2: process or block for CallExpr 2020-02-29 15:03:32 +01:00
Alexey
efff66ada7
fmt: add pub modifier for public enums 2020-02-29 14:38:23 +01:00
Major Taylor
d4b0de2dce
log: extended logging level names when printed 2020-02-29 14:31:59 +01:00
Delyan Angelov
f9d5c0110f
compiler: @VMODULE 2020-02-29 14:23:45 +01:00
Joe Conigliaro
f67fca826e v2: fix C function & type prefixing 2020-02-29 21:47:47 +11:00
Joe Conigliaro
48f912c2e9 v2: handle variadic in selector_expr 2020-02-29 19:04:47 +11:00
Joe Conigliaro
71b5b0d955 v2: fix C fn calls, save C fns with prefix besides odd cases 2020-02-29 17:24:28 +11:00
Joe Conigliaro
236b7b15bb v2: handle optional in return stmt in checker 2020-02-29 16:32:00 +11:00
Joe Conigliaro
8e013d2174 v2: skip minus in string expr for now 2020-02-29 15:56:16 +11:00
Joe Conigliaro
eb80accfee v2: add ParExpr to checker 2020-02-29 15:36:39 +11:00
Alexander Medvednikov
6855c746bb vfmt: EnumDecl 2020-02-28 17:21:24 +01:00
Major Taylor
ee9cfe22ec
scanner: fix a typo in right_shift 2020-02-28 17:16:24 +01:00
Alexander Medvednikov
ccf4f61521 ast: ParExpr, OrExpr, IfGuardExpr; ForInStmt fix; remove all cap vars 2020-02-28 15:36:41 +01:00
Alexander Medvednikov
6a198df3af v2: ParExpr; mut var decl 2020-02-28 14:41:19 +01:00
Alexander Medvednikov
7f5a15372f os: fix get_raw_line() + minor v2 fixes 2020-02-28 14:05:20 +01:00
Joe Conigliaro
c4b9ef388f v2: handle var decl & assign stmt together 1st step combining 2020-02-28 23:29:04 +11:00
Nicolas Sauzede
f5fdbfd004
os: fix getline warning for linux 2020-02-28 02:43:42 +01:00
penguindark
b8f6284daf
ftoa: tables with hex constants 2020-02-28 02:43:15 +01:00
Alexander Medvednikov
87205367d1 v2: minor fixes 2020-02-27 21:51:40 +01:00
Alexander Medvednikov
3204f036da ast: move all str() methods to ast/str.v 2020-02-27 21:29:38 +01:00
Alexander Medvednikov
d619944cf5 vfmt: []xxx; mut args 2020-02-27 21:00:33 +01:00
Alexander Medvednikov
4f0d505c65 v2: if x := ; fix for key, val in; CastExpr 2020-02-27 18:02:40 +01:00
Alexander Medvednikov
3bde876097 v2: checker: fix --/++ 2020-02-27 17:31:10 +01:00
Alexander Medvednikov
09b7a7c872 v2: checker: handle clone() 2020-02-27 17:21:13 +01:00
Alexander Medvednikov
b1357d9641 v2: checker: fix filter() 2020-02-27 16:51:47 +01:00
yuyi
b580a497fe
compiler: fix an interface bug 2020-02-27 16:31:05 +01:00
Joe Conigliaro
aba0bb5e01 v2: fix condition in AssignStmt 2020-02-27 21:15:30 +11:00
Joe Conigliaro
237d83b2ee v2: more work on AssignStmt & multi ret & initial blank ident 2020-02-27 21:12:30 +11:00
joe-conigliaro
cfbd8ab7e7 v2: parser - use defer to make sure scope is closed for filter 2020-02-27 17:00:24 +11:00
Alexander Medvednikov
06fc8a830b v2: fix a bug with mod.const 2020-02-27 03:30:17 +01:00
Alexander Medvednikov
a5db9c3519 os: bring back write_bytes_at() 2020-02-27 00:41:05 +01:00
Alexander Medvednikov
bb6098e2d3 v2: fix type f fn... 2020-02-27 00:18:14 +01:00
Alexander Medvednikov
c51f464446 v2: fix mod.Enum.val and x = .val 2020-02-27 00:12:40 +01:00
Alexey
59d6a675dd
vdoc: trim result value 2020-02-26 23:18:31 +01:00
Major Taylor
c72e505fe4
pg: use unsafe 2020-02-26 23:17:56 +01:00
Alexey
394d64bfd0
vdoc: remove duplicated code 2020-02-26 22:44:28 +01:00
Alexey
ca9fa6407f
v2: distinguish public and private constants 2020-02-26 22:43:37 +01:00
yuyi
46ec400cb3
vdoc: sort function names 2020-02-26 20:46:09 +01:00
Alexey
70f085be18
v2: process unsafe statements 2020-02-26 20:45:03 +01:00
Alexey
b1ea908b3b
fmt: process defer statement 2020-02-26 20:44:42 +01:00
Delyan Angelov
9d61f4fad1
benchmark: make measuring small snippets of code less verbose/easier to use 2020-02-26 16:29:46 +01:00
Alexander Medvednikov
857cbfb0d2 v2: short struct init syntax; .xxx enum checks; unions; assert 2020-02-26 15:51:05 +01:00
Nicolas Sauzede
30f905999a
math: add powf and other float32 functions 2020-02-26 13:31:54 +01:00
Delyan Angelov
7a72167eb7
strings: optimization of repeat + repeat_string() 2020-02-26 13:22:12 +01:00
penguindark
39429f7ac9
atof: lots of fixes
* removed sprintf for f64 and f32 use

* removed all pointers from the code, used unions instead

* solved module name problem

* fixed tests on vlib/math

* fix for alpine-linux math test

* small fix on byte allocation for ftoa
2020-02-26 12:14:06 +01:00
joe-conigliaro
c4e83faa57 compiler: allow a type to be used as a variant of multiple sum types 2020-02-26 15:15:38 +11:00
SleepyRoy
bc3d1eaf6e
scanner: simplify and unify style 2020-02-25 22:58:51 +01:00
Alexander Medvednikov
0f8b2399ee fmt: fix new EnumVal 2020-02-25 19:59:47 +01:00
Alexander Medvednikov
28ee0f4ebe checker: check enums 2020-02-25 15:02:34 +01:00
SleepyRoy
05ed6c57b6
scanner: add check for wrong decimal numbers 2020-02-25 14:33:29 +01:00
Alexander Medvednikov
f6c2b3a54b v2: enum fixes 2020-02-25 13:30:43 +01:00
Alexander Medvednikov
7e930c2a75 cgen: enum 2020-02-25 11:52:41 +01:00
lydiandy
d4ffed89c0
add typeof test for fn (#3832) 2020-02-25 11:14:59 +01:00
penguindark
200f25a38f
ftoa in V (#3831) 2020-02-25 11:12:37 +01:00
SleepyRoy
b17e49ad25
scanner: add check for bin/oct/hex with wrong digits 2020-02-25 11:11:12 +01:00
SleepyRoy
f859c7f93e
scanner: fix special case - e or E at the end 2020-02-25 11:10:05 +01:00
Delyan Angelov
b17ade1257
compiler: implement typeof(x) 2020-02-24 21:45:47 +01:00
SleepyRoy
794ee6fc9d
scanner: fix bin/oct/hex without number parts 2020-02-24 18:02:36 +01:00
lydiandy
3c0b73c2d6
sokol: fixes 2020-02-24 18:02:22 +01:00
SleepyRoy
96da5b33c0
scanner: fix special case - 0 at the end 2020-02-24 18:01:51 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
Alexey
5918946feb
fmt: process attributes 2020-02-24 17:18:14 +01:00
vitalyster
a3a7e0531a
darwin: fix MacPorts build 2020-02-24 16:54:04 +01:00
Alexey
87ad5a96b9
v2: stringify multi-return types 2020-02-24 16:38:31 +01:00
Alexey
2bbb8526a3
fmt: process RangeExpr properly 2020-02-24 16:37:20 +01:00
SleepyRoy
7d2eb4f604
scanner: make 0o prefix the only way to define octals 2020-02-23 23:43:04 +01:00
yuyi
9d2a60bb11
os: optimize os_windows.v 2020-02-23 20:46:13 +01:00
yuyi
adb1d3f8c9
scanner: enable 0oxx to handle octals 2020-02-23 12:33:07 +01:00
Alexey
26fa833984
fmt: process assignment statement correctly 2020-02-23 11:22:07 +01:00
Alexander Medvednikov
2eb4f663d6 fix fmt test 2020-02-22 17:14:38 +01:00
Alexander Medvednikov
dd29bfe4d2 fix fmt test 2020-02-22 17:07:03 +01:00
Alexander Medvednikov
d510cd1e0d fmt: else, for in 2020-02-22 16:59:50 +01:00
Alexander Medvednikov
5fef8390a1 fmt: assoc 2020-02-22 14:39:25 +01:00
Alexander Medvednikov
cd41967aa1 fmt: struct pub/mut fields, map init 2020-02-22 14:13:22 +01:00
joe-conigliaro
b250ded3fa v2: fix typo & remove unneeded field 2020-02-22 23:08:14 +11:00
joe-conigliaro
30c8a5a010 v2: temp const fix 2020-02-22 23:04:56 +11:00
Alexander Medvednikov
6f577321f1 checker: fix build 2020-02-22 12:58:16 +01:00
Alexander Medvednikov
e459e6d24a checker: remove unnecessary exits 2020-02-22 12:57:18 +01:00
yuyi
1a1aa267b7
vlib: remove malloc unsafe warning 2020-02-22 12:41:24 +01:00
Alexander Medvednikov
3c3ca1e61f fmt: fix test 2020-02-21 22:56:50 +01:00
joe-conigliaro
15c288b444 v2: small type cleanup 2020-02-22 08:50:21 +11:00
yuyi
b325320f29
os: minor fixes 2020-02-21 20:14:01 +01:00
Alexander Medvednikov
7acf8efde3 fmt: fix import alias 2020-02-21 20:12:55 +01:00
Alexander Medvednikov
9be87d03f5 type_to_str: fix imported types 2020-02-21 19:56:37 +01:00
Alexander Medvednikov
e0c6766a79 make "unreachable code" a warning in non-prod builds 2020-02-21 18:55:18 +01:00
Alexander Medvednikov
1d90c1cbbf nice 2020-02-21 18:15:41 +01:00
Alexander Medvednikov
4c95e59d5c fmt, doc: &; update 0.2 roadmap 2020-02-21 18:13:34 +01:00
Alexander Medvednikov
9e6773cba8 fmt: optionals; none 2020-02-21 17:52:20 +01:00
Alexander Medvednikov
d075be73e8 fmt: single line if 2020-02-21 16:48:45 +01:00
yuyi
15a2927f09
optimize table.all_test_function_names 2020-02-21 16:29:41 +01:00
Alexander Medvednikov
e9931e6f84 fmt: wrap_long_line() 2020-02-21 16:14:15 +01:00
Alexander Medvednikov
728aeb8092 fmt: wrap long lines 2020-02-21 15:32:48 +01:00
Alexander Medvednikov
b309e7d0e5 type_to_str() 2020-02-21 14:47:42 +01:00
Alexander Medvednikov
6dac2edeef checker: is_number() 2020-02-21 13:44:03 +01:00
yuyi
527377dc86
fix os_test.v 2020-02-21 12:24:13 +01:00
Delyan Angelov
d90a291c5e
ui: cleanup warnings from glm module 2020-02-21 12:20:59 +01:00
ka-weihe
6b706a0c99
Add FastestHash to cheaders.v 2020-02-21 12:20:03 +01:00
joe-conigliaro
8bb8b7d76e v2: add ability to store extra information with Type such as optional 2020-02-21 21:44:06 +11:00
Alexey
8677a5981c
os: use unified way to deprecate functions 2020-02-20 23:00:02 +01:00
Delyan Angelov
88b402fcf8
bugfix: v should not panic when encountering a file that consists only of comments 2020-02-20 22:59:47 +01:00
Alexander Medvednikov
e56bf42270 v2: xor, for x = ... 2020-02-20 21:28:08 +01:00
Alexey
c85ccad0a6
string: update check if a char is a space 2020-02-20 20:14:54 +01:00
Alexey
e4de1e1e89
string: add more test cases 2020-02-20 20:14:21 +01:00
Alexander Medvednikov
7705281459 map: use hashmap instead of b-tree 2020-02-20 20:05:06 +01:00
Alexander Medvednikov
ab8d883fee fix wyhash.h 2020-02-20 18:45:44 +01:00
Alexander Medvednikov
5d5373764e embed wyhash.h 2020-02-20 18:38:05 +01:00
Alexander Medvednikov
f413b2fa49 Revert "map: use hashmap instead of b-tree"
This reverts commit 34d926350b.
2020-02-20 17:58:17 +01:00
ka-weihe
34d926350b
map: use hashmap instead of b-tree 2020-02-20 17:28:20 +01:00
Alexander Medvednikov
e35f8e9e23 checker: return errors 2020-02-20 17:05:16 +01:00
Alexander Medvednikov
296e736f5b checker: minor fixes 2020-02-20 16:16:44 +01:00
joe-conigliaro
72bbec89a9 v2: fix error in checker, continue instead of break 2020-02-21 00:20:08 +11:00
joe-conigliaro
6f7c103e50 v2: checker use kind instead of idx 2020-02-20 23:27:23 +11:00
joe-conigliaro
e7e2c68d09 v2: allow type with str method to be used as fn string argument 2020-02-20 23:18:55 +11:00
Alexander Medvednikov
c099cd8bf6 pratt: fix precedence 2020-02-20 12:59:05 +01:00
Alexander Medvednikov
0074976636 checker: exit if there are errors 2020-02-20 12:05:53 +01:00
yuyi
8be07194c7
string: fix capitalize 2020-02-20 11:33:38 +01:00
yuyi
d51019dd77
unify vexe_path 2020-02-20 11:33:01 +01:00
joe-conigliaro
fcd97f513a v2: module/type/fn name fixes, compile fixes 2020-02-20 21:13:18 +11:00
joe-conigliaro
aab1045045 v2: reorder types idxs, > string defined with v struct. rm unresovled 2020-02-20 11:39:59 +11:00
penguindark
d2cb5ad725
math.bits: make certain functions public + small fixes 2020-02-20 01:31:42 +01:00
Alexander Medvednikov
92e3e48bce v2: checker: [] and in 2020-02-19 21:13:42 +01:00
Alexander Medvednikov
e30bd04579 fix fmt test 2020-02-19 19:57:21 +01:00
Alexander Medvednikov
ec3d67c19f checker: print multiple errors; none 2020-02-19 19:54:42 +01:00
SleepyRoy
d91945cc99
parser: some pure logic code simplifications 2020-02-19 19:43:57 +01:00
Alexander Medvednikov
31b74f02b6 doc: handle submodules 2020-02-19 16:21:46 +01:00
Alexander Medvednikov
092c09d81f vdoc using the new parser 2020-02-19 16:13:34 +01:00
yuyi
391da0ba07
string: optimize starts_with and ends_with 2020-02-19 15:18:09 +01:00
joe-conigliaro
e4179c0008 v2: more array init & index expr fixes 2020-02-20 00:34:44 +11:00
joe-conigliaro
478c48cd6f Merge branch 'master' of https://github.com/vlang/v 2020-02-19 21:45:45 +11:00
joe-conigliaro
69634c60b3 v2: start to fix index expr for map/array/fixed array 2020-02-19 21:45:06 +11:00
joe-conigliaro
42399d24d9 v2: fix index expr for fixed array & map 2020-02-19 21:39:30 +11:00
Alexander Medvednikov
082acfad49 v2: fix more ast positions 2020-02-19 11:31:33 +01:00
Alexander Medvednikov
bc11419ff9 v2: fix for position and check 2020-02-19 11:06:36 +01:00
joe-conigliaro
042bce4b6c v2: dont preifx C fns with module & add todo 2020-02-19 18:08:08 +11:00
joe-conigliaro
83bfd0805e v2: prefix functions with module, except in main & builtin 2020-02-19 17:16:38 +11:00
joe-conigliaro
9b271d1728 v2: remove left over testing printlns 2020-02-19 16:06:16 +11:00
joe-conigliaro
f91bded9b3 v2: add missing table/modules.v 2020-02-19 13:11:55 +11:00
joe-conigliaro
b62a90a212 v2: module/import fixes, use parent_idx instead of parent ptr to remove need to preallocate types array 2020-02-19 13:09:35 +11:00
Alexey
200d3e6446
vfmt: process imports and module name 2020-02-18 22:35:14 +01:00
SleepyRoy
aaf3ced750
parser: add type check for +=, -=, *=, /= 2020-02-18 22:14:52 +01:00
Alexander Medvednikov
19520ccf4e v2: for in checker 2020-02-18 21:59:42 +01:00
Alexey
39c4842bf9
vfmt2: skip arg type if possible 2020-02-18 21:02:43 +01:00
Alexander Medvednikov
c314ab7b60 fix cmdline_test.v 2020-02-18 20:31:15 +01:00
Alexander Medvednikov
31c1483b9d vfmt2: fn args, comments 2020-02-18 20:20:15 +01:00
Alexander Medvednikov
480af3f381 v2: checker fixes 2020-02-18 20:06:01 +01:00
Delyan Angelov
290feaac51
vfmt2: allow running the new vfmt with 'v fmt -2' 2020-02-18 20:00:06 +01:00
Delyan Angelov
b991ca4ebc
vfmt2: more convenient way to test multiple files for correct formatting 2020-02-18 17:54:14 +01:00
Alexander Medvednikov
4e9bfa95ec v2: the new parser can now parse the entire V compiler 2020-02-18 17:45:59 +01:00
Alexander Medvednikov
4de8d3ae8c parser: short struct syntax for all structs 2020-02-18 16:25:09 +01:00
joe-conigliaro
67756c53dc
v2: more cleanup (#3765) 2020-02-18 18:58:20 +11:00
yuyi
392eb1fb55
fix vlib/compiler/aparser.v (#3764) 2020-02-18 18:45:04 +11:00
Alexander Medvednikov
ed01ab763c v2/vfmt2: more fixes 2020-02-18 03:28:41 +01:00
joe-conigliaro
ecb0af36b3
v2: cleanup old & unused code, add new simple tmp vars in cgen 2020-02-18 03:17:21 +01:00
vitalyster
2e1dbd9f5a
windows: use %USERPROFILE% for os.home_dir() 2020-02-18 02:12:10 +01:00
Alexander Medvednikov
2ea2fed8a5 vfmt: minor clean up 2020-02-17 22:52:48 +01:00
Alexander Medvednikov
59beec8fae new vfmt using the new parser 2020-02-17 22:50:11 +01:00
prime31
a2838ae6f3
array: add array.trim() 2020-02-17 20:31:40 +01:00
yuyi
6849a4e770
filepath: path separator (#3756) 2020-02-17 20:31:23 +01:00
Daniel Däschle
6079025985
gg: add option to decorate window 2020-02-17 20:29:09 +01:00
Alexander Medvednikov
53f8ae6517 fix prod build 2020-02-17 14:30:01 +01:00
Alexander Medvednikov
1dd6491a2f v2: more parser fixes 2020-02-17 14:15:49 +01:00
joe-conigliaro
d7f74ecf52
v2: move more type handling to checker + some clean up 2020-02-17 12:25:18 +01:00
penguindark
80861f2219
scanner: exponent without sign 2020-02-17 02:35:01 +01:00
joe-conigliaro
1007dd8f23
v2: update parse type not to prefix builtin types with module 2020-02-16 16:16:19 +01:00
Delyan Angelov
195f3f465b
option to disable bounds checking; examples/path_tracing.v: optimizations 2020-02-16 16:13:45 +01:00
yuyi
e272a10bda
vfmt fixes 2020-02-16 12:42:28 +01:00
Alexander Medvednikov
9eeb3dfe7e v2: temporary string cast fix 2020-02-16 12:38:15 +01:00
Alexander Medvednikov
6d8ad58515 v2: mod.Type 2020-02-16 12:31:44 +01:00
joe-conigliaro
dc90f4f4a6
v2: remove unresolved types; handle types in checker; add ast.scope 2020-02-15 13:37:48 +01:00
Alexander Medvednikov
8dd905a14d v2: more parser fixes 2020-02-13 14:08:19 +01:00
Alexey
8d76f7d195
v2: remove redundant EOL normalization in cgen test 2020-02-12 23:19:17 +01:00
Alexander Medvednikov
9d46fb9f90 v2: [] expr for known arrays; p.expected_type 2020-02-12 17:39:51 +01:00