Delyan Angelov
1aaac13a60
cgen: make `os` less special, fix an -autofree leak on just `import os`
...
* Improve documentation of v.util.Surrounder
* Remove `os` from the list of "no auto free" `builtin` mods
* Fix -autofree freeing of `const x = []string{}`.
* Add a valgrind regression test.
* Implement os.getenv_opt in vlib/os/environment.js.v too.
2021-11-21 21:50:10 +02:00
playX
243e66a106
js,jsdom: Canvas & context API; Added TypeSymbol.is_js_compatible & temporary hacks for JS ifaces ( #12526 )
2021-11-20 21:28:11 +02:00
playX
2eb02ff5a7
jsdom, js: start refactoring jsdom; improve JS interfaces; add two attributes for them ( #12488 )
2021-11-17 11:41:33 +02:00
Delyan Angelov
6ac109a7c3
builtin: add a `[has_globals]` tag for all the .v files, with global declarations in them
2021-11-17 10:29:06 +02:00
yuyi
c28041cecc
all: cleanup/rename all `comp_` names to be `comptime_` ( #12467 )
2021-11-15 15:47:29 +02:00
playX
e3d98b1b28
js,strconv: port some functions to JS backend, improve `rune.str()` ( #12460 )
2021-11-14 21:06:58 +02:00
playX
a4c57ba56e
js: support JS interfaces ( #12426 )
2021-11-11 14:36:32 +02:00
Delyan Angelov
80242c8041
builtin,ast: apply small performance improvements, suggested by `hotspot`
2021-11-07 13:30:44 +02:00
playX
5f3dcde358
jsdom,builtin: add all methods for DOMMatrix; add conversion methods to convet from/to JS types ( #12395 )
2021-11-06 15:52:24 +02:00
Alexander Medvednikov
7ea57bfa1e
builtin: make map.keys() public
2021-11-04 19:09:37 +03:00
Delyan Angelov
6937074e7a
strings,builder: reduce V cgen and parser memory consumption, fix strings.Builder leak ( #12342 )
2021-10-31 12:58:55 +02:00
Delyan Angelov
579d5ae649
builtin,checker: add array.flags. Allow changing it in `unsafe {}` blocks
2021-10-31 11:04:56 +02:00
Delyan Angelov
b86c79329b
os, builtin: reduce leaks without -autofree
2021-10-29 15:49:30 +03:00
Delyan Angelov
475a2f9b43
ci: fix failing vlib/orm/orm_test.v
2021-10-28 17:33:18 +03:00
Delyan Angelov
4d0f6767b1
builtin: use malloc instead of calloc for `[]Type{cap: size}`
2021-10-28 17:18:03 +03:00
Delyan Angelov
8014235e0e
scanner: speed up text_scan by using a specialised keywords matcher, instead of a generic V map of keywords
2021-10-28 15:41:13 +03:00
playX
cfecb62299
js: DOM API. Part 1 ( #12296 )
2021-10-27 23:18:09 +03:00
Wertzui123
ea6d2d53db
parser: disallow `for mut in range` ( fix #12234 ) ( #12277 )
2021-10-27 14:55:36 +03:00
Bakul Shah
cc2847f6ff
builtin: fix compilation with `-gc boehm` on some FreeBSD versions ( #12289 )
2021-10-25 10:24:08 +03:00
Delyan Angelov
eed94c727c
os: move C struct declarations in their own _default.c.v files ( #12268 )
2021-10-22 17:08:08 +03:00
playX
57c79770b3
js: port more methods (os, builtin) ( #12238 )
2021-10-20 16:02:21 +03:00
playX
c1aa782a6c
js,checker: fix some modules build for `v -b js self`, fix `or block` check in ast.CallExpr ( #12231 )
2021-10-19 12:11:54 +03:00
playX
d373eba79b
js: implement more functions for JS backend ( #12167 )
2021-10-13 09:40:14 +03:00
playX
22962dd2d2
js: change codegen for match statement, speedup string.split_into_lines ( #12157 )
2021-10-12 09:52:16 +03:00
playX
a8ace2c41c
math: implement `pow` in pure V ( #12105 )
2021-10-08 17:44:55 +03:00
playX
33a1006cc5
js: comptime&assert improvements, more `byte` and `strings.Builder` methods ported ( #12096 )
2021-10-07 15:55:47 +03:00
playX
b2945e916f
js: add initial support for runes ( #12077 )
2021-10-06 10:43:49 +03:00
playX
8d1ba52d0c
js: fix string.bytes codegen, readline, add tests for `strings` ( #12060 )
2021-10-04 18:28:30 +03:00
Larpon
a8c2c419cd
builtin: improve malloc panic messages ( #12054 )
2021-10-03 20:27:46 +03:00
playX
9145cd66ec
js: add more tests to builtin/js and implement more builtin functions ( #12049 )
2021-10-03 10:08:21 +03:00
playX
82f187e5e0
js: fix `rand` build, properly use key values on map, add `rand.string` ( #12020 )
2021-10-01 21:23:49 +03:00
Wertzui123
e3d379a1eb
builtin: add byte.repeat() and rune.repeat() ( #12007 )
2021-09-30 09:32:20 +03:00
playX
4333a53f28
js: support running `.js.v` tests in `v test-self`, fixes for array methods & codegen ( #12011 )
2021-09-29 15:33:14 +03:00
yuyi
8789cc422c
v.ast: fix fmt of 'bytestr' to '&byte' ( #12014 )
2021-09-29 13:53:46 +03:00
crthpl
85b58b03a3
cgen: parallelize ( #10844 )
2021-09-28 10:28:04 +03:00
Ken
a17b943e87
builtin: add method `byte()` for string ( #11998 )
2021-09-28 10:08:10 +03:00
Wertzui123
07d65b2aab
builtin: move byte methods from rune.v to int.v ( #11987 )
2021-09-26 22:34:25 +03:00
playX
863dd0b23e
js: array improvements ( #11952 )
2021-09-26 07:33:53 +03:00
yuyi
108a01d65f
fmt: fix unnecessary line break in array init ( fix #11448 ) ( #11562 )
2021-09-21 16:20:09 +03:00
Enzo
b2ecca3966
all: remove `size_t` ( #11478 )
2021-09-21 02:12:38 +03:00
Ruofan XU
b343f19bec
v.scanner: fix ambiguity of two-level generics and shift-right ( #11540 )
2021-09-19 16:22:28 +03:00
Delyan Angelov
bd65ceb463
v.markused: remove __print_assert_failure from all_fn_root_names
2021-09-17 21:47:22 +03:00
playX
7d1776b84d
js: equality method generation for V types ( #11503 )
2021-09-16 07:07:48 +03:00
Alexander Medvednikov
ae41d1d3c6
builtin, cgen: more -nofloat fixes
2021-09-13 19:06:19 +03:00
Alexander Medvednikov
8fc0b486a2
builtin: fix string interpolation when compiling with -nofloat
2021-09-13 18:40:32 +03:00
Alexander Medvednikov
cfcc57f5d3
checker: remove unnecessary "no methods" error; builder: skip float.c.v with -nofloat
2021-09-13 18:14:26 +03:00
playX
5b619b99c2
v.gen.js: Interfaces support, fix for error propagation & panic stacktraces ( #11471 )
2021-09-11 14:24:47 +03:00
Alexander Medvednikov
ab3adf3346
checker: no longer allow automatic dereferncing in `a = b`
2021-09-09 20:21:01 +03:00
Enzo
1a2d5f65fb
builtin: add `size_t.str()` again ( #11446 )
2021-09-09 10:50:35 +03:00
Delyan Angelov
4faa0f8487
v.checker: add checks for `.free()` methods
2021-09-09 09:54:06 +03:00
playX
72089c4feb
js: use prefixed names for functions and global symbols ( #11387 )
2021-09-08 20:30:46 +03:00
Alexander Medvednikov
55451baa03
builtin: i32 alias
2021-09-08 14:49:02 +03:00
Enzo
bef3390f36
builtin: fix compilation ( #11445 )
2021-09-08 14:19:21 +03:00
Enzo
56ad5d72ef
builtin: add `.str` method for `i/usize` ( #11441 )
2021-09-08 13:41:08 +03:00
Enzo
e3b65092d6
parser: deprecate `size_t` ( #11443 )
2021-09-08 13:09:32 +03:00
Enzo
cc8ee5fb84
all: introduce `isize` and `usize` ( #11437 )
2021-09-08 05:53:39 +03:00
penguindark
bd10a63839
builtin: string interpolation: binary format support ( #11421 )
2021-09-07 00:12:54 +03:00
Lathanao
78c26e69cf
builtin: fix the string.index_any method ( #11310 )
2021-09-06 15:06:37 +03:00
yuyi
5181031480
builtin: check array.sort_with_compare() arg mismatch ( #11385 )
2021-09-04 15:02:05 +03:00
Delyan Angelov
91f7be98d0
builtin.js.v: run vfmt
2021-09-03 14:13:36 +03:00
playX
a4df418a68
js: support `[export: 'AnotherName']` for FnDecl codegen ( #11377 )
2021-09-03 13:00:24 +03:00
playX
08c517c966
strconv,v.gen.js: proper optionals returns, strconv compiles to the JS backend ( #11364 )
2021-09-03 12:16:07 +03:00
playX
a9b705bfd8
js: fix printing, make builtins for result and option types behave correctly ( #11336 )
2021-08-30 20:47:18 +03:00
yuyi
f44eb88a8d
vfmt: fmt '!(a in/is b)' to 'a !in/is b' ( #11335 )
2021-08-30 09:45:36 +03:00
playX
61ac7b671d
js: add initial support for optional types, IfGuardExpr codegen for `if` ( #11332 )
2021-08-29 14:27:17 +03:00
playX
118c5fdcd8
js: fix -stats compilation of tests, proper alias codegen ( #11327 )
2021-08-28 16:57:33 +03:00
Alexander Medvednikov
cf4081e2dd
all: more chdir/chmod fixes
2021-08-28 12:52:48 +03:00
playX
bdf11d969a
js: add basic support for running tests, fix string.replace_each ( #11314 )
2021-08-26 15:20:54 +03:00
playX
109d5d5847
js: `os` now compiles to the JS backend, more builtins & minor codegen fixes ( #11302 )
2021-08-25 14:40:53 +03:00
playX
d78e7e3b2b
js: codegen fixes, W.I.P `os` availability for JS backend ( #11281 )
2021-08-23 14:25:02 +03:00
penguindark
fde934cd93
builtin: optimize hex() ( #11261 )
2021-08-22 11:10:24 +03:00
Delyan Angelov
fe08e1c504
strings: add Builder.write_rune/1 and Builder.write_runes/1 methods
2021-08-19 07:18:09 +03:00
Alexander Medvednikov
26b77515b9
builtin: optimize []rune.string()
2021-08-19 06:58:53 +03:00
playX
0121c8b4fd
v.gen.js: fix method calls and other codegen parts, rand module compiles ( #11205 )
2021-08-18 11:33:37 +03:00
Subhomoy Haldar
8dc043ba2c
builtin: fix minor C fn definitions ( #11180 )
2021-08-14 17:19:27 +03:00
Delyan Angelov
34d39ccb64
builtin: fix leak in rune.str(), fix leaks in most assert x == y statements in tests ( #11091 )
2021-08-13 18:37:34 +03:00
Subhomoy Haldar
0bd68bf5a2
builtin: rename invalid parameter names in C fn declarations ( #11173 )
2021-08-13 17:03:39 +03:00
Delyan Angelov
47884dfd1f
builtin: move C. calls to .c.v files ( #11164 )
2021-08-12 21:46:38 +03:00
playX
c9e9556a92
js: array.delete_last() ( #11160 )
2021-08-12 19:39:33 +03:00
Enzo
506c30a291
builtin: remove methods that can be autogenerated ( #11109 )
2021-08-09 15:42:31 +03:00
playX
7a67a08d2f
js: implement codegen for array.sort and implement .any,.all ( #11100 )
2021-08-09 01:46:40 +03:00
playX
94c321c80d
v.gen.js: port fully the array test suite & add fixes ( #11073 )
2021-08-07 17:58:49 +03:00
zakuro
490dec222f
fmt: keep char literal, `'` ( #11060 )
2021-08-06 06:21:28 +03:00
Enzo
7346aeca5f
cgen: refactor array sort generation ( #11067 )
2021-08-06 03:55:48 +03:00
playX
8743b616a0
v.gen.js: codegen fixes, add a few builtins, port more array tests ( #11049 )
2021-08-04 12:46:24 +03:00
Daniel Däschle
800c0e5092
vlib: remove deprecated map{} usages as well as deprecated functions ( #11035 )
2021-08-04 12:44:41 +03:00
yuyi
b870f7a6f1
cgen: fix array sort error ( #11046 )
2021-08-04 06:31:57 +03:00
Enzo
fc193bebf2
builtin: add documentation for builtin array functions ( #11023 )
2021-08-03 06:25:33 +03:00
playX
836ac54d12
v.gen.js: add more array tests and fixes ( #11014 )
2021-08-01 14:08:49 +03:00
playX
a7ca051016
v.gen.js: fix for array filter, add more tests and other fixes ( #10999 )
2021-07-30 11:17:11 +03:00
playX
75c41252d9
js: add more tests & add array prepend codegen ( #10988 )
2021-07-29 11:39:36 +03:00
Alexander Medvednikov
b79dd7f0b3
builtin: re-enable u8 alias
2021-07-29 06:46:12 +03:00
Alexander Medvednikov
09df5adbdd
builtin: re-gen v.c
2021-07-29 06:45:04 +03:00
Alexander Medvednikov
1343ec7444
builtin: fix temporary u8 alias
2021-07-29 06:42:22 +03:00
Alexander Medvednikov
a7270148e5
builtin: remove u8 alias to re-generate v.c
2021-07-28 22:41:41 +03:00
Alexander Medvednikov
65126efdc3
builtin: remove u8 for now
2021-07-28 22:36:04 +03:00
playX
e3cf95b058
js: add more tests for array, support array insert_many, minor fixes for references ( #10983 )
2021-07-28 13:01:00 +03:00
shadow
66bc8bc0cb
vlib: remove many deprecated functions ( #10972 )
2021-07-28 09:22:19 +03:00
Delyan Angelov
b0a721b2ec
js: draft support for compiling `-b js x_test.v`
2021-07-27 13:49:47 +03:00
Delyan Angelov
b44f81528f
v.gen.c: fix codegen for `const a = u64(5) + 5`
2021-07-26 08:06:59 +03:00