yuyi
b3b86ea6d7
cgen: fix array_init has len but no init error
2020-05-19 18:33:24 +02:00
spaceface777
b10df252dc
all: replace `is_c`, `is_js` with `language`
2020-05-19 17:12:47 +02:00
yuyi
74686d0ec4
test: fix alias type errors and type_test.v
2020-05-19 15:04:51 +03:00
Ned Palacios
bd85d2fd2a
vfmt: make methods and structs public, to be used in vdoc
2020-05-19 14:19:37 +03:00
spaceface777
e07869af91
builder: fix false-positive import cycle warning
2020-05-19 14:17:03 +03:00
Delyan Angelov
931c846602
os: cleanup code duplication for os.create and os.open
2020-05-19 13:38:06 +03:00
Alexander Medvednikov
03525843a0
parser: do not allow calling private functions
2020-05-18 22:54:11 +02:00
Uwe Krüger
2635be511f
all: re-apply C++ support
2020-05-18 21:38:06 +02:00
Alexander Medvednikov
895cefe351
parser: do not allow defining methods on types from other modules
2020-05-18 20:55:22 +02:00
Alexander Medvednikov
57ea9bec30
tests: vfmt test for all vlib/v files
2020-05-18 18:43:07 +02:00
Tanel Liiv
2344c1a435
parser: fix to multi-expr
2020-05-18 18:33:27 +02:00
Alexander Medvednikov
b1bf5f0edc
vfmt: wrap long sum type definitions
2020-05-18 18:08:32 +02:00
Alexander Medvednikov
5c0c418818
ast: vfmt ast.v
2020-05-18 18:06:09 +02:00
Alexander Medvednikov
07a78b2843
Revert "all: C++ compiler support"
...
This reverts commit 9a237c3e82
.
2020-05-18 17:05:48 +02:00
Alexander Medvednikov
fc900baf9e
parser: a minor simplification
2020-05-18 17:02:29 +02:00
Alexander Medvednikov
90270d8791
vfmt: handle fixed size arrays
2020-05-18 16:52:12 +02:00
Uwe Krüger
9a237c3e82
all: C++ compiler support
2020-05-18 15:51:36 +02:00
Alexander Medvednikov
d325cdba0d
checker: fmt
2020-05-18 15:43:52 +02:00
Ned Palacios
d94d436273
table, vfmt: fix typ_to_string + some fixes to vfmt
2020-05-18 15:37:06 +02:00
Ned Palacios
ae3df002a2
vmod: add v.mod parser
2020-05-18 14:35:28 +02:00
Delyan Angelov
53ffee1e02
compiler: respect -showcc, -prod, -cg, when cross compiling for windows
2020-05-18 12:11:26 +03:00
Alexander Medvednikov
4f307c1a78
checker: requre & in struct init; http: chunked encoding
2020-05-18 05:11:00 +02:00
Leah Lundqvist
88e6d987d6
js: imports and anon_fn
2020-05-17 21:39:01 +02:00
Swastik Baranwal
d697b2848a
checker: more checks for in and !in
2020-05-17 17:03:32 +02:00
spaceface777
0def084932
checker: fix JS name regression
2020-05-17 16:23:09 +02:00
Delyan Angelov
627400723c
x64 gen: improve error handling for unknown nodes
2020-05-17 15:45:17 +03:00
iRedMail
4a70d2fe51
examples: fix 2 unused var warnings
2020-05-17 14:15:04 +02:00
yuyi
7f4cf08516
parser: check `(mut f Foo)` syntax
2020-05-17 13:51:18 +02:00
Hungry Blue Dev
b138cadbcb
math.fractions: add approximation.v and tests
2020-05-17 12:00:29 +03:00
yuyi
02fb393747
test: fix vrepl and cast test errors
2020-05-17 02:13:08 +02:00
Alexander Medvednikov
81148fa2bd
cmd/v: version: print only main repo hash
2020-05-16 23:52:06 +02:00
Alexander Medvednikov
8cbb9e1c1f
pref: move parse_define()
2020-05-16 22:57:55 +02:00
Alexander Medvednikov
5b15b8ccc9
checker: do not allow casting strings
2020-05-16 22:52:41 +02:00
Alexander Medvednikov
6e4ae5a5e6
checker: do not allow casting strings
2020-05-16 22:48:45 +02:00
asvvvad
e245e22875
os: make exists_in_system_path function public
2020-05-16 22:46:05 +02:00
Alexander Medvednikov
0845b2cfbe
builder: skip warnings; pref: move pref creation to pref.v
2020-05-16 22:45:38 +02:00
Delyan Angelov
62cb48d252
repl: treat middle imports in a more forgiving way
2020-05-16 22:03:28 +03:00
yuyi
6855996cca
cgen: fix array_init_with_default
2020-05-16 19:05:26 +02:00
penguindark
48659f4145
regex: small fixes, '-' minus to char classes, remove all C.printf
2020-05-16 17:11:13 +02:00
asvvvad
57dd26650c
os: add new function exists_in_system_path
2020-05-16 17:10:34 +02:00
yuyi
655d9bda94
cgen: remove extra `;` from if_expr
2020-05-16 17:09:57 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names
2020-05-16 16:12:23 +02:00
Swastik Baranwal
37cf46d67a
checker: add more checks for modulo
2020-05-16 15:32:46 +02:00
yuyi
9b6ee8e77d
cgen: array_init_with_default
2020-05-16 15:21:37 +02:00
Delyan Angelov
789b75df92
cheaders: fix _MOV macro in the C case
2020-05-16 15:51:09 +03:00
Larpon
aa30549337
scanner: fill out '@FN' placeholder at compile time while scanning
2020-05-16 14:20:19 +02:00
Delyan Angelov
034bf46e4d
vlib: remove unused arrays module
2020-05-16 00:20:14 +03:00
Tanel Liiv
44502a3fb2
parser: return multi expr
2020-05-15 23:14:53 +02:00
Alexander Medvednikov
7caebc5781
doc: print available modules
2020-05-15 23:09:38 +02:00
Delyan Angelov
2dbb4c2ca7
live: cleanup
2020-05-15 23:51:40 +03:00
spaceface777
7c9bb44784
parser: allow JS methods with more than 1 dot
2020-05-15 22:26:51 +02:00
Swastik Baranwal
04744a5390
string: add trim_prefix and trim_suffix
2020-05-15 19:37:14 +02:00
Delyan Angelov
5d0cc0944e
parser: fix v_panic due to -pos in unused var warning (with tcc)
2020-05-15 20:11:27 +03:00
Alexander Medvednikov
c4ca6a9113
sokol: make examples compile
2020-05-15 18:55:29 +02:00
Delyan Angelov
465f0ddf60
regex: fix unused variable warnings in regex_test.v
2020-05-15 18:50:54 +03:00
spaceface777
8de6da01d6
jsgen: prefix JS keywords with 'v_'
2020-05-15 15:55:49 +02:00
yuyi
8500c8885c
cgen: fix optional_void error; handle `?` return type
2020-05-15 15:55:03 +02:00
Delyan Angelov
66cb61c242
builtin: cleanup by turning backtrace* fns to ordinary C. fns
2020-05-15 15:52:06 +03:00
Delyan Angelov
e18268e2f4
cheaders: use backtrace* stubs for both android & musl
2020-05-15 15:37:59 +03:00
Delyan Angelov
2c93deb884
builtin: bootstrap for backtrace functions cleanup
2020-05-15 15:08:42 +03:00
Dario Tarantini
f7605c397a
stbi: pub fields in Image
2020-05-15 13:15:04 +02:00
Enzo Baldisserri
d60233b618
cgen: simplify for in range
2020-05-14 22:22:32 +02:00
Alexander Medvednikov
0f251e9ede
checker: handle json.decode correctly
2020-05-14 18:30:30 +02:00
Alexander Medvednikov
f49ef39708
checker: handle unexpected `or` blocks
2020-05-14 18:19:40 +02:00
Alexander Medvednikov
e5d4786371
builder: simplify C error message
2020-05-14 18:14:38 +02:00
Enzo Baldisserri
fd0d833e33
gen: if expressions with multiple statements
2020-05-14 17:15:25 +02:00
wilesun
2a9cbbe157
cgen: handle sizeof(C.struct)
2020-05-14 17:14:59 +02:00
yuyi
6d0b791ac8
parser: warning about unused imports
2020-05-14 17:14:24 +02:00
Alexander Medvednikov
c3fe2135a4
math.fabs
2020-05-14 16:58:20 +02:00
Alexander Medvednikov
2369a5c8c6
cgen: handle `is` for interfaces
2020-05-14 16:56:45 +02:00
yuyi
70b76a8e31
builder: use verror for not found modules
2020-05-14 10:59:29 +03:00
Delyan Angelov
74005b4362
vfmt: handle file paths with spaces
2020-05-14 09:07:14 +03:00
Delyan Angelov
d830620651
compiler: restore support for --enable-globals flag, and add tests.
2020-05-14 08:43:12 +03:00
Alexander Medvednikov
1cb4aa7642
builder: cross compiling for linux, part 1
2020-05-14 04:15:04 +02:00
Alexander Medvednikov
e60e8f3b34
builder: bring back cross compilation for windows
2020-05-13 23:02:31 +02:00
Alexander Medvednikov
1bf26a35fa
array: rename default to init
2020-05-13 22:00:24 +02:00
Alexander Medvednikov
ab7bc760c6
cgen: new Option part 1
2020-05-13 21:59:08 +02:00
Sandro Martini
9895cab51c
tests: add more tests on interfaces
2020-05-13 20:30:18 +02:00
Enzo Baldisserri
1ca04e6113
checker: prevent interface instantiation
2020-05-13 19:20:15 +02:00
Hungry Blue Dev
3270545953
fraction: simplify variable names
2020-05-13 18:39:19 +02:00
yuyi
2e0b9de31c
parser: error for consts in fns
2020-05-13 18:39:02 +02:00
Enzo Baldisserri
172e4ff853
cgen: simplify if guard else clause
2020-05-13 18:38:00 +02:00
Alexander Medvednikov
33a9822548
parser/vfmt: handle array len and default in array init
2020-05-13 16:11:52 +02:00
Alexander Medvednikov
db5036686b
checker: make `type is private` warning an errror
2020-05-13 14:21:52 +02:00
yuyi
b1511ce995
parser: optimize no main file process
2020-05-13 14:02:04 +02:00
Tanel Liiv
af334e320c
cgen: dereference in one place and fix
2020-05-13 01:01:34 +02:00
Alexander Medvednikov
3e6f7d3eb6
freetype: minor fixes
2020-05-13 00:50:46 +02:00
Alexander Medvednikov
7a5a4df4c6
checker: handle `println()`
2020-05-12 19:38:46 +02:00
yuyi
7837abf6b0
parser: optimize stmt()
2020-05-12 17:18:25 +02:00
yuyi
99b31d8241
parser: unified way to handle struct and enum name check
2020-05-12 13:39:32 +02:00
Alexander Medvednikov
712fd384ee
parser: fix eval not used in match
2020-05-12 00:26:39 +02:00
Alexander Medvednikov
27d3800cc3
parser: bring back "evaluated but not used"
2020-05-12 00:19:45 +02:00
Alexander Medvednikov
1c8e14c77c
vfmt: handle comments in const blocks
2020-05-12 00:09:59 +02:00
yuyi
dea2658a80
checker: minor optimization in infix_expr
2020-05-11 23:50:13 +02:00
Kris Cherven
d359a7aefb
cgen: fix a goto error
2020-05-11 23:49:08 +02:00
JalonSolov
649a0140fd
x64: fix NUL at end of strings, and length
2020-05-11 16:50:36 +02:00
Alexander Medvednikov
e9177faf17
checker: allow `*x = y` only inside unsafe blocks
2020-05-11 16:05:59 +02:00
Alexander Medvednikov
2618b4fbd3
Revert "tests: add more tests on interfaces "
...
This reverts commit 538662d99a
.
2020-05-11 15:19:55 +02:00
Alexander Medvednikov
aacc35db19
pref: do not enable globals by default
2020-05-11 15:19:47 +02:00
Sandro Martini
538662d99a
tests: add more tests on interfaces
2020-05-11 15:13:03 +02:00
kdmult
ea8fcb3981
cgen: fix nested conditional statements
2020-05-11 15:11:48 +02:00
Alexey
6f2dcd819f
parser: force visibility of interface methods
2020-05-11 15:10:26 +02:00
Alexander Medvednikov
828f9af64c
checker: fmt
2020-05-11 14:38:25 +02:00
Alexander Medvednikov
8a6820d1b7
checker: revert fmt for now
2020-05-11 14:32:41 +02:00
Alexander Medvednikov
ce03761375
parser: fix mut args with the new syntax; checker: fmt
2020-05-11 14:16:20 +02:00
joe-conigliaro
2a40665919
ast/checker: cast no longer needed & use auto deref
2020-05-11 20:02:28 +10:00
Kris Cherven
8bc0c31f29
parser: add error for variables, that are evaluated, but not used
2020-05-11 11:13:36 +03:00
Kris Cherven
3a3d00ac72
checker: prevent C error on const mutation
2020-05-11 11:09:58 +03:00
Ned Palacios
38277d1dac
cgen: fix gen_str_for_struc when called on a struct with a pointer field
2020-05-11 11:08:21 +03:00
joe-conigliaro
1b3cd7abe0
cgen: fix sum type assign/push from in match branch & type mod
2020-05-11 16:59:55 +10:00
yuyi
64ba59590e
cgen: fix multiple assign error
2020-05-11 09:45:11 +03:00
joe-conigliaro
74cc2b2a68
table: add function return type check
2020-05-11 14:47:39 +10:00
Hungry Blue Dev
e52d35bf16
math.fraction: improve documentation, remove unnecessary mut modifiers
2020-05-11 07:20:55 +03:00
yuyi
14bba54ddc
vrepl: fix array_init error
...
* optimize print conditions
2020-05-11 07:15:08 +03:00
Fabien Salathe
c9c956fc8a
flag: fix a comment with an example
2020-05-10 22:27:14 +02:00
Alexey
71c2b26103
checker: fix checking uninitialized refs
2020-05-10 22:26:47 +02:00
Enzo Baldisserri
b09fd66aa2
gen: fix interface pointers
2020-05-10 21:16:22 +02:00
Louis Schmieder
40aad27a67
pg: remove `pg.`
2020-05-10 21:16:03 +02:00
Delyan Angelov
7c5905164e
glm: remove unused variable (prevents compiling ui with -prod)
2020-05-10 19:59:26 +03:00
Delyan Angelov
1bf13f8a09
v version: do more accurate current git hash detection, when not on a branch
2020-05-10 18:56:19 +03:00
Alexander Medvednikov
a2d120b583
cgen: fix reassignment of optionals
2020-05-10 17:41:33 +02:00
eyelash
1722171adc
compiler: color only the relevant part of the source code in error messages
2020-05-10 17:24:29 +02:00
Louis Schmieder
3ec2608d6b
glm: matrix multiplication; docs: toc
2020-05-10 16:49:29 +02:00
eyelash
72dfe11fa5
scanner: add a colon to error messages ( #4818 )
2020-05-10 16:29:15 +02:00
eyelash
f396f70ae7
repl: fix newline in error messages
2020-05-10 16:26:56 +02:00
Sumeet Chhetri
8dc0c5a699
cgen: C++ compiler support - Part 1
2020-05-10 16:26:21 +02:00
Hungry Blue Dev
8aba3eaa07
math.fractions: refactor and add more tests
2020-05-10 16:25:33 +02:00
joe-conigliaro
a73660a4c3
checker/cgen: simplify assigning fn to var
2020-05-11 00:13:30 +10:00
yuyi
0606d26ba7
csv: fix field multiple lines error
2020-05-10 14:19:26 +02:00
eyelash
eabc72d4fe
compiler: print underlines in the same color as the error
2020-05-10 12:27:46 +02:00
Ned Palacios
5f0ad0f562
compiler: add output mode for errors and warnings, support for `-silent` flag
2020-05-10 12:26:57 +03:00
Ned Palacios
01de1b6375
parser: fix JSON encode function name on invocation
2020-05-10 10:30:35 +03:00
Delyan Angelov
edb921f463
sync: mark sync.WaitGroup and sync.Mutex with [ref_only]
2020-05-10 08:58:54 +03:00
yuyi
7f69c2fbf5
parser: check `import` in the middle of file error
2020-05-10 07:47:20 +03:00
pancake
76eec7b6ea
readline: fix input echo issue on musl-based systems
2020-05-10 07:39:31 +03:00
yuyi
ba3a631954
parser: check for module statement errors
2020-05-10 02:28:56 +02:00
yuyi
85723e3799
checker: check for_in_map using one variable error
2020-05-10 02:28:43 +02:00
Alexander Medvednikov
10da871743
checker: handle unknown fields in fail_if_immutable
2020-05-10 02:07:15 +02:00
Alexander Medvednikov
09f6cd6a75
parser/checker: [ref_only] attribute
2020-05-09 23:45:41 +02:00
Alexander Medvednikov
3052266a40
live: make compile; pref: allow _linux.v etc
2020-05-09 20:31:50 +02:00
Alexander Medvednikov
d7c4630d33
checker: make pub field check an error
2020-05-09 18:34:07 +02:00
yuyi
53989daf9a
csv: fix empty line error
2020-05-09 17:35:03 +02:00
yuyi
3eeef6203e
checker: check for map_init key duplicate
2020-05-09 16:55:38 +02:00
Alexander Medvednikov
dea9ca2491
cgen: fix a big with &Foo{} init
2020-05-09 15:23:48 +02:00
Alexander Medvednikov
c64f8b0d1f
parser/checker: pub: struct fields
2020-05-09 15:16:48 +02:00
Delyan Angelov
809676a856
cgen: fix a sporadic segfault when giving -width in a string interpolation
2020-05-09 15:23:37 +03:00
yuyi
5f435fa1cc
parser: check enum name and field name errors
2020-05-09 12:43:10 +02:00
ka-weihe
85763d0539
map: faster get and exists
2020-05-09 12:42:01 +02:00
Tanel Liiv
7815a5495c
checker: handle multireturn fn calls as if/match last expressions
2020-05-08 22:49:45 +02:00
pancake
b5bf0eeac5
time: add .no_delimiter format option
2020-05-08 21:23:26 +03:00
Sandro Martini
910a8934cb
checker: fix typo on error message and related test
2020-05-08 21:21:47 +03:00
Delyan Angelov
4b347ff148
v self: force the subprocess to show colors
2020-05-08 19:04:24 +03:00
Alexander Medvednikov
6ea741e26e
Revert "tests: valgrind: enable string tests"
...
This reverts commit 1ea13ac7f3
.
2020-05-08 16:18:14 +02:00
Alexander Medvednikov
1ea13ac7f3
tests: valgrind: enable string tests
2020-05-08 13:18:27 +00:00
Ned Palacios
5b47ec49af
parser: add support for multiple struct field attributes
2020-05-08 15:09:42 +02:00
Alexander Medvednikov
c29f76454e
cgen: clone strings in struct_init()
2020-05-08 15:07:53 +02:00
yuyi
ef505e21ee
parser: check for import errors
2020-05-08 16:01:54 +03:00
Alexander Medvednikov
2f4fc86d58
checker: fix unknown var enum crash
2020-05-08 15:00:06 +02:00
Hungry Blue Dev
dbb3c2a4cd
math.fractions: improve `.equals()`
2020-05-08 15:39:23 +03:00
Delyan Angelov
e08566d571
compiler: do not exit early, when given -o x.c or -o x.js
2020-05-08 15:31:03 +03:00
Delyan Angelov
4c320e1512
profile: support for -profile-no-inline (with it, [inline] fns will not get profiled)
2020-05-08 15:01:59 +03:00
Alexander Medvednikov
847a1035a5
cgen: use tos_lit
2020-05-08 13:25:23 +02:00
Ned Palacios
13b11a4155
parser: fix struct attribute for array struct field
2020-05-08 13:09:40 +02:00
Delyan Angelov
fec7f0f0b9
cgen: fix auto .str() generation for []&T, and `fn (t &T) str() string{}`
2020-05-08 12:48:07 +03:00
yuyi
8866773f97
vrepl: fix import and comment error in the middle of other lines
2020-05-08 09:34:59 +03:00
Uwe Krüger
722a2c71c3
builtin: new_array: cap should not be less than len
2020-05-07 22:41:41 +02:00
Delyan Angelov
673acdbd00
tcc: fix selfcompilation with tcc. Temporarily disable crashing interface test
2020-05-07 20:59:45 +03:00
Delyan Angelov
7207a4970b
solaris: fix tests
2020-05-07 16:19:21 +00:00
Alexander Medvednikov
8cfb2ad6c9
string: is_lit
2020-05-07 18:05:57 +02:00
Alexander Medvednikov
ef387779bf
cgen: fix -autofree
2020-05-07 17:51:30 +02:00
Alexander Medvednikov
3c6e090ae3
ci: test broken -autofree
2020-05-07 17:45:00 +02:00
Alexander Medvednikov
be063d740b
ci: test self compilation with -autofree
2020-05-07 17:37:12 +02:00
yuyi
d096763f62
token: change 'STR' kind to 'string'
2020-05-07 16:26:22 +02:00
Tanel Liiv
d0afa748ff
cgen: optional multiple return values
2020-05-07 15:36:04 +02:00
Alexander Medvednikov
12221fb999
cgen: fix msvc struct init
2020-05-07 13:11:24 +02:00
Alexander Medvednikov
6ff93f270c
cgen: simplify struct_init()
2020-05-07 13:00:42 +02:00
yuyi
78efe72c4c
checker: optimize check string cast error
2020-05-07 12:34:06 +02:00
Don Alfons Nisnoni
0a930f9862
bitfield: rename functions, getsize => get_size, etc.
2020-05-07 11:21:14 +03:00
Enzo Baldisserri
0f8ed84333
checker: verify interface is not used as receiver
2020-05-07 11:14:51 +03:00
Major Taylor
7d32476841
math: extract platform specific wrapper functions to math.c.v and math.js.v
2020-05-07 08:47:24 +03:00
yuyi
2f52106253
parser: use .next instead of .check, when a token is already known
2020-05-07 07:51:36 +03:00
Uwe Krüger
59aa31cee5
cgen: string interpolation: optimize away some partial strings of 0 length
2020-05-07 04:34:18 +02:00
wilesun
19390871e9
json: handle external types
2020-05-07 04:33:19 +02:00
yuyi
98a1b2782b
parser: simplify import
2020-05-07 04:32:29 +02:00
Delyan Angelov
e33805b2b3
json.decode: fix expressions in the second argument, also fixes news_fetcher.v
2020-05-06 21:44:50 +03:00
Tanel Liiv
b5a1544bf8
parser: allow re-assigning fns to variables
2020-05-06 20:09:29 +02:00
Delyan Angelov
f638caef39
compiler: v -autofree can now compile itself
2020-05-06 19:03:51 +03:00
Delyan Angelov
88ef0a75e2
ci: pass V_CI_MUSL=1 on musl CI jobs
2020-05-06 15:10:47 +03:00
Alexander Medvednikov
8d2a4d2436
clipboard: make compile on linux
2020-05-06 12:00:52 +00:00
Alexander Medvednikov
207324d15b
strings.builder: remove unused var; clipboard: linux fixes
2020-05-06 11:44:08 +00:00
Alexander Medvednikov
25db5e96a3
strings.builder: fix a memory leak
2020-05-06 11:12:00 +00:00
Don Alfons Nisnoni
e87289f24d
Fix typo on checker
2020-05-06 13:57:40 +03:00
Alexander Medvednikov
f80876497e
fmt: use the new `mut` syntax in args
2020-05-06 12:43:46 +02:00
Alexander Medvednikov
b4c93349e8
checker: fix interface name check
2020-05-06 12:32:44 +02:00
Alexander Medvednikov
cc66eb1194
parser/checker: check capital letters in interface names/methods
2020-05-06 12:26:00 +02:00
Alexander Medvednikov
99cf520bd4
parser: `mut x Type` syntax for args
2020-05-06 12:13:22 +02:00
yuyi
51f3f31a4e
checker: check string(1) cast error
2020-05-06 12:05:24 +02:00
Don Alfons Nisnoni
5bd3045498
mysql: Using `int.str()` instead of `string(int)`
2020-05-06 12:53:47 +03:00
Enzo Baldisserri
215657e16a
checker: check interface implementation
2020-05-06 11:29:37 +02:00
yuyi
b627bb933c
message: use uniform message reference format
2020-05-06 09:10:40 +03:00
yuyi
c653977c15
cgen: fix struct with map field str() error
2020-05-06 09:08:48 +03:00
Alexander Medvednikov
67351c74c8
V 0.1.27
2020-05-06 02:26:43 +02:00
Don Alfons Nisnoni
67a50b5b34
mysql: simplify `Result.maps`
2020-05-06 00:10:10 +02:00
Enzo Baldisserri
c1f224640f
checker: verify that there is a main module
2020-05-06 00:09:46 +02:00
Alexander Medvednikov
25b536d03f
cgen: str: do not free "true"/"false" literals
2020-05-05 23:25:14 +02:00
Don Alfons Nisnoni
8fbbf488ab
darwin: fix `if ()` warning
2020-05-05 20:07:43 +02:00
Alexander Medvednikov
473ffb5489
builtin: fix a leak in array_str
2020-05-05 18:04:43 +00:00
Sandro Martini
50351eded8
tests: interface: minor fixes
2020-05-05 19:56:11 +02:00
Alexander Medvednikov
fd0f8d06f8
tests: valgrind: use correct flag
2020-05-05 17:55:11 +00:00
Delyan Angelov
9e715b8701
cgen: use c_name() while generating code for `or {}`
2020-05-05 19:28:25 +03:00
Alexander Medvednikov
ff88906e9a
cgen: add `new` to reserved words
2020-05-05 16:50:59 +02:00
Delyan Angelov
ddb5a8e6e4
time: add specialized vpc_now_darwin to fix -os cross
2020-05-05 17:31:21 +03:00
Sandro Martini
dd2a1455dc
tests: add another function to the Animal interface
2020-05-05 16:27:05 +02:00
Tanel Liiv
b16281d6e4
cgen: pass around functions
2020-05-05 16:21:21 +02:00
Alexander Medvednikov
7e71799980
checker: check `none` properly
2020-05-05 15:29:52 +02:00
Alexander Medvednikov
a0ca68ce3f
checker: do not allow `string(int)`
2020-05-05 15:26:42 +02:00
Alexander Medvednikov
c5d295c378
fmt: move struct init logic to a separate fn
2020-05-05 15:06:51 +02:00
Alexander Medvednikov
148661ead6
json: wrap up: encode_array()
2020-05-05 14:54:12 +02:00
Alexander Medvednikov
b3d7b0205a
json: handle field attributes
2020-05-05 14:41:27 +02:00
Delyan Angelov
a3bc32f3e0
builder: use time.new_stopwatch instead of benchmark.new_benchmark (reduces exe size)
2020-05-05 15:31:38 +03:00
Alexander Medvednikov
ee92060d4d
json: decode_array fix
2020-05-05 14:19:31 +02:00
Alexander Medvednikov
ef6c418eb6
json: decode arrays
2020-05-05 13:23:44 +02:00
Steve Phillips
84fc587ec2
cgen: use a temp var in map()
2020-05-05 10:29:23 +02:00
yuyi
6aca3be474
cgen: fix []map[string]string.str() error
2020-05-05 08:46:19 +03:00
Ned Palacios
507e457c0a
builtin: add parenthesis around frame_addr as a workaround
2020-05-05 08:35:26 +03:00
Delyan Angelov
f9fe5b60a7
v doc: skip _x.c.v when not on x, i.e. filter files like v itself
2020-05-05 08:08:03 +03:00
Alexander Medvednikov
621cb7b914
parser: short struct init syntax
2020-05-05 02:12:51 +02:00
Uwe Krüger
a4b6c3fa5d
cgen: hex representation of signed and pointers
2020-05-05 00:24:33 +02:00
Steve Phillips
081338b8bf
checker.v: suggest []Type{}, not []Type
2020-05-05 00:20:32 +02:00
Delyan Angelov
1c945faa15
cgen: fix _to_Interface_INAME conversion fns generation
2020-05-05 00:01:54 +03:00
Delyan Angelov
b5fda6e410
cgen: skip interface outside methods, while generating _interface_methods struct
2020-05-04 22:56:58 +03:00
Alexander Medvednikov
32a7bd3a48
parser/checker: do not allow using private types from other modules
2020-05-04 21:56:41 +02:00
Alexander Medvednikov
9aa1a65489
checker: check match condition
2020-05-04 21:03:18 +02:00
Alexander Medvednikov
9823d80e0c
json: minor fixes + bring back the test
2020-05-04 20:43:22 +02:00
Delyan Angelov
6e1825b417
cgen: prefix with v_ keyword C fn args too
2020-05-04 19:55:21 +03:00
joe-conigliaro
c9798d3918
table: fix check for fn with no args
2020-05-05 02:44:10 +10:00
joe-conigliaro
2bb995274e
table: make table.check ret false & update fn args check
2020-05-05 02:34:11 +10:00
Delyan Angelov
d7e7113047
cgen: fix `for char in nums {}`
2020-05-04 18:57:33 +03:00
joe-conigliaro
b2157388d9
checker: check method args
2020-05-05 01:32:40 +10:00
Delyan Angelov
36bf99ed5a
parser: remove forgotten ----- line
2020-05-04 18:28:55 +03:00
Delyan Angelov
d30eefc3be
fmt: improve handling of map[k]v and []map[k]v types
2020-05-04 18:27:07 +03:00
Alexander Medvednikov
fd8a194df0
json: wrap up decode()
2020-05-04 16:46:39 +02:00
Delyan Angelov
5eb71c4a13
fmt: initial support for -debug
2020-05-04 17:27:41 +03:00
Don Alfons Nisnoni
23df9b052e
mysql: update code & add a feature to get value as map
2020-05-04 14:58:24 +02:00
ka-weihe
f27fd63f8c
builtin: map: one voidptr for all values
2020-05-04 14:56:19 +02:00
Enzo Baldisserri
8fd69e845f
cgen: fix using pointer as interface receiver
2020-05-04 14:21:03 +02:00
Delyan Angelov
0e241162d9
panic: distinguish between builtin and main modules
2020-05-04 14:51:30 +03:00
Delyan Angelov
cdf70c070b
tests: add panic_with_cg.vv/.out
2020-05-04 14:34:51 +03:00
joe-conigliaro
57903247e3
parser: add back struct field removed by accident
2020-05-04 21:27:54 +10:00
yuyi
90fc23ccfb
checker: fix array init []type{cap: x.len} error
2020-05-04 13:22:09 +02:00
Uwe Krüger
f831910c5c
utf: fix string length calculation for combining characters
2020-05-04 13:21:11 +02:00
ka-weihe
a72f3ed0c7
builtin: voidptr.str() and byteptr.str()
2020-05-04 13:20:18 +02:00
joe-conigliaro
d75f286230
parser: store FnDecl body position and use for scope
2020-05-04 20:31:34 +10:00
joe-conigliaro
4571a5eb83
gen: use middle of fn pos to load correct scope for free
2020-05-04 20:08:37 +10:00
yuyi
c112b3aec5
tests: fix cleanup of compiler_test.v on windows
2020-05-04 11:33:54 +02:00
Delyan Angelov
068da2ea0f
builtin: fix warning about unused skipframes
2020-05-04 12:05:08 +03:00
Alexander Medvednikov
eca24c5d11
tests: interface: rename Speaker to Animal
2020-05-04 10:58:42 +02:00
Delyan Angelov
acd80f052b
tests: improve diagnostic output on failure
2020-05-04 11:21:25 +03:00
yuyi
e0e064ff08
scanner: fix string slash line breaks error
2020-05-04 10:19:23 +02:00
yuyi
cd5dccd855
gen: fix compilter_test.v error on windows
2020-05-04 10:09:49 +02:00
Enzo Baldisserri
4b3ce79e84
interface: support arguments in methods and simplify
2020-05-04 00:14:59 +02:00
Delyan Angelov
71a92eb87b
tests: fix CI failing for builtin __as_cast
2020-05-03 22:25:38 +03:00
Delyan Angelov
242670a33d
compiler: add support for panic_debug with -cg
2020-05-03 22:13:59 +03:00
Delyan Angelov
0b750a234f
repl: fix for single lines ending with // comment
2020-05-03 20:48:46 +03:00
Delyan Angelov
845ffb59a6
live: use mostly pure V code for reloading, eases customization
2020-05-03 20:22:24 +03:00
Uwe Krüger
4a096bd133
parser: fix string interpolation for default conversion
2020-05-03 18:12:59 +02:00
Alexander Medvednikov
de749e9d3b
parser/cgen: interface <<; `any` type
2020-05-03 18:08:45 +02:00
Alexander Medvednikov
2a016d03ac
checker: use `[]int` instead of `array_int` in errors
2020-05-03 16:49:05 +02:00
Alexander Medvednikov
2a5421133d
clipboard: Linux fixes
2020-05-03 16:39:26 +02:00
Alexander Medvednikov
361fad9231
tests: disable valgrind test until fn scopes are fixed
2020-05-03 16:29:15 +02:00
Alexander Medvednikov
16fe8103ba
tests: bring back valgrind test
2020-05-03 13:12:05 +02:00
joe-conigliaro
8df7637853
checker: dont re match/cast with position() when already cast to sum type
2020-05-03 14:22:41 +10:00
Delyan Angelov
7e4e3abc2c
compiler: circuimvent the dependency cycle v.ast <-> v.table
2020-05-02 22:52:10 +03:00
Delyan Angelov
dbbfb04e7c
docs: change obsolete -show_c_cmd to -showcc and -keepc
2020-05-02 19:01:53 +03:00
yuyi
02807aab43
interpolation: fix error on windows_gcc
2020-05-02 18:22:34 +03:00
Alexander Medvednikov
b0018ed594
checker: better << error
2020-05-02 16:48:52 +02:00
joe-conigliaro
483f0f408c
ast: allow scope var shadowing
2020-05-02 23:46:53 +10:00
Tanel Liiv
68ca8ab8a4
array: nested map()
2020-05-02 15:26:58 +02:00
Alexander Medvednikov
44c00199b6
cgen: fix fixed array consts and pointer interfaces
2020-05-02 15:18:58 +02:00
joe-conigliaro
a9a8539e41
checker: small fix in assign_stmt
2020-05-02 20:21:28 +10:00
joe-conigliaro
fd925fbd05
checker: simplify assign_stmt & add better checks
2020-05-02 19:45:08 +10:00
Alexander Medvednikov
06d533b0c1
cgen: clean up _STR
2020-05-02 11:11:32 +02:00
eyelash
716d867f25
cgen: generate static C functions
2020-05-02 10:42:38 +02:00
Alexander Medvednikov
06173834c0
cgen: interface_call()
2020-05-02 10:10:52 +02:00
Delyan Angelov
aa9bb6f71a
compiler: fix -live compilation of bounce example with gcc-9 & clang
2020-05-02 02:36:29 +03:00
Alexander Medvednikov
7a51d4d796
cgen: revert `new`
2020-05-02 00:59:06 +02:00
Alexander Medvednikov
7dc98120c0
cgen: vfmt -live fix; add new to c_reserved
2020-05-02 00:45:45 +02:00
Uwe Krüger
170ee4312f
cgen: string interpolation field width support for large integers and utf8 strings
2020-05-02 00:43:59 +02:00
Alexander Medvednikov
2f64594ce0
cgen: more interface fixes
2020-05-02 00:28:46 +02:00
Delyan Angelov
7038f59ca5
compiler: add back support for -live
2020-05-02 01:14:44 +03:00
eyelash
130324df76
compiler: remove debug prints
2020-05-02 00:10:36 +02:00
yuyi
b21be7f670
parser: multiple names error
2020-05-01 18:18:58 +02:00
yuyi
de272654f1
repl: fix import xxx with no fn main error
2020-05-01 18:12:18 +02:00
eyelash
4d04e88679
errors: show line numbers in default color and add a space
2020-05-01 14:46:12 +02:00
eyelash
6b08cbcb7a
compiler: print warnings in magenta
2020-05-01 13:44:15 +03:00
Alexander Medvednikov
0106eb1cf6
cgen: fix thread wrapper
2020-05-01 12:32:10 +02:00
Alexander Medvednikov
0b8a0d1640
checker: fix _ check
2020-05-01 12:22:39 +02:00
joe-conigliaro
fb1c60c53d
checker: add back check struct field fn args
2020-05-01 20:12:21 +10:00
Alexander Medvednikov
c1ee14cc3e
json: decode() part 1
2020-05-01 12:02:31 +02:00
joe-conigliaro
a0e662bef9
checker: remove debug println from selector_expr
2020-05-01 19:54:47 +10:00
joe-conigliaro
03904085c4
checker: check fn field exprs
2020-05-01 19:50:32 +10:00
Delyan Angelov
35f56bc4f0
vfmt: fix eating ? in `$if x ? {}`, missing newline in `__global ...`
2020-05-01 12:29:23 +03:00
Delyan Angelov
59525c8c93
tests: fix missing ? after v fmt run
2020-05-01 12:01:30 +03:00
Delyan Angelov
84785bbb59
tests: fix msvc transient failures when sleep_ms takes longer
2020-05-01 11:58:56 +03:00
Alexander Medvednikov
51da324465
tests: fix eventbus_test.v
2020-05-01 10:57:19 +02:00
Delyan Angelov
3608c81cb9
time: add stopwatch_test.v
2020-05-01 10:21:15 +03:00
Tanel Liiv
182e7071bf
array: map() function
2020-05-01 00:29:54 +02:00
Alexander Medvednikov
b0c710c985
checker: allow `fn == 0` comparison for now
2020-04-30 18:51:33 +02:00
Delyan Angelov
a6dfc6d46b
compiler: support ctags with -print_v_files and .ctags.d/v.ctags
2020-04-30 19:45:50 +03:00
Alexander Medvednikov
250dea7bd1
cgen: another imported interface fix
2020-04-30 18:23:17 +02:00
Alexander Medvednikov
f1903f3c1f
parser: fix imported interfaces
2020-04-30 18:06:14 +02:00
Alexander Medvednikov
9971c58ca3
all: remove `var` key
2020-04-30 16:55:33 +02:00
Alexander Medvednikov
20013e4b4b
table: interfaces: unique gen_types
2020-04-30 16:48:46 +02:00
Tim Basel
473617f061
cli: add option with default
2020-04-30 12:18:46 +02:00
yuyi
5481c0fc84
parser: uniform handling of enum field format
2020-04-30 12:18:16 +02:00
yuyi
81ed6ad2a1
checker: check duplicate consts
2020-04-30 12:17:31 +02:00
yuyi
4d415e56d6
checker: check enum field name duplicate
2020-04-30 09:34:18 +02:00
Enzo Baldisserri
50491670af
fmt: fix formatting backtick char literal
2020-04-30 09:33:43 +02:00
yuyi
c4f672454f
checker: check import duplicates
2020-04-30 09:33:12 +02:00
Henrixounez
f6d74c8a37
checker: error on ternary if type mismatch
2020-04-30 09:32:29 +02:00
Alexey
54d1a29267
dl: improve module
2020-04-29 21:01:19 +02:00
Delyan Angelov
e5ae4b6454
parser: fix match exprs over C.VALUES (needed for C.GLFW_KEY_UP)
2020-04-29 20:35:57 +03:00
yuyi
b2a076e8b8
csv: fix last-field-empty error
2020-04-29 16:50:02 +02:00
Tim Basel
3e4cd12fd0
.gitignore: ignore all binary files by default
2020-04-29 16:49:13 +02:00
Alexander Medvednikov
03cee3fee0
builder: fix run & is_test check
2020-04-29 16:44:50 +02:00
Alexander Medvednikov
be0e848ae8
builder: do not allow `v run _test.v`
2020-04-29 14:52:32 +02:00
yuyi
1fabb7d5a6
checker: fix string.str() error
2020-04-29 13:51:42 +02:00
Enzo Baldisserri
390d88f933
parser: fail for section redefinition in struct
2020-04-29 13:32:39 +02:00
joe-conigliaro
98cd013908
cgen: fix interface struct sorting
2020-04-29 21:08:39 +10:00
Alexander Medvednikov
51d0ce0222
tests: more interface tests; checker: handle zero selectorexpr type error
2020-04-29 12:46:09 +02:00
Henrixounez
c500044bae
checker: unreachable code warning
2020-04-29 12:31:18 +02:00
Alexander Medvednikov
2fc05b814c
all: interface arrays
2020-04-29 12:21:15 +02:00
Delyan Angelov
3d8853af2b
builder: move warning/error printing into print_warnings_and_errors
2020-04-29 13:04:09 +03:00
Delyan Angelov
1e910c6afe
tests: add reference_field_must_be_initialized.vv
2020-04-29 12:56:12 +03:00
Delyan Angelov
bf8ed1815c
builder: print collected checker warnings too
2020-04-29 12:38:43 +03:00
penguindark
ad46e1b832
strconv: v_printf documentation
...
* v_printf documentation
* syntax fix
2020-04-29 12:25:38 +03:00
Delyan Angelov
0e765e34be
vfmt: extract v.util.find_working_diff_command, color_compare_files
2020-04-29 11:51:45 +03:00
Delyan Angelov
dd3434598c
checker_test: remove generated .v files, when a test is OK
2020-04-29 11:48:51 +03:00
yuyi
117649f40d
checker: check devision by zero (int and float)
2020-04-29 10:07:27 +02:00
yuyi
2b48ce21df
checker: make sure `main` has no args and doesn't return
2020-04-29 09:19:46 +02:00
yuyi
a9e33e712a
checker: check struct field name duplicate
2020-04-29 09:11:36 +02:00
Henrixounez
0dc7a57e1f
scanner: prevent panic with string starting on first character
2020-04-28 18:57:16 +02:00
Delyan Angelov
8c526ad05b
tests: ignore vlib/v/checker/tests/*.v files (only *.vv are sources there)
2020-04-28 16:45:25 +03:00
Henrixounez
0afaef5818
checker: ambiguous function call error
...
* checker: ambiguous function call error
* checker: ambiguous function call error wording
* checker: ambiguous functions tests newline
2020-04-28 16:27:49 +03:00
Delyan Angelov
8a81aa5c93
errors: disambiguate between variable and fn source_context
2020-04-28 16:20:50 +03:00
Delyan Angelov
7924b4d77c
compiler: handle a panic when an error is produced, but source == ''
2020-04-28 16:15:56 +03:00
Delyan Angelov
8ea087f957
vfmt: fix compilation; handle the case when fmt.tabs is not enough
2020-04-28 16:04:37 +03:00
Delyan Angelov
c6a15dba50
compiler: add support for size_t
2020-04-28 15:07:19 +03:00
jm-duro
210b6e36b6
http: mutable request fields
2020-04-28 13:57:48 +02:00
Alexander Medvednikov
1e4e882bc2
cc/cgen: cached modules fixes
2020-04-28 13:15:37 +02:00
Sandro Martini
761fb930ce
dl: add dynamic load module
2020-04-28 11:53:55 +02:00
Enzo Baldisserri
7bf8731778
checker: check variable mutability for postfix exprs
2020-04-28 11:20:19 +02:00
Delyan Angelov
54b71242fe
builder: add autofree compatibility; protect against b.str() twice in a row
2020-04-28 11:03:43 +03:00
yuyi
f2060d431e
checker: check division by zero
2020-04-28 09:52:01 +02:00
joe-conigliaro
ef4f4825ac
cgen: auto dereference for optional
2020-04-28 15:59:41 +10:00
yuyi
28f5920bb0
cgen: fix `map` `fixed-array` .str() error
2020-04-28 07:22:46 +02:00
yuyi
b20777df59
checker: main function called error
2020-04-28 07:21:50 +02:00
Major Taylor
9edbcb823c
cli: Fix off-by-one error in smart-wrap
2020-04-28 00:10:36 +03:00
Enzo Baldisserri
682838a0cf
checker: check array and fields mutability
2020-04-27 22:53:26 +02:00
Alexander Medvednikov
5d073dcce5
x64: # opcodes
2020-04-27 21:38:58 +02:00
joe-conigliaro
9f76a7b250
parser: simplify unused vars & add loop/if vars etc
2020-04-27 23:16:31 +10:00
Delyan Angelov
e67bf674e3
scanner: cleanup, only v.parser now depends on v.scanner
2020-04-27 16:08:04 +03:00
yuyi
e9f764db4f
cgen: uniform string output format
2020-04-27 14:48:28 +02:00
Alexander Medvednikov
eb8973c362
builder: module caching fixes
2020-04-27 14:46:25 +02:00
Alexander Medvednikov
f005079e0b
pref: rename keep_c
2020-04-27 13:28:00 +02:00
ka-weihe
18faaefe82
map: get: remove malloc and memcpy
2020-04-27 13:27:33 +02:00
Delyan Angelov
73106b5f5e
profile: measure defer{} statements too
2020-04-27 13:18:37 +03:00
Alexander Medvednikov
fde929ee30
cgen: remove tos3() call: part 1
2020-04-27 12:10:08 +02:00
Delyan Angelov
dd1ee39271
profile: produce civilized output
2020-04-27 12:45:19 +03:00
yuyi
99a7b69578
cgen: optimize map_to_string format
2020-04-27 10:52:21 +02:00
Delyan Angelov
c84dee5968
profile: move profiling related logic into vlib/v/gen/profile.v
2020-04-27 09:40:13 +03:00
yuyi
95754f211f
cgen: generate str function when using x.str()
2020-04-27 08:09:37 +02:00
Alexander Medvednikov
3256d060f7
array: inline ensure_cap
2020-04-27 07:39:33 +02:00
Alexander Medvednikov
ef26f27753
builtin: replace `isnil` calls for perfomance
2020-04-27 07:13:36 +02:00
Delyan Angelov
e523540f3a
profile: use specialized time__vpc_now
2020-04-26 22:14:54 +03:00
Alexander Medvednikov
50a83736ff
checker: struct init: handle C types
2020-04-26 19:59:03 +02:00
Alexander Medvednikov
8223efe9df
checker: check struct field types
2020-04-26 18:38:29 +02:00
Alexander Medvednikov
83552a0d58
array: replace make() with the new init syntax
2020-04-26 17:52:27 +02:00
Alexander Medvednikov
f23948010a
parser: new array init syntax
2020-04-26 17:28:48 +02:00
penguindark
d16474442a
strconv: format test fixes
2020-04-26 16:26:33 +02:00
yuyi
2574dce174
all: fix remaining `[]array` warnings
2020-04-26 16:25:54 +02:00
yuyi
9f4d498ff1
all: update`import ()` and `[]array`
2020-04-26 13:49:31 +02:00
Larpon
7b39ab6d06
string: fix replace_each edge case error message
2020-04-26 12:40:39 +02:00
Enzo Baldisserri
0f2f97e3e5
checker: reorganize tests to match fmt tests
2020-04-26 12:34:42 +02:00
Alexander Medvednikov
41eb4453e3
parser: do not allow redefinition of fn args
2020-04-26 12:01:10 +02:00
Alexander Medvednikov
153ac230ec
tests: use new array init syntax, fix mutability
2020-04-26 11:56:30 +02:00
Alexander Medvednikov
0641a31fe0
parser: allow mutable pointer args
2020-04-26 11:53:41 +02:00
eyelash
b495dac780
fix a few warnings
...
Good find, @eyelash .
2020-04-26 12:42:44 +03:00
Alexander Medvednikov
270566055f
checker: make sure all FnDecl types are valid
2020-04-26 10:39:26 +02:00
Alexander Medvednikov
3c08f655af
parser: do not allow mutable simple args
2020-04-26 10:35:10 +02:00
Alexander Medvednikov
a56121c329
checker: check mutability in index exprs; parser: set is_mut for args
2020-04-26 10:25:58 +02:00
Delyan Angelov
ee31339dfd
parser: fix error position for use `x := []Type{}`
2020-04-26 10:42:46 +03:00
Alexander Medvednikov
d844ff1381
builder: fix msvc.v
2020-04-26 09:33:40 +02:00
Alexander Medvednikov
20bcb6b8bb
tests: fix lef_shift test
2020-04-26 09:29:29 +02:00
penguindark
b67698888c
strconv: printf and string format utilities
2020-04-26 10:23:10 +03:00
Alexander Medvednikov
7955181c6c
tests: [] fixes
2020-04-26 09:18:29 +02:00
Alexander Medvednikov
3ab8dc0092
parser: array init: `[]string` => `[]string{}`
2020-04-26 09:17:17 +02:00
yuyi
3a59f5727c
checker: fix check main function error ( #4601 )
2020-04-26 08:04:28 +02:00
Alexander Medvednikov
a48080afec
parser: deprecate import(); replace remaining import()s
2020-04-26 07:36:02 +02:00
Delyan Angelov
48f9cc1ed7
tests: make alias_type_exists.vv use `type Pigeon Bird` syntax
2020-04-26 08:23:09 +03:00
Alexander Medvednikov
f7153ca4fa
fmt: array_init(); parser: fn_redefinition_error()
2020-04-26 07:17:01 +02:00
Delyan Angelov
620fc962d7
builtin: use single line imports, to make analysis easier
2020-04-26 08:06:39 +03:00
Alexander Medvednikov
3166833471
parser: fix interface method return type parsing
2020-04-26 07:03:26 +02:00
yuyi
9cfb1e3bf7
cgen: fix struct with fixed array error
2020-04-26 06:54:14 +02:00
Enzo Baldisserri
0b3412cdb5
checker: check that type exists in TypeDecl
2020-04-26 06:40:54 +02:00
yuyi
541b058e90
all: use `a !in b` instead of `!(a in b)`
2020-04-26 06:39:23 +02:00
Alexander Medvednikov
2b4ac0e63a
checker: handle array of interfaces
2020-04-26 06:29:03 +02:00
Alexander Medvednikov
8000eb3656
parser: revert silent _ prefix rule
2020-04-26 05:34:34 +02:00
Alexander Medvednikov
60a0ba5eaa
table: minor interface clean up
2020-04-26 05:34:34 +02:00
Delyan Angelov
a77640165e
compiler: faster vmod lookup
2020-04-25 23:43:46 +03:00
Delyan Angelov
08799792a7
tests: fix regex test
2020-04-25 23:42:48 +03:00
Delyan Angelov
cd27300d75
cookie: fix a new match error about redundant `else`
2020-04-25 23:02:04 +03:00
Delyan Angelov
19d7553d67
tests: fix vlib/net/http/cookie_test.v
2020-04-25 22:53:18 +03:00
Enzo Baldisserri
3e68e429b6
checker: avert if else is unnecessary
2020-04-25 21:51:44 +02:00
Alexander Medvednikov
e0f9c042c1
cgen: interface fixes
2020-04-25 21:24:12 +02:00
Delyan Angelov
86ba1645b0
os: add os.input(prompt)
2020-04-25 22:04:12 +03:00
Enzo Baldisserri
c73d91a8fe
fmt: TypeDecl; format more files
2020-04-25 20:58:00 +02:00
Ruofan XU
d86539c4f5
checker: clean up infix_expr
2020-04-25 20:28:49 +02:00
ka-weihe
d72e401378
string: optimize eq
2020-04-25 20:19:53 +02:00
Alexander Medvednikov
b7e5be41f5
checker/cgen: `as` fixes
2020-04-25 18:41:12 +02:00
yuyi
c26e83f58a
array: fix fixed array errors
2020-04-25 18:26:38 +02:00
yuyi
ec9566988a
cmdline: minor optimizaztion
2020-04-25 17:49:51 +02:00
Enzo Baldisserri
fb54a2635c
fmt: lots of fixes
2020-04-25 17:49:16 +02:00
Delyan Angelov
7c080c5d4a
checker: prevent `x := voidfn()`
2020-04-25 18:06:34 +03:00
Larpon
6a834c0528
checker: use 'mut' instead of 'var' in error message
2020-04-25 17:51:12 +03:00
Delyan Angelov
a20bef65ba
fmt: workaround a vfmt limitation preventing formatting of vlib/v/ast/ast.v
2020-04-25 17:34:42 +03:00
Delyan Angelov
9a19531909
compiler: add support for `[if myflag]` void fn/methods
2020-04-25 16:57:11 +03:00
Delyan Angelov
945f964c0c
parser: stay silent about unused variables starting with _
2020-04-25 15:38:15 +03:00
joe-conigliaro
aacc3c6f7e
cgen: generate str for variadic ( #4587 )
2020-04-25 22:23:47 +10:00
Delyan Angelov
4bcdf11743
cgen: support `-profile -` and `-profile x.txt`
2020-04-25 13:41:49 +03:00
Delyan Angelov
eecf92cdb0
cgen: implement -profile support.
2020-04-25 13:05:49 +03:00
joe-conigliaro
41cc96aaec
revert parser: simplify array push detection
2020-04-25 18:57:12 +10:00
joe-conigliaro
4675656786
parser: simplify array push detection
2020-04-25 18:42:53 +10:00
Delyan Angelov
e0ab318f56
cgen: add support for `v -printfn main file.v`
2020-04-25 11:15:57 +03:00
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
Delyan Angelov
2df4998acc
parser: fix v selfcompilation with tcc (tcc bug workaround)
2020-04-14 11:06:19 +03:00
yuyi
956651384c
cgen: fix math/complex_test.v
2020-04-14 07:44:19 +02:00
yuyi
682c619456
array: fix array_byte.str error
2020-04-14 05:55:53 +02:00
Alexander Medvednikov
5f1b88c2c4
checker: do not use !in for now
2020-04-14 04:14:02 +02:00
Alexander Medvednikov
bbc35b1179
checker: check bool and string ops
2020-04-14 04:12:28 +02:00
yuyi
885612afea
ftoa: fix strconv/ftoa/f32_f64_to_string_test.v
2020-04-14 03:53:34 +02:00
Alexander Medvednikov
df37597f00
tests: disable cookie test for now
2020-04-14 03:43:59 +02:00
Chris Watson
c6c2fccb23
net.http: add cookie support
2020-04-14 03:34:05 +02:00
Daniel Däschle
12e48c6fe2
checker: check match for exhaustion
2020-04-14 01:03:31 +02:00
Alexander Medvednikov
1185f04868
json: encode
2020-04-14 00:37:47 +02:00
Alexander Medvednikov
a9a8f8c804
rand: remove duplicate C fn
2020-04-13 20:11:44 +02:00
krischerven
8c0b25a2ab
cgen: fix printing alias types
2020-04-13 20:07:25 +02:00
Alexander Medvednikov
7aacf77262
checker: remove an extra fn check
2020-04-13 20:06:20 +02:00
Alexander Medvednikov
24958df565
parser: do not allow duplicate fns; cgen: move fn code to fn.v
2020-04-13 19:59:57 +02:00
yuyi
fb4cfa72cd
cgen: fix str() for arrays
2020-04-13 19:18:22 +02:00
Daniel Däschle
a6100be8df
parser: fix position of array init
...
* parser: fix position of array init
* fix checker_error_test.v tests
2020-04-13 19:08:02 +03:00
krischerven
ac67b1ea1b
tests: add new type alias syntax tests
2020-04-13 16:44:21 +02:00
Alexander Medvednikov
c36984cc94
fmt: handle indents
2020-04-13 16:36:32 +02:00
Alexander Medvednikov
2bd22aa4a4
parser: type Foo = Bar
2020-04-13 15:06:02 +02:00
Alexander Medvednikov
77fcd572dc
fmt: remove unused imports
2020-04-13 15:05:51 +02:00
Daniel Däschle
8cbdb75dd6
cgen: fix match expr multiline error
...
* cgen: fix match expr multiline error
* Support for multiple statements in the else part of the match.
* Add a test for the match expression with multiple statements.
2020-04-13 13:05:38 +03:00
Delyan Angelov
99db5f53f7
repl_test.v: fix compilation (non working ones are for now renamed to .skip)
2020-04-13 11:06:52 +03:00
krischerven
74ba8f5cc9
tests: add testing for !in
2020-04-13 02:29:07 +02:00
krischerven
78f9f25a00
cgen: fix !in not working with maps
2020-04-13 02:22:55 +02:00
krischerven
a0d6651e0e
tests: fix typeof_test
2020-04-13 02:22:14 +02:00
Daniel Däschle
1a4113d245
checker: store errors in []Error
2020-04-13 01:56:01 +02:00
Enzo Baldisserri
da5a1e458b
cgen: fix match expr in assert
2020-04-13 01:53:26 +02:00
Alexander Medvednikov
6ada43df61
fmt: test automatic import insertion
2020-04-12 17:57:05 +02:00
Alexander Medvednikov
810a0725ec
tests: fix fmt tests
2020-04-12 17:49:31 +02:00
Alexander Medvednikov
0db0c642c3
vfmt: add missing imports automatically
2020-04-12 17:45:04 +02:00
Daniel Däschle
d55f4ab097
cgen: fix error priting struct which has .str already
2020-04-12 16:25:02 +03:00
Daniel Däschle
5818956cdc
cgen: % escape in string interpolated literals
...
* cgen: % escape in c call to _STR
* tests: add test for string % escape
* Add a test for the % escaping when interpolating inside strings
2020-04-12 16:24:23 +03:00
Daniel Däschle
4449468ca4
parser: correct error position on field and method errors
2020-04-12 15:19:07 +03:00
ka-weihe
e247690fe1
map: fast_string_eq and improved comments
...
* improved comments and fast_string_eq
* make it pass CI
* enumerate traits
* Add parameter back
* remove space
* remove parameter
* Allow bootstrap compilation in one step with old vc (add new_map/2 shim).
2020-04-12 15:10:06 +03:00
Daniel Däschle
79dad0bca9
parser: fix enum default value in struct
...
* parser: fix enum default value in struct
* Add a test for the enum default values in structs.
* Fix compilation of vfmt.
* Run vfmt over enum_default_value_in_struct_test.v
* Cleanup spurious , in vfmt output for enum declarations
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-04-12 13:35:54 +03:00
yuyi
0ced7116b6
string: add is_upper/is_lower and fix parser.match_expr error
...
* string: add is_upper/is_lower and fix parser.match_expr error
* to_capital => capitalize, to_title => title
* is_titled => is_title, is_capitalized => is_capital
2020-04-12 13:09:05 +03:00
Ned Palacios
db2c656da8
scanner: `!in` token
2020-04-12 07:30:26 +02:00
yuyi
c3e78b8c8f
vdoc: use the new suffix
2020-04-12 02:50:19 +02:00
krischerven
0a03797694
tests: run vfmt
2020-04-12 01:41:26 +02:00
krischerven
1abdf2d68f
cgen: fix missing defer in fn main()
2020-04-12 01:38:14 +02:00
Alexey
0f19f9dd51
tests: test call of variadic function with no arguments
2020-04-12 01:37:34 +02:00
Alexander Medvednikov
4b029567e5
tests: test string literal indexing and mutable array filter
2020-04-11 23:32:00 +02:00
Alexander Medvednikov
39245f088a
array: test !in and filter
2020-04-11 23:01:50 +02:00
Alexander Medvednikov
449d839684
checker: make sure functions return
2020-04-11 21:50:14 +02:00
Alexander Medvednikov
581d836de6
!in operator
2020-04-11 21:31:54 +02:00
Alexander Medvednikov
1b6ae00966
os: rename os_nix.v to os_nix.c.v
2020-04-11 20:43:17 +02:00
lutherwenxu
dc4db87be3
vlib: use new filename format
2020-04-11 19:51:32 +02:00
Alexander Medvednikov
f91e3a5d3c
cgen: arr[i] +=, /=, -=
2020-04-11 19:07:03 +02:00
Alexey
d078e6bb08
net: check if socket descriptor is valid
2020-04-11 19:06:01 +02:00
Alexey
1fde205f97
time: return optional value directly
2020-04-11 18:56:39 +02:00
Alexey
0050c1915b
cgen: call module `init` function if available
2020-04-11 18:38:51 +02:00
Alexander Medvednikov
d0ac69d12e
parser: fix sizeof(&Foo)
2020-04-11 18:38:25 +02:00
yuyi
ea960b2ce2
parser: fix inter literal format error
2020-04-11 17:25:39 +02:00
Alexey
df825506fd
cgen: fix check for array equality
2020-04-11 17:25:25 +02:00
Alexander Medvednikov
63d747042e
cgen: fix sizeof(&int)
2020-04-11 16:24:25 +02:00
Delyan Angelov
61c1535199
assert: generate tos3/1 calls instead of _STR (bugfix)
2020-04-11 16:18:09 +03:00
Delyan Angelov
30714d16d9
c linker: pass -Xlinker -z -Xlinker muldefs only on Linux with -cache
2020-04-11 15:24:23 +03:00
yuyi
c1aba95d7d
parser: refactor script & repl handling
2020-04-11 15:06:26 +03:00
Daniel Däschle
be16c5b21d
parser: better error on short init struct
2020-04-11 14:56:55 +03:00
Swastik Baranwal
6ecb6cfe8e
tests: add an operator overloading test
2020-04-11 14:39:51 +03:00
Delyan Angelov
15f4594e44
msvc: fix self compile, by avoiding explicit casting to the same type
2020-04-11 13:35:41 +03:00
Delyan Angelov
b10fcc79ba
comptime: fix #ifdef/#endif generation
2020-04-11 12:41:48 +03:00
Delyan Angelov
93d2ab200f
cheaders: fix selfcompilation with tcc
2020-04-11 12:18:26 +03:00
Delyan Angelov
6433c23a34
string: add s.strip_margin_custom/1, instead of passing varargs to s.strip_margin()
...
The reason for adding s.strip_margin_custom/1 is that
passing varargs interfere with the current implementation of the
builtin module caching.
2020-04-11 11:06:12 +03:00
Delyan Angelov
95709811e0
v: support VFLAGS, fix 'v run source.v arg after source'
2020-04-11 10:28:43 +03:00
Delyan Angelov
ba799b3f85
builder: support v.mod/@VROOT, fix -cflags and -cache
2020-04-11 09:57:31 +03:00
Alexander Medvednikov
053de0b8e3
checker: check variable mutability
2020-04-11 04:09:41 +02:00
Alexander Medvednikov
9422cd1009
parser: handle mut & receivers; fix checker_error_test
2020-04-11 02:24:00 +02:00
Alexander Medvednikov
8fbae86bb3
vfmt: skip skipped modules; add module test
2020-04-10 22:32:52 +02:00
Alexander Medvednikov
b95a47b5a7
checker: check fn main(); vfmt: fix for{}, module and module comments
2020-04-10 22:27:54 +02:00
Delyan Angelov
fdac3a1f2e
ftp.v: fix compilation
2020-04-10 23:23:42 +03:00
Delyan Angelov
4f74410125
test-fixed: always chdir to main v folder before running the tests
2020-04-10 22:40:56 +03:00
Delyan Angelov
217e6f3b8e
checker/parser: allow for fixed array with sizes defined with a const
2020-04-10 22:01:22 +03:00
lutherwenxu
514d989a27
builder: parse `.c.v` and `.js.v` correctly
2020-04-10 18:25:23 +02:00
Alexander Medvednikov
f76931c01e
cache builtin modules
2020-04-10 18:11:43 +02:00
Daniel Däschle
c815f84722
parser: fix void assign check
2020-04-10 15:53:06 +03:00
Daniel Däschle
42b3b19af4
checker: fix checker enum infix error
2020-04-10 15:44:01 +03:00
Daniel Däschle
adb379dd63
parser: fix string position
2020-04-10 15:40:52 +03:00
Delyan Angelov
83dfc6b9b9
checker: add more checks for multivar assignments
2020-04-10 15:38:43 +03:00
Delyan Angelov
3573030b9b
checker: fix error position for assignment expression
2020-04-10 15:14:05 +03:00
Delyan Angelov
3ea563291c
big.v: use again @VROOT/ for #flags
2020-04-10 13:09:04 +03:00
Delyan Angelov
60d6543733
comptime: support @VROOT again
2020-04-10 13:02:00 +03:00
yuyi
7f87ac996d
test: fix vlib/math/big/big_test.v
2020-04-10 12:26:15 +03:00
Daniel Däschle
0f11d883fa
checker: fix error messages and add checker tests
...
* checker: fix error messages
* tests: fix command and ignore defect output
2020-04-10 11:59:07 +03:00
Delyan Angelov
74ac9ef195
builder: write intermediate .c files in the vtmp folder again
2020-04-10 11:55:04 +03:00
Delyan Angelov
7d564e9791
cgen: skip inc generation for ForCStmt, when empty in the v source
2020-04-10 10:00:14 +03:00
Alexander Medvednikov
d5fb68e3d6
vfmt: fix struct init; run on struct_test.v
2020-04-10 00:36:50 +02:00
Alexander Medvednikov
9b2511133d
vfmt: lots of fixes; cmd/v: -keepc;
2020-04-10 00:30:43 +02:00
Daniel Däschle
32550c6d69
scanner: even better error messages
2020-04-10 00:09:34 +02:00
Daniel Däschle
320fad49c5
checker: check enum
2020-04-09 19:23:49 +02:00
Alexander Medvednikov
6ac64c8586
parser: register #flags
2020-04-09 16:39:53 +02:00
Alexander Medvednikov
2b685fc80a
table: bring back parse_cflag()
2020-04-09 15:59:22 +02:00
Daniel Däschle
c0d86eb651
cgen: printing pointer should print the address
2020-04-09 15:35:52 +02:00
Alexander Medvednikov
f508955b64
vfmt: fix mod.Type; run vfmt on ast.v
2020-04-09 15:33:46 +02:00
Alexander Medvednikov
f3c917e0aa
fmt: fix array receivers; cmd/v: -showcc
2020-04-09 15:05:06 +02:00
Alexander Medvednikov
d7ae9d7279
cgen: optional fixes; make http compile
2020-04-09 14:03:47 +02:00
yuyi
87df587f5a
parser: fix script and repl error
2020-04-09 12:46:16 +02:00
Alexey
384d401af0
math: fix `bits_test`
2020-04-09 12:43:37 +02:00
Daniel Däschle
3fbf91a044
cgen: printing pointers
2020-04-09 12:29:29 +02:00
Delyan Angelov
806f86e4e2
assert: pretty print function calls too
2020-04-09 13:24:26 +03:00
Alexey
56c3a8b9a2
base64: fix build
2020-04-09 12:17:01 +02:00
yuyi
89b83400f5
math: fix factorial_test.v error
2020-04-09 04:21:11 +02:00
yuyi
bf20b01586
map: fix map_test.v error
2020-04-09 03:57:08 +02:00
krischerven
8f8f8c418e
cgen: implement equality on arrays
2020-04-09 03:55:37 +02:00
ka-weihe
71190c27a9
fmt: align consts
2020-04-09 01:10:08 +02:00
ka-weihe
77d41d03f5
cgen: inline
2020-04-09 00:35:13 +02:00
Alexander Medvednikov
3f480a358e
fix type_alias test
2020-04-08 22:34:21 +02:00
Daniel Däschle
1c340174b7
cgen: print nested structs
2020-04-08 22:14:01 +02:00
Alexander Medvednikov
a08e64f37f
cgen: operator overloading
2020-04-08 22:12:42 +02:00
Alexander Medvednikov
3521b7ff89
websocket: fmt example + minor fixes
2020-04-08 21:21:58 +02:00
Abdullah Atta
6f8f8d7b1b
websocket: eventbus and other cleanup
2020-04-08 21:19:01 +02:00
Alexander Medvednikov
b40fdd9089
scope: find_const
2020-04-08 19:47:20 +02:00
Leah Lundqvist
b28ab2511c
websocket: move library files to root of module
2020-04-08 19:44:30 +02:00
Alexander Medvednikov
fa6aaad6df
checker: handle `x := x`
2020-04-08 19:15:19 +02:00
Daniel Däschle
03c307a8c0
parser: fix struct name error
2020-04-08 19:08:54 +02:00
hazohelet
78fc9bd12b
fmt: short_module for enum values
2020-04-08 18:55:50 +02:00
Daniel Däschle
d38acb5487
cgen: fix enum print case
2020-04-08 18:55:10 +02:00
Delyan Angelov
3fd547f2e5
flag: fix compilation of programs using flag module
2020-04-08 19:49:32 +03:00
Delyan Angelov
292b165abe
tests: use the yellow color for 'the ok, fail, skip, total' line too
2020-04-08 18:49:00 +03:00
Delyan Angelov
e10290eb8e
tests: make the SKIP and FAIL labels more distinctive
2020-04-08 18:42:05 +03:00
Alexander Medvednikov
7a218286b3
cgen: fix returning optional consts; fix csv test
2020-04-08 17:21:36 +02:00
Delyan Angelov
3abbdd4a39
tests: fix vlib/os/environment.v
2020-04-08 18:01:19 +03:00
hazohelet
10c4c44d03
parser: allow C struct declaration that lacks body
2020-04-08 16:54:49 +02:00
Daniel Däschle
a61654009f
tests: change skip color to yellow instead of red
2020-04-08 16:52:40 +02:00
krischerven
bcb9d90abb
cgen: remove redundant spaces in generated C
2020-04-08 16:52:07 +02:00
Delyan Angelov
5247d5924e
tests: stats_test.v, pcg32_test.v, splitmix64_test.v now also pass
2020-04-08 17:29:43 +03:00
Daniel Däschle
6bba7d4e3a
cgen: enum str()
2020-04-08 15:54:38 +02:00
Delyan Angelov
1388532bd4
tests: fix crc32_test.v
2020-04-08 16:48:13 +03:00
Delyan Angelov
a8fe3a59b0
tests: fix sha1 test by fixing << | expressions with explicit parenthesis for now.
2020-04-08 16:30:19 +03:00
Alexander Medvednikov
80888b9518
tests: fix fmt test
2020-04-08 14:25:08 +02:00
Alexander Medvednikov
8426db7fe5
copy thecodrr/vws to vlib/net/websocket
2020-04-08 14:22:31 +02:00
Alexander Medvednikov
5ef5712e91
vfmt: do not generate a space if the comment is empty
2020-04-08 14:19:13 +02:00
Alexander Medvednikov
2e78051933
tests: fix in_expression_test
2020-04-08 13:56:09 +02:00
Alexander Medvednikov
eb78396307
parser: fix prefix precedence
2020-04-08 13:53:11 +02:00
Delyan Angelov
c00ec77737
tests: fix compilation of parser_test.v
2020-04-08 05:57:36 +03:00
Delyan Angelov
ef19aa1de6
assert: fix line position, pretty print float literals and casts
2020-04-08 05:47:29 +03:00
Delyan Angelov
3bad02abdd
cgen: do comparison of f32/f64 values for == and != by calling f64_eq(a,b) and f64_ne(a,b)
2020-04-08 03:51:06 +03:00
Delyan Angelov
8e06f4e519
tests: rename vlib/rand/rand_test.v to random_numbers_test.v to fix sporadic CI fails
2020-04-08 03:04:04 +03:00
Delyan Angelov
b9ec1479e4
checker: allow again fallthrough in or{} blocks of option calls without assignment
2020-04-08 02:56:24 +03:00
Alexander Medvednikov
7ff0c3aaa9
cgen/parser: fix unions
2020-04-08 01:20:55 +02:00
Alexander Medvednikov
cdcb8b6c06
fmt: ` ` fix
2020-04-08 01:04:08 +02:00
yuyi
9984691eaf
parser: fix float_test.v
2020-04-08 01:00:58 +02:00
Alexander Medvednikov
d54150cd22
vfmt: fix struct init indent and wrapped lines
2020-04-08 00:59:28 +02:00
Alexander Medvednikov
2fbed2f880
cgen: fix _ = ...
2020-04-08 00:46:16 +02:00
ka-weihe
7406abe3b6
map: use strcmp and update wyhash
2020-04-08 00:02:15 +02:00
Daniel Däschle
59ac0bd46b
cgen: print bool correctly in interpolation
2020-04-07 23:26:20 +02:00
Delyan Angelov
582ee9e643
urllib: put braces in << | expressions in urllib.v to make test pass
2020-04-07 22:58:29 +03:00
Delyan Angelov
cb52dd85e7
tests: add an isolated test case for long struct names with capitalization
2020-04-07 22:03:20 +03:00
Delyan Angelov
589b932f19
compiler: more permissive structure names, that allow URL as a struct name
2020-04-07 22:00:25 +03:00
Alexander Medvednikov
6bbd1943dd
cgen: fix &string cast; vfmt fixes
2020-04-07 18:51:44 +02:00
Daniel Däschle
4aedef367c
cgen: print bool and string correctly in struct
2020-04-07 17:52:15 +02:00
Daniel Däschle
7cf9b32742
cmd: show cleaner messages, when v can not compile a tool, or update itself
2020-04-07 17:56:33 +03:00
Daniel Däschle
0024ff848d
parser: check if the last or {} block expression is valid
...
These checks allows for:
a) `x := call() or { 'abc' }`
b) `x := call() or { panic('abc') }`
c) `x := call() or { exit(123) }`
d) `x := call() or { continue }`
e) `x := call() or { break }`
f) `x := call() or { return }`
... but produce errors for:
g) `x := call() or { println('an error') }` , etc.
2020-04-07 17:36:00 +03:00
Alexander Medvednikov
275b20a184
vfmt: handle for ;; loops; run vfmt on parser.v
2020-04-07 15:48:13 +02:00
Alexander Medvednikov
8f9a8e1e7f
vfmt: small fixes + run on checker.v and fmt.v
2020-04-07 15:15:49 +02:00
Alexander Medvednikov
890940292b
Revert "cgen: print bool in struct correctly"
...
This reverts commit 78440be2b2
.
2020-04-07 12:56:05 +02:00
Daniel Däschle
78440be2b2
cgen: print bool in struct correctly
2020-04-07 12:39:10 +02:00
yuyi
08d90afb8c
builder: fix an error on windows
2020-04-07 12:32:49 +02:00
yuyi
426eb46166
test: fix windows test error
2020-04-07 12:32:09 +02:00
Daniel Däschle
fe0942043c
checker: check if BranchStmt is in a loop
2020-04-07 12:29:11 +02:00
Alexander Medvednikov
fd75cce0f3
vfmt: minor fixes + tests
2020-04-07 04:05:59 +02:00
Daniel Däschle
b0dacef32b
time: change unix timestamp to u64
2020-04-07 03:35:47 +02:00
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
Joe Conigliaro
883a105aca
cgen: fix tests
2020-03-27 17:28:04 +11:00
Joe Conigliaro
7ce7151ad2
cgen: v2 compiles itself - defer stmt / if * in opt parens.
2020-03-27 17:21:22 +11:00
penguindark
8de027c4b4
strconv: fix on ftoa string decimal aproximation, 'nan' string fix
2020-03-26 22:39:46 +01:00
Alexander Medvednikov
9185de3fb7
cgen: fix tests
2020-03-26 22:28:24 +01:00