Commit Graph

9283 Commits (ba3308296be3c939e8927f503854f39f087828bc)

Author SHA1 Message Date
yuyi ba3308296b
ast: rename register_type_symbol to register_sym (#13217) 2022-01-19 20:16:23 +02:00
Delyan Angelov d63f395061
runtime: simplify nr_cpus 2022-01-19 19:29:29 +02:00
Tim Basel d714dcef75
cgen: fix return of mut symtype (#13214) 2022-01-19 14:37:40 +02:00
Alexander Medvednikov 38d3239b50 checker: c2v fixes 2022-01-19 15:26:24 +03:00
playX c48a9e71f5
math.unsigned: add uint128 tests (#13213) 2022-01-19 11:18:46 +02:00
jeffmikels 7a2705d8ce
scanner: multibyte rune literals now support unicode, hex, and octal escape codes (#13140) 2022-01-19 03:23:25 +03:00
Tim Basel bb6c46e1ef
gen: fix mut sumtype arguments for fields (#13205) 2022-01-18 19:53:09 +02:00
Delyan Angelov 95b0c3789f
docs: improve pub fn comments for the `flag` module 2022-01-18 18:38:27 +02:00
yuyi ef562c92a5
cgen: fix assigning a new value to the mut sumtype receiver (#13204) 2022-01-18 16:16:15 +02:00
Delyan Angelov 40a5c5c1a0
parser: make the $tmpl subparser more robust. The legacy .html mode, is now ON, only for .html template files.
Implement a .simple default mode, with *minimum* heuristcs, and only
supporting expansion of @expressions, @include, @if, @else, @for, @end.

The existing .html mode, with its complex state transitions for html/js/css
and heuristics, is now used *only* for template files, that have the `.html`
extension.
2022-01-18 14:57:45 +02:00
yuyi f0b7e5049b
parser: check the receiver error of method call (#13203) 2022-01-18 12:47:06 +02:00
Delyan Angelov d8263171ff
math.mathutil: remove deprecated mathutil_test.v (workaround spurious test failures, due to same _test.v name) 2022-01-17 17:52:57 +02:00
yuyi 39f80840d7
checker: check type mismatch in args of generics method calls (fix #13193) (#13196) 2022-01-17 16:48:59 +02:00
Delyan Angelov 4597c74d1a
markused: fix `v -gc boehm -skip-unused cmd/vls` 2022-01-17 16:32:40 +02:00
trueFireblade 727c9fb4a1
all: add string range OrExpr (#13189) 2022-01-17 13:03:10 +03:00
Delyan Angelov d1ac22e3bb
math.unsigned: small fix after rename 2022-01-17 11:35:02 +02:00
yuyi 851f265a5e
cgen: minor cleanup in match_expr() (#13192) 2022-01-17 11:26:20 +02:00
playX 8de1934f51
math: add an `unsigned` module, implementing Uint128, Uint256 and methods on them (#13186) 2022-01-17 11:23:21 +02:00
yuyi 31615d67c4
ast: fix typos in resolve_init() (#13191) 2022-01-17 11:00:57 +02:00
Hunam db48594bd4
datatypes: add an index method on LinkedList and Queue (#13185) 2022-01-16 19:11:10 +02:00
Delyan Angelov 2a3a4cfc84
math.bits: fix bits.div_64 behaviour for leading_zeros_64(y) = 0 2022-01-16 18:11:23 +02:00
yuyi 315b2deda9
cgen: fix match sumtype var returning sumtype value (#13184) 2022-01-16 13:12:27 +02:00
Delyan Angelov 6485b6eeb7
tests: skip valgrind tests, when valgrind is not present 2022-01-15 10:15:38 +02:00
yuyi dfc23d939f
ast, checker, cgen: fix array of sumtype initialisation with a default `init:` (#13178) 2022-01-15 09:59:38 +02:00
playX 7fe62a8b3e
js,os: fix `return` in `or` blocks; Properly get path_delimiter and path_separator in JS (#13179) 2022-01-15 09:55:03 +02:00
trueFireblade 9fd65b5b18
checker: fix unrecognised empty argument names in anon fn's (#13176) 2022-01-15 08:23:30 +02:00
jeffmikels f19197f9b0
builtin: make array.insert_many and array.prepend_many private (#13172) 2022-01-14 19:47:17 +02:00
yuyi 879d1d2f11
cgen: fix generics method with sumtype arguments (#13166) 2022-01-14 18:45:12 +02:00
playX 104e0c5692
js: fix break and continue in or blocks (#13165) 2022-01-14 18:43:18 +02:00
jeffmikels 9329b6c8c8
builtin: add more documentation (#13160) 2022-01-14 17:27:38 +02:00
yuyi 4660220f4c
util: fix the potential error of js_builder command (#13170) 2022-01-14 15:49:24 +02:00
jeffmikels 70aedaf184
builtin: add a string.parse_int/2 method (wrapping strconv.parse_int/3) (#13164) 2022-01-14 00:31:11 +02:00
jeffmikels 4189b7e280
builtin: add a `byterune` method on `[]byte` (#13145) 2022-01-13 22:26:17 +02:00
yuyi 155f897270
ast, parser, checker: fix generic struct field with default struct value (#13158) 2022-01-13 22:25:25 +02:00
Larpon 7fbd856bf8
os: add font module, move from gg (#13144) 2022-01-13 12:16:18 +02:00
yuyi 547169674d
cgen: fix fn call with mut sumtype argument (#13143) 2022-01-12 18:36:19 +02:00
Delyan Angelov b658b65774
scanner,cgen,vfmt: keep original when using byte char literals, test all 256 byte values in the C backend 2022-01-12 14:45:38 +02:00
yuyi 89165ed259
cgen: minor cleanup in comptime_if_cond() (#13142) 2022-01-12 11:40:11 +02:00
jeffmikels f99b79480d
cgen: reduce memory allocation and improve performance of cescape_nonascii (#13141) 2022-01-12 10:58:37 +02:00
jeffmikels ab642cac43
scanner, cgen: improve support for escape codes in backticks/runes (#13127) 2022-01-11 22:36:18 +02:00
Delyan Angelov c27ffc6054
ci: vfmt fmt.v ... 2022-01-11 17:32:15 +02:00
yuyi f3d8bbdf3d
cgen: fix `$if T.typ is Type {` (#13135) 2022-01-11 16:25:16 +02:00
Tim Basel 10efe47f03
parser: add support for mutable if guards (#13132) 2022-01-11 15:32:58 +02:00
Delyan Angelov ecc7accc8e
tests: test with valgrind rune.bytes(), fix leak in .str_escaped() 2022-01-11 15:23:40 +02:00
Delyan Angelov 8acd84d04a
builtin: reduce allocations in `rune.bytes()` 2022-01-11 15:23:39 +02:00
Ekopalypse cb684b5c64
builtin: allow msvc users to link against a custom compiled Boehm library (#13133) 2022-01-11 15:23:21 +02:00
yuyi 1e52b2c134
cgen: fix cast in the index of reference fixed array (fix #13128) (#13131) 2022-01-11 10:55:29 +02:00
jeffmikels 078229f213
builtin: add a rune.bytes() convenience method (#13129) 2022-01-11 09:55:51 +02:00
yuyi 791972ebc9
checker: check error for match conditions with parenthesis (#13130) 2022-01-11 09:50:20 +02:00
playX 65eb383cfd
dlmalloc: add a temporary workaround for a segfault (#13120) 2022-01-10 15:54:23 +02:00