Delyan Angelov
88ef0a75e2
ci: pass V_CI_MUSL=1 on musl CI jobs
2020-05-06 15:10:47 +03: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
Enzo Baldisserri
215657e16a
checker: check interface implementation
2020-05-06 11:29:37 +02:00
yuyi
c653977c15
cgen: fix struct with map field str() error
2020-05-06 09:08:48 +03: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
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
yuyi
6aca3be474
cgen: fix []map[string]string.str() error
2020-05-05 08:46:19 +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
Delyan Angelov
d7e7113047
cgen: fix `for char in nums {}`
2020-05-04 18:57:33 +03: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
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
yuyi
c112b3aec5
tests: fix cleanup of compiler_test.v on windows
2020-05-04 11:33:54 +02: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
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
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
16fe8103ba
tests: bring back valgrind test
2020-05-03 13:12:05 +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
Delyan Angelov
7038f59ca5
compiler: add back support for -live
2020-05-02 01:14:44 +03: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
Alexander Medvednikov
51da324465
tests: fix eventbus_test.v
2020-05-01 10:57:19 +02:00
Alexander Medvednikov
f1903f3c1f
parser: fix imported interfaces
2020-04-30 18:06:14 +02:00
Alexander Medvednikov
20013e4b4b
table: interfaces: unique gen_types
2020-04-30 16:48:46 +02:00
Tim Basel
3e4cd12fd0
.gitignore: ignore all binary files by default
2020-04-29 16:49:13 +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
Alexander Medvednikov
2fc05b814c
all: interface arrays
2020-04-29 12:21:15 +02:00
Delyan Angelov
0e765e34be
vfmt: extract v.util.find_working_diff_command, color_compare_files
2020-04-29 11:51:45 +03:00
yuyi
28f5920bb0
cgen: fix `map` `fixed-array` .str() error
2020-04-28 07:22:46 +02:00
yuyi
e9f764db4f
cgen: uniform string output format
2020-04-27 14:48:28 +02:00
yuyi
99a7b69578
cgen: optimize map_to_string format
2020-04-27 10:52:21 +02:00
yuyi
95754f211f
cgen: generate str function when using x.str()
2020-04-27 08:09:37 +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
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
yuyi
9cfb1e3bf7
cgen: fix struct with fixed array error
2020-04-26 06:54:14 +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
60a0ba5eaa
table: minor interface clean up
2020-04-26 05:34:34 +02: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
yuyi
c26e83f58a
array: fix fixed array errors
2020-04-25 18:26:38 +02:00
joe-conigliaro
aacc3c6f7e
cgen: generate str for variadic ( #4587 )
2020-04-25 22:23:47 +10:00
Alexander Medvednikov
6248899d25
compiler_test: handle panics
2020-04-25 09:05:14 +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
Enzo Baldisserri
a924defb94
checker: check `in` left type
2020-04-25 06:14:17 +02:00
Delyan Angelov
c6a829ce82
cgen: support for error('abc').str() and printing errors
2020-04-24 18:35:33 +03:00
yuyi
afa9d42ff0
cgen: fix gen_str_for_array_fixed error
2020-04-24 12:36:45 +02:00
yuyi
998fc8fc07
cgen: add gen_str_for_array_fixed
2020-04-24 07:32:27 +02:00
Alexander Medvednikov
8cb88d5c9a
x64: remove fn arg test for now
2020-04-23 20:55:23 +02: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
Enzo Baldisserri
7e400124e8
parser: allow blank ident in nested loops
2020-04-23 12:00:51 +02:00
Kris Cherven
d871595437
all: replace `var` with `mut`
2020-04-23 01:16:58 +02:00
Alexander Medvednikov
d7ee4755c2
parser/cgen: interfaces (part 1)
2020-04-22 20:23:53 +02:00
Enzo Baldisserri
fecf4ddf65
cgen: fix optional pointers
2020-04-22 20:12:30 +02: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
Kris Cherven
b288ecb795
cgen: add map string generation
2020-04-22 04:00:38 +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
joe-conigliaro
b9c0d2d362
cgen: fix passing high order function with body
2020-04-21 22:45:20 +10: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
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
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
Alexey
3d6142064d
tests: remove `msvc-test`
2020-04-18 23:44:42 +02:00
Alexey
2ab2a58bc5
string: add more interpolation tests
2020-04-18 18:26:07 +02:00
Alexander Medvednikov
2c778c8849
fmt: single line matches
2020-04-17 20:51:19 +02:00
Alexander Medvednikov
c4b7d7cab3
match: shadow variable instead of `it`
2020-04-17 19:24:10 +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
yuyi
420ecaf31d
cgen: gen_str_for_array()
2020-04-17 16:10:41 +02:00
yuyi
8bb11d9035
cgen: fix string_interpolation_struct_test.v error
2020-04-17 01:45:42 +02:00
Enzo Baldisserri
051cc732bb
cgen: generate typeof for functions
2020-04-16 21:04:27 +02:00
Alexander Medvednikov
af224b4933
parser/cgen: is keyword
2020-04-16 15:32:14 +02:00
Abdullah Atta
6a186e8f11
jsgen: implement js backend
2020-04-15 23:16:49 +02:00
joe-conigliaro
fde83aff0b
checker/cgen: fix calling struct field with fn type
2020-04-15 04:28:18 +02:00
Kris Cherven
4dd8796dba
cgen: fix assignment to nested maps
2020-04-15 02:42:00 +02:00
yuyi
885612afea
ftoa: fix strconv/ftoa/f32_f64_to_string_test.v
2020-04-14 03:53:34 +02:00
yuyi
fb4cfa72cd
cgen: fix str() for arrays
2020-04-13 19:18:22 +02:00
krischerven
ac67b1ea1b
tests: add new type alias syntax tests
2020-04-13 16:44:21 +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
a0d6651e0e
tests: fix typeof_test
2020-04-13 02:22:14 +02:00
Enzo Baldisserri
da5a1e458b
cgen: fix match expr in assert
2020-04-13 01:53:26 +02:00
Alexander Medvednikov
0db0c642c3
vfmt: add missing imports automatically
2020-04-12 17:45:04 +02: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
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
krischerven
0a03797694
tests: run vfmt
2020-04-12 01:41:26 +02:00
Alexey
0f19f9dd51
tests: test call of variadic function with no arguments
2020-04-12 01:37:34 +02: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
217e6f3b8e
checker/parser: allow for fixed array with sizes defined with a const
2020-04-10 22:01:22 +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
c0d86eb651
cgen: printing pointer should print the address
2020-04-09 15:35:52 +02:00
Daniel Däschle
3fbf91a044
cgen: printing pointers
2020-04-09 12:29:29 +02:00
krischerven
8f8f8c418e
cgen: implement equality on arrays
2020-04-09 03:55:37 +02:00
Daniel Däschle
1c340174b7
cgen: print nested structs
2020-04-08 22:14:01 +02:00
Daniel Däschle
d38acb5487
cgen: fix enum print case
2020-04-08 18:55:10 +02:00
Daniel Däschle
6bba7d4e3a
cgen: enum str()
2020-04-08 15:54:38 +02:00
Alexander Medvednikov
2e78051933
tests: fix in_expression_test
2020-04-08 13:56:09 +02:00
Delyan Angelov
b9ec1479e4
checker: allow again fallthrough in or{} blocks of option calls without assignment
2020-04-08 02:56:24 +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
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
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
7f516dbae2
cgen: minor optionals fixes
2020-04-06 18:46:50 +02:00
yuyi
4d5fe14968
log: fix example error
2020-04-06 17:22:53 +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
joe-conigliaro
97d8633557
checker: constant cycle & test fix
2020-04-04 17:05:26 +11:00
joe-conigliaro
bf59828897
ast: const impl & global scope & objects
2020-04-04 14:14:40 +11:00
Alexander Medvednikov
436ef12730
cgen: str(): handle empty structs
2020-04-03 18:49:15 +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
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
SleepyRoy
d5b2eb3c23
test: remove old num_lit_call_method
2020-04-02 15:52:46 +02:00
Alexander Medvednikov
4981c5a870
parser: fix public interfaces
2020-04-02 12:53:25 +02:00
Alexander Medvednikov
d57b1ca962
fix valgrind test
2020-04-02 10:44:35 +02:00
SleepyRoy
74bdc57fad
tests: fix num_lit_call_method_test
2020-04-02 00:18:29 +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
0de853a2ab
v2: lots of minor test fixes
2020-04-01 17:14:21 +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
Major Taylor
9bb1b5d1bb
v2: enum fields separated by commas
2020-04-01 12:11:00 +02:00
Alexander Medvednikov
2ac074655f
fix interface test
2020-03-31 21:05:48 +02:00
Alexander Medvednikov
2b563bc69f
v2: initial interface support; fix enum_hex_test.v
2020-03-31 19:59:41 +02:00
Alexander Medvednikov
2fe0e80569
cgen: enum default values
2020-03-31 19:43:11 +02:00
Delyan Angelov
b62035e3d0
solaris & termux: fix both, using the more portable termios.h
2020-03-31 12:46:46 +02:00
hazohelet
ec025f2020
compiler: use type `unresolved` for unresolved consts
2020-03-29 19:26:55 +02:00
Delyan Angelov
a9724fd38d
v2: typeof()
2020-03-28 17:37:22 +01:00
Alexander Medvednikov
f627710870
fix repl tests
2020-03-27 20:49:20 +01:00
Alexander Medvednikov
eed7c91e87
move compiler tests from compiler/ to v/
2020-03-27 18:01:46 +01:00
Alexander Medvednikov
89a05a474f
valgrind tests: skip C warnings for now
2020-03-25 21:46:46 +01:00
Alexander Medvednikov
3b4e0147cd
cgen: fix tests
2020-03-25 17:26:03 +01:00
Alexander Medvednikov
60fbceea43
memory: free_scope_vars()
2020-03-25 12:26:59 +03:00
Alexander Medvednikov
1cb45e9916
compiler_test: do not run on windows for now
2020-03-23 20:36:34 +01:00
Alexander Medvednikov
ae2d001261
tests: fix the new v2 output tests
2020-03-23 20:30:20 +01:00
Alexander Medvednikov
8d8907b61e
memory: handle string assignments
2020-03-22 13:40:53 +01:00
Alexander Medvednikov
cf8776ac71
valgrind: update the test
2020-03-22 13:33:40 +01:00
Delyan Angelov
3f328a0242
test: fix 'v test vlib/v/tests'
2020-03-22 13:26:16 +01:00
Delyan Angelov
53a9329ab6
valgrind: nicer output
2020-03-22 09:44:15 +01:00
Alexander Medvednikov
a02395fe2d
valgrind: run the tests
2020-03-21 20:31:30 +01:00
Alexander Medvednikov
85e411bd7c
fix valgrind test
2020-03-21 20:10:30 +01:00
Alexander Medvednikov
3e80e22f5d
fix prod build
2020-03-21 20:02:37 +01:00
Alexander Medvednikov
4b4c47461b
cgen: error fixes; table: simplify; compiler tests
2020-03-13 01:43:30 +01:00