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

2193 Commits

Author SHA1 Message Date
Joe Conigliaro
89cbe76193 v: run cast expr through checker 2020-03-07 00:36:32 +11:00
Alexander Medvednikov
6b6031a3d9 cgen: fix struct init; match SumType1, SumType2 2020-03-06 14:14:33 +01:00
Joe Conigliaro
3de3b38dc1 v: udpate elem_type in ArrayInit node & tests 2020-03-07 00:06:52 +11:00
Alexander Medvednikov
fb785b8adf cgen: optimize const definitions 2020-03-06 14:03:35 +01:00
Alexander Medvednikov
91269961d0 cgen: array types 2020-03-06 13:44:13 +01:00
Joe Conigliaro
7f6b98669e v2: fix tests - gen output 2020-03-06 22:06:41 +11:00
Joe Conigliaro
24dbfbcccf v2: fix struct sorting & cgen tests 2020-03-06 22:01:56 +11:00
Joe Conigliaro
49f3ce0571 v2: add method call receiver to cgen & check method args 2020-03-06 20:52:03 +11:00
Alexander Medvednikov
7a92a47eb3
flag: fix array boundary check 2020-03-06 02:02:32 +01:00
Alexander Medvednikov
efb45579aa
pg: add port to config 2020-03-06 02:01:53 +01:00
Joe Conigliaro
7008b1a92c v2: update ident name for resolved const/fn objects 2020-03-06 10:10:01 +11:00
Alexander Medvednikov
04d5dd8997 cgen: sort structs 2020-03-05 23:27:24 +01:00
Alexander Medvednikov
a8e45251c4
sync.pool: simplify usages of pool.work_on_items 2020-03-05 18:37:57 +01:00
Alexander Medvednikov
9c1e50b1aa
vdoc: don't show deprecated functions 2020-03-05 16:13:14 +01:00
Alexander Medvednikov
6659f1751e
ast: make IdentInfo public 2020-03-05 14:16:08 +01:00
Joe Conigliaro
8ad8d03bc8 v2: remove test code from last commit in parser 2020-03-06 00:00:34 +11:00
Joe Conigliaro
272eaaa704 v2: remove type fields from parser & some cleanup 2020-03-05 23:57:05 +11:00
Alexander Medvednikov
38a54b08e3
doc: don't modify path to vlib 2020-03-05 13:48:06 +01:00
Joe Conigliaro
9921897aa6 v2: add some comments in parser & checker 2020-03-05 22:44:33 +11:00
Joe Conigliaro
6de44db4eb v2: update checker. missing from previous commits 2020-03-05 22:30:16 +11:00
Joe Conigliaro
ee6a8a41f5 v2: remove expr type from fn.v 2020-03-05 22:13:45 +11:00
Joe Conigliaro
4d55a4c097 v2: remove expr types & some dead code from parser 2020-03-05 22:08:43 +11:00
Alexander Medvednikov
bcaf72eccb cgen: update the test 2020-03-05 01:36:44 +01:00
Alexander Medvednikov
484320ed08 cgen: receiver arg 2020-03-05 01:20:36 +01:00
Alexander Medvednikov
b32a94627c cc: -ferror-limit 2020-03-05 00:45:43 +01:00
Alexander Medvednikov
4161cfcdb8 cgen: lots of fixes 2020-03-05 00:43:09 +01:00
Alexander Medvednikov
b7e2af8151
os: better deprecated message 2020-03-04 20:29:17 +01:00
Alexander Medvednikov
b0ece3a9d8
sync: implement pool.work_on_items to process a list of items in parallel 2020-03-04 20:28:42 +01:00
Alexander Medvednikov
136aa763a3 cgen: multi return structs + other fixes 2020-03-04 20:17:29 +01:00
Alexander Medvednikov
cd8a5d1f2e fix parser_test.v and string_test.v 2020-03-04 17:39:27 +01:00
Alexander Medvednikov
237ce6ff84 cgen_test: skip definitions 2020-03-04 17:35:13 +01:00
Alexander Medvednikov
c203a744fe glm: fix calloc 2020-03-04 17:22:20 +01:00
Alexander Medvednikov
f27f832ede cgen: definitions + other fixes; calloc fix 2020-03-04 17:08:28 +01:00
Alexander Medvednikov
37453945d0 cgen: remaining nodes; match type fix; v2.c is now generated 2020-03-04 15:48:43 +01:00
Joe Conigliaro
8458ea40f0 v2: add UnsafeStmt to checker & byte/byteptr to check 2020-03-05 00:20:37 +11:00
Joe Conigliaro
7daf8f8fd0 v2: simplify MatchExpr in vfmt 2020-03-04 22:39:18 +11:00
Joe Conigliaro
5872961124 v2: update MatchExpr in vfmt 2020-03-04 22:14:37 +11:00
Joe Conigliaro
e71948461e v2: update MatchExpr 2020-03-04 21:59:45 +11:00
Joe Conigliaro
ed763df42e v2: tidy checker remove old comments & code 2020-03-04 21:08:46 +11:00
Joe Conigliaro
d501ea0afb v2: fix array init 2020-03-04 12:50:32 +11:00
Joe Conigliaro
bac6fc6ee2 v2: remove test println from checker 2020-03-04 09:49:14 +11:00
Joe Conigliaro
ea26b5f30c v2: fix fn call name lookup 2020-03-04 09:46:59 +11:00
Alexander Medvednikov
823b8ad244 table: Type str() 2020-03-03 18:38:41 +01:00
Alexander Medvednikov
2a99422386 cgen: more nodes; exit if there are checker errors 2020-03-03 18:37:38 +01:00
Alexander Medvednikov
0c67b3cff4 checker: fix match return type 2020-03-03 17:29:16 +01:00
Joe Conigliaro
c633dd09c6 v2: dont use type type in << infix in parser 2020-03-04 02:08:40 +11:00
Joe Conigliaro
063ca3b644 v2: make array append << right associative 2020-03-04 02:05:16 +11:00
Joe Conigliaro
147ecc5e17 v2: time - prefix C struct & ast.TypeName to ast.Type 2020-03-04 01:06:21 +11:00
yuyi
448ed41562
os api: rmdir_recursive => rmdir_all 2020-03-03 15:02:50 +01:00
yuyi
3f67ba08b1
glfw, freetype: remove the display of general information 2020-03-03 14:41:26 +01:00
Hugo Locurcio
69f256b900
use LF line endings in examples/quick_sort.v 2020-03-03 14:41:05 +01:00
Joe Conigliaro
af3159791f v2: reset expr_mod after struct_init type is parsed 2020-03-04 00:24:15 +11:00
Delyan Angelov
90996269fd
compiler: more precise default error context for C errors 2020-03-03 12:01:23 +01:00
yuyi
ea10f44fe6
os api: flush_stdout => flush 2020-03-03 00:00:30 +01:00
Joe Conigliaro
895a1711cb v2: fix type aliases & add check 2020-03-03 09:19:04 +11:00
yuyi
8ac0739858
os api: cp_r => cp_all 2020-03-02 19:30:04 +01:00
Alexander Medvednikov
22ffe336cb checker: AsCast, CharLiteral, fix integer index check 2020-03-02 19:00:33 +01:00
Alexander Medvednikov
156e36c082 cgen: handle unhandled nodes 2020-03-02 18:43:41 +01:00
Alexander Medvednikov
07a2233220 fix prod build 2020-03-02 18:28:11 +01:00
Alexander Medvednikov
baaa55f196 cgen: fix methods; println 2020-03-02 18:27:00 +01:00
Alexey
78c885d657
fmt: add support for goto 2020-03-02 17:41:32 +01:00
Delyan Angelov
c6107276df
compiler: stabilize the interface code generation a little 2020-03-02 17:10:26 +01:00
Alexey
8fafaf38a3
fmt: add function with variadic arg to test file 2020-03-02 17:10:06 +01:00
Alexey
cca5c5537f
fmt: extract common code to methods 2020-03-02 17:09:45 +01:00
Joe Conigliaro
8497d637d9 v2: allow pointers to be initialized with 0 2020-03-02 23:52:41 +11:00
Joe Conigliaro
5b08f307c8 v2: fix map initialization 2020-03-02 22:34:02 +11:00
Joe Conigliaro
16528b12fa v2: allow enum value to be used as int 2020-03-02 21:32:28 +11:00
Joe Conigliaro
f57a651e3b v2: match expr fixes & tmp typeof skip 2020-03-02 20:53:38 +11:00
joe-conigliaro
a8f07157dd v2: implement sym types & handle in table.check 2020-03-02 16:40:18 +11:00
joe-conigliaro
b65fad9ca8 v2: fix if guard var type & handle blank ident in assign 2020-03-02 16:05:40 +11:00
joe-conigliaro
a118c72423 v2: checker - save type in MapInit node 2020-03-02 14:24:45 +11:00
joe-conigliaro
b333d02e3b v2: allow none & error for functions that return optional - checker 2020-03-02 13:58:36 +11:00
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