KrisChambers
8d035a446a
Fix v/parser: Failure to parse structs with fields typed as anonymous functions returning having an optional void (`?`) return type. ( #5684 )
...
* Handle optional void return type in function types in struct fields.
* Add more testing for optional return types in struct fields.
* Move language parsing into it's own function
* Fix issue caused by not setting typ.
* Fix test for structs containing anon fn with optional void return types
2020-07-05 19:29:39 +02:00
yuyi
96bd4e8794
parser: fix type detection in `match` ( #5679 )
2020-07-05 16:35:45 +02:00
joe-conigliaro
9d7f1a236a
checker/gen: fix nested sumtype matching
2020-07-06 00:25:04 +10:00
Uwe Krüger
3b067f5f85
all: experimental locked concurrency support, part 1 ( #5637 )
2020-07-04 12:44:25 +02:00
Nick Treleaven
0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} ( #5640 )
2020-07-03 18:10:10 +02:00
yuyi
9e949622d3
vrepl: pre-imported common modules ( #5643 )
2020-07-03 18:06:36 +02:00
Alexander Medvednikov
b7175b54eb
vweb: ['/:arg1/:arg2/action'] attribute
2020-07-03 15:10:39 +02:00
yuyi
68ac8fde26
tests: add mixed and complex types tests for cross assign ( #5622 )
2020-07-02 18:20:03 +02:00
yuyi
6cbc0e84f0
cgen: fix cross assign with mutable args ( fix #5609 #5610 #5611 ) ( #5614 )
2020-07-02 11:09:26 +02:00
Uwe Krüger
6c022db786
scanner: fix string interpolation for '$a.b().c' ( #5612 )
2020-07-02 00:02:59 +02:00
yuyi
40a393926d
cgen: fix cross assign of struct fields ( #5606 )
2020-07-01 18:43:14 +02:00
Nick Treleaven
e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} ( #5581 )
2020-07-01 14:50:17 +02:00
Delyan Angelov
78e1127d99
cgen: treat the main module like any other v module
2020-07-01 00:53:53 +02:00
Uwe Krüger
8a46911725
checker: check if mut function arg is declared as mut ( #5579 )
2020-06-30 14:19:22 +02:00
joe-conigliaro
ab37dcaa9c
generic structs: initial implementation
2020-06-29 20:09:09 +02:00
yuyi
9d845262b7
parser: fix module type cast
2020-06-29 17:15:40 +02:00
yuyi
5f36874c9b
vrepl: fix optional call
2020-06-24 12:45:48 +02:00
yuyi
514ee9d396
cgen: fix optional void return error
2020-06-24 12:45:15 +02:00
yuyi
73296e486a
parser: fix function return anon_fn without parentheses
2020-06-22 16:03:31 +02:00
yuyi
d232833573
gen: fix printing of generic arrays
2020-06-22 14:54:24 +02:00
yuyi
81c19517d1
cgen: add gen_str_for_multi_return
2020-06-21 17:53:13 +02:00
yuyi
e484fe15d3
tests: add nested array not equal tests
2020-06-20 02:34:49 +02:00
yuyi
4dc703af2d
cgen: fix nested array equality
2020-06-20 01:40:33 +02:00
Uwe Krüger
770132ff37
float: make default string representations for floats become alike
2020-06-18 22:33:41 +02:00
joe-conigliaro
812a9d646a
test: fix sumtype shadow & as test
2020-06-19 01:14:53 +10:00
joe-conigliaro
198fdcf1c6
test: change sumtype var shadow and as test
2020-06-19 01:10:16 +10:00
joe-conigliaro
3533335804
test: add match sumtype var shadow and `as` test
2020-06-19 01:06:40 +10:00
Alexander Medvednikov
7be952605b
0.1.28
2020-06-18 15:57:53 +02:00
Uwe Krüger
ddb1770af2
cgen: fix unsigned/signed integer comparisons
2020-06-17 02:54:27 +02:00
yuyi
23993d2264
cgen: fix nested array equality error
2020-06-16 18:40:32 +02:00
yuyi
730f485591
test: fix `test_array_init()`
2020-06-15 22:31:11 +02:00
joe-conigliaro
0cd9066f44
parser/cgen: multiple attributes & better errors ( closes #5334 )
2020-06-15 22:59:09 +10:00
Delyan Angelov
cadde3e9f0
vlib: fix os.exec().output usages, that may rely on trimmed lines
2020-06-15 15:38:20 +03:00
yuyi
b0138e021e
cgen: fix `in` multi_array
2020-06-15 13:21:06 +02:00
Delyan Angelov
c874a22b3b
doc: use `v new` instead of `v create`
2020-06-14 21:20:31 +03:00
yuyi
4e1a09c9f5
cgen: fix array_init temporary variable error
2020-06-14 19:09:27 +02:00
Ruofan XU
90279a7108
checker: use ++ / -- instead of += 1 / -= 1
2020-06-14 19:05:05 +02:00
yuyi
7e0197c1b8
cgen: fix `in` empty array
2020-06-14 10:54:10 +02:00
Adam Stankiewicz
471c931ada
os: do not trim space from output of exec
2020-06-14 01:41:47 +02:00
Uwe Krüger
50cd0ed785
parser: fix string array initialization with interpolation
2020-06-13 22:38:10 +02:00
Adam Stankiewicz
b3fc462a78
scanner: fix parsing multiple .amp
2020-06-13 00:01:44 +02:00
Delyan Angelov
4fc41c4bc4
v: add compiler support for _unlikely_(x) too
2020-06-09 18:11:03 +03:00
Delyan Angelov
c7d4360931
v: add full compiler support for _likely_(x)
2020-06-09 17:42:43 +03:00
spaceface777
895c7624e4
jsgen: improve handling of `blank_ident`
2020-06-09 09:45:50 +02:00
spaceface777
30f1c6bad5
parser: fix type_only fns starting with varargs
2020-06-08 19:02:36 +02:00
Enzo Baldisserri
11b7b97311
parser: fail when assigning to _ with :=
2020-06-08 00:47:04 +02:00
Alexander Medvednikov
3bbda7103f
Revert "parser: allow void return type for C functions"
...
This reverts commit d7c63922d5
.
2020-06-07 19:06:19 +02:00
Swastik Baranwal
d7c63922d5
parser: allow void return type for C functions
2020-06-07 19:45:27 +03:00
joe-conigliaro
31d03bb113
checker/cgen: small generic fixes (mut arg return)
2020-06-06 12:24:27 +10:00
Uwe Krüger
de76ac583f
parser: fix string interpolation for expressions ending `c`, `r`, `js`
2020-06-05 22:37:34 +02:00
Alexander Medvednikov
e3917d98c2
generics: another mut arg test
2020-06-05 20:57:05 +02:00
Alexander Medvednikov
13a7ce9e69
gg: GG => Context
2020-06-04 20:26:18 +02:00
joe-conigliaro
41dca3ef58
checker/cgen: fix mutable generic fn args
2020-06-04 19:32:31 +10:00
yuyi
5ae8853648
all: change `f mut Foo` to `mut f Foo`
2020-06-04 10:35:40 +02:00
yuyi
13e09c61ef
tests: add multi_dimensional array init tests
2020-06-03 14:10:29 +02:00
Alexander Medvednikov
d182059ba6
tests: fix fn_test.v
2020-06-03 10:54:47 +02:00
Delyan Angelov
6a0a2da05c
cgen: support `$if test { ... }`
2020-06-03 10:20:10 +03:00
Alexander Medvednikov
63b8cdea7a
checker: require () in a && b || c
2020-06-02 22:21:44 +02:00
yuyi
1386c5df13
parser: use `?` instead of `?void` errpr
2020-06-02 17:24:24 +02:00
Uwe Krüger
b0f66a4e05
checker: permit int -> f32, int64 -> f64 and similar promotions again
2020-06-02 17:00:14 +02:00
Alexander Medvednikov
fb3e52ca63
all: `!is` operator
2020-06-02 16:18:12 +02:00
yuyi
653a27005b
cgen: fix multi dimensional array init error
2020-06-02 15:15:52 +02:00
yuyi
63b2d4be99
cgen: make >8 indent levels work
2020-06-02 10:40:24 +02:00
Uwe Krüger
076089d3c5
checker: apply stricter type checks to function args and return types
2020-06-01 21:15:59 +02:00
Delyan Angelov
ae8f7cf569
tests: fix some tests, that failed due to the stricter immutable checks
2020-06-01 18:24:38 +03:00
Alexander Medvednikov
3d83934caf
checker: check mutating methods; generics fixes
2020-06-01 15:44:10 +02:00
Delyan Angelov
945439dab6
cgen: print actual values on a failed assert (when possible)
2020-06-01 14:43:38 +03:00
Emily Hudson
75eac291ac
all: variable sized options
2020-05-31 12:57:26 +02:00
Alexander Medvednikov
f87e872fa2
checker/cgen: interface match
2020-05-31 10:22:21 +02:00
Alexander Medvednikov
905f844b16
cgen: return interface fix
2020-05-30 20:18:03 +02:00
Alexander Medvednikov
1ca7a607d3
checker/cgen: return interfaces
2020-05-30 19:54:16 +02:00
Uwe Krüger
b74e1bb05d
checker: fix type mismatch in function argument for struct reference init
2020-05-30 15:42:12 +02:00
Delyan Angelov
f3c5f36317
parser: allow for `struct Abc { f [skip] = -1 }`
2020-05-29 12:45:54 +03:00
yuyi
3a340cbffc
checker: fix array_init cast type error
2020-05-29 06:39:46 +02:00
Alexander Medvednikov
bec3e07635
interfaces: fix `is`
2020-05-29 05:54:53 +02:00
Alexander Medvednikov
81b44dc2c9
generics: generic call inside generic call; checker: check mut args at call
2020-05-29 04:30:00 +02:00
spaceface777
60716bba29
parser: fix nested array_init syntax
2020-05-28 19:36:57 +03:00
Alexander Medvednikov
d6037cbcf2
generics: fix method calls
2020-05-28 05:58:19 +02:00
Delyan Angelov
ae8cc2f433
live: fix -live compilation && make live_test.v not swallow segfault errors
2020-05-28 03:21:49 +03:00
yuyi
9cbd9db4e7
cgen: fix swap assign of prefix and postfix expr
2020-05-28 02:22:09 +03:00
Alexander Medvednikov
4988d340b1
generics: fix method calls
2020-05-28 01:19:08 +02:00
yuyi
84edbd83da
all: fix struct names error
2020-05-27 19:12:34 +03:00
Alexander Medvednikov
5423a15f46
generics: more fixes
2020-05-27 15:56:30 +02:00
x0r19x91
72ed673566
builtin: array: fix slice cloning
2020-05-27 14:07:03 +02:00
Delyan Angelov
ebbf42dadb
tests: add a commented test_generic_fn_with_variadics, which worked with old v
2020-05-27 08:41:12 +03:00
Alexander Medvednikov
59711d9c55
generics: test `T{}`
2020-05-27 06:53:52 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost
2020-05-27 05:42:48 +02:00
yuyi
bb48851092
cgen: fix mutliple_assign swap
2020-05-26 18:00:51 +02:00
Delyan Angelov
b0cfd3fa67
parser: reimplement [flag] enum support. Add p.vcodegen too
2020-05-26 00:00:48 +03:00
Delyan Angelov
5825e467b8
checker: fix appending an .enum_val to a struct field of []Enum
2020-05-25 21:48:43 +03:00
Delyan Angelov
96808a0e2a
cgen: generalize _vcleanup of array/string consts + valgrind with tcc
2020-05-25 10:24:19 +03:00
Alexander Medvednikov
656bc6b6c8
tests: valgrind: strings are freed now!
2020-05-25 06:23:50 +00:00
Alexander Medvednikov
1ef8eacd6e
checker/gen: more generics fixes; ComptimeCall
2020-05-25 05:32:36 +02:00
yuyi
ec7863d174
cgen: fix array_init of struct error
2020-05-25 04:45:16 +02:00
Uwe Krüger
fd4d28b7b6
tests: update for stricter type checks
2020-05-24 21:07:32 +02:00
Delyan Angelov
1754ba19d8
live: cleanup live_test.v output, remove 1s delay
2020-05-24 18:38:43 +03:00
Delyan Angelov
d16485c29e
live: make live_test.v more robust
2020-05-24 17:45:53 +03:00
Delyan Angelov
ddcb5f7da3
gen: fix autogenerated print methods for vargs
2020-05-24 15:05:19 +03:00
Alexander Medvednikov
7963e48ca1
tests: valgrind: disable string.replace() test for now
2020-05-24 07:33:33 +00:00
Alexander Medvednikov
494f4fe986
tests: valgrind: string.replace()
2020-05-24 07:19:58 +00:00
Alexander Medvednikov
67750c91d7
generics: lots of fixes
2020-05-24 04:43:03 +02:00
Enzo Baldisserri
801bca1ef2
compiler: propagate optional
2020-05-23 08:51:15 +02:00
yuyi
dda875a9c8
all: unify const names to snake_case
2020-05-22 17:36:09 +02:00
penguindark
8bf290acf0
os: minor fixes
2020-05-22 06:21:11 +02:00
Alexander Medvednikov
1e853072dc
parser: parallel parser, part 1
2020-05-22 02:23:14 +02:00
Enzo Baldisserri
1633675c11
gen: fix nested `or`
2020-05-21 22:35:43 +02:00
Alexander Medvednikov
d3ce6fd2e7
checker: check each generic function for each type
2020-05-21 21:51:52 +02:00
Alexander Medvednikov
227f039652
vfmt: handle generic fn calls
2020-05-21 18:36:25 +02:00
Alexander Medvednikov
87d8e70d6d
checker/table: generic fixes
2020-05-21 18:15:04 +02:00
Alexander Medvednikov
45c9ccfc03
tests: simple<string> generics test
2020-05-21 04:56:36 +02:00
Alexander Medvednikov
ce1a181699
all: generic functions
2020-05-21 03:58:53 +02:00
Alexander Medvednikov
ca81442fac
parser: fix a small bug with <
2020-05-20 21:47:03 +02:00
Sandro Martini
e137fbb1ea
array: more tests of initialization
2020-05-19 19:53:47 +02:00
yuyi
b3b86ea6d7
cgen: fix array_init has len but no init error
2020-05-19 18:33:24 +02:00
yuyi
74686d0ec4
test: fix alias type errors and type_test.v
2020-05-19 15:04:51 +03:00
Uwe Krüger
2635be511f
all: re-apply C++ support
2020-05-18 21:38:06 +02:00
Tanel Liiv
2344c1a435
parser: fix to multi-expr
2020-05-18 18:33:27 +02:00
Ned Palacios
ae3df002a2
vmod: add v.mod parser
2020-05-18 14:35:28 +02:00
yuyi
7f4cf08516
parser: check `(mut f Foo)` syntax
2020-05-17 13:51:18 +02:00
yuyi
6855996cca
cgen: fix array_init_with_default
2020-05-16 19:05:26 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names
2020-05-16 16:12:23 +02:00
yuyi
9b6ee8e77d
cgen: array_init_with_default
2020-05-16 15:21:37 +02:00
Tanel Liiv
44502a3fb2
parser: return multi expr
2020-05-15 23:14:53 +02:00
yuyi
8500c8885c
cgen: fix optional_void error; handle `?` return type
2020-05-15 15:55:03 +02:00
Enzo Baldisserri
d60233b618
cgen: simplify for in range
2020-05-14 22:22:32 +02:00
Enzo Baldisserri
fd0d833e33
gen: if expressions with multiple statements
2020-05-14 17:15:25 +02:00
Alexander Medvednikov
2369a5c8c6
cgen: handle `is` for interfaces
2020-05-14 16:56:45 +02:00
Sandro Martini
9895cab51c
tests: add more tests on interfaces
2020-05-13 20:30:18 +02:00
Enzo Baldisserri
172e4ff853
cgen: simplify if guard else clause
2020-05-13 18:38:00 +02:00
Tanel Liiv
af334e320c
cgen: dereference in one place and fix
2020-05-13 01:01:34 +02:00
Kris Cherven
d359a7aefb
cgen: fix a goto error
2020-05-11 23:49:08 +02:00
Alexander Medvednikov
2618b4fbd3
Revert "tests: add more tests on interfaces "
...
This reverts commit 538662d99a
.
2020-05-11 15:19:55 +02:00
Sandro Martini
538662d99a
tests: add more tests on interfaces
2020-05-11 15:13:03 +02: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
yuyi
14bba54ddc
vrepl: fix array_init error
...
* optimize print conditions
2020-05-11 07:15:08 +03:00
Enzo Baldisserri
b09fd66aa2
gen: fix interface pointers
2020-05-10 21:16:22 +02:00
Alexander Medvednikov
a2d120b583
cgen: fix reassignment of optionals
2020-05-10 17:41:33 +02:00
eyelash
f396f70ae7
repl: fix newline in error messages
2020-05-10 16:26:56 +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
Tanel Liiv
7815a5495c
checker: handle multireturn fn calls as if/match last expressions
2020-05-08 22:49:45 +02: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
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
Delyan Angelov
7207a4970b
solaris: fix tests
2020-05-07 16:19:21 +00:00
Tanel Liiv
d0afa748ff
cgen: optional multiple return values
2020-05-07 15:36:04 +02:00
Uwe Krüger
59aa31cee5
cgen: string interpolation: optimize away some partial strings of 0 length
2020-05-07 04:34:18 +02:00
Tanel Liiv
b5a1544bf8
parser: allow re-assigning fns to variables
2020-05-06 20:09:29 +02:00
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