Commit Graph

5769 Commits (6a3d34ae1107ea9bcd3d5332845a9f5bcdc3b864)

Author SHA1 Message Date
yuyi f8b8950b96
checker: check mut interface arguments (#13479) 2022-02-16 11:53:41 +02:00
Alexander Medvednikov 5a14748e7c cgen: c2v enum fix 2022-02-16 12:05:32 +03:00
vyrus001 d4fc8601e0
builder: fix clang failing to link on windows due to an -ftlo error (#13470) 2022-02-16 09:13:26 +02:00
Delyan Angelov d25652fbcf
parser, ast: support -d for trace_rewrite_already_registered_symbol, trace_register_sym, trace_parse_stmt, trace_parse_comptime, trace_parse_text, trace_parse_file, trace_parse_vet_file 2022-02-15 13:20:40 +02:00
yuyi fb3dd82400
cgen: fix interface embedding complex cases (#13472) 2022-02-15 12:41:40 +02:00
yuyi f9fc136c24
all: rename InterfaceDecl.ifaces to InterfaceDecl.embeds (#13475) 2022-02-15 11:17:39 +02:00
crthpl e23db2f9b7
cgen: fix autogen free method for struct with shared field (#13469) 2022-02-15 03:55:06 +02:00
yuyi dc0b0c83c6
ast: fix error for interface embedding call (#13466) 2022-02-14 19:22:44 +02:00
Delyan Angelov f8bf3db568
markused: always include slice_ni & substr_ni too (support s#[] and a#[] in -skip-unused) 2022-02-14 19:05:30 +02:00
yuyi 8119a297f7
ast: fix error for 'struct embed is interface' (#13465) 2022-02-14 13:43:36 +02:00
yuyi b2f984280b
checker: strengthen the judgment of generic type parameters replacement, merge generic type init tests (#13460) 2022-02-14 02:38:47 +02:00
yuyi 2e0f8ee9e2
ast: fix error for struct embedding with interface (#13457) 2022-02-14 02:33:47 +02:00
yuyi 5071a54b99
cgen: split up into for.v, match.v, struct.v (#13454) 2022-02-13 07:52:49 +03:00
yuyi b5379255da
checker, cgen: fix error for struct embed with fn type (#13450) 2022-02-12 20:55:40 +02:00
Delyan Angelov 799c95dc4e
tests: filter test_ fns with params from the list of automatically run test functions (fix #13443) 2022-02-12 17:30:20 +02:00
Delyan Angelov 11a0df5bee
tests: rename struct_with_reference_alias_field.v to struct_with_reference_alias_field_test.v 2022-02-12 15:29:22 +02:00
crthpl 0eee012ae9
cgen: fix `x in shared_map` (#13442) 2022-02-12 11:55:25 +02:00
Tim Basel 37c151efe5
docs, builtin, encoding.csv: update error implementations (#13440) 2022-02-12 11:54:10 +02:00
yuyi ae0e90f5d8
cgen: fix struct init with embed field update (#13444) 2022-02-12 08:16:51 +03:00
yuyi 7178367de0
all: fix error for comptime for in field with generic fn (fix #13409) (#13439) 2022-02-11 22:00:13 +02:00
Tim Basel 9d0a5942ac
builtin: change IError `msg` and `code` to methods + fix vlib, add a deprecation notice for the old usages (#13041) 2022-02-11 15:52:33 +02:00
Vincenzo Palazzo 61024d4b75
repl: support aliased module imports too (#13423) 2022-02-11 15:03:14 +02:00
yuyi a21f4563b3
checker: check the arity and the kinds of the type parameters in generic struct inits (#13429) 2022-02-11 11:21:07 +02:00
Vincenzo Palazzo 7f29418c63
strconv: change atof64 to return an error, if the parsed value is not a valid number (#13424) 2022-02-10 13:27:32 +02:00
Delyan Angelov 9ed18efa53
checker: error on redefining any of the public builtin functions, not just ['print', 'println', 'eprint', 'eprintln', 'isnil', 'panic', 'exit'] (#13419) 2022-02-10 12:26:30 +02:00
yuyi f2eb50008d
parser, checker: cleanup struct short syntax processing (#13416) 2022-02-09 18:31:16 +02:00
yuyi 4be3c92640
checker: check generic struct init without type parameter (#13404) 2022-02-09 14:06:45 +02:00
Delyan Angelov 356ccf247f
cgen: add an earlier error, to pin point the use of closures on windows 2022-02-09 08:35:11 +02:00
Vincenzo Palazzo 10dcb2e0d9
parser: allow embedding interfaces from other modules (#13385) 2022-02-07 00:20:34 +02:00
Delyan Angelov 191e99c248
v.doc: use the .parse_comments mode, instead of the older .toplevel_comments (the scanner/parser is now more robust) 2022-02-06 23:49:21 +02:00
Vincenzo Palazzo d46ac40758
checker: add error for assigning `none` values (#13383) 2022-02-06 16:08:23 +02:00
div72 939bc9f26f
v.parser: fix compilation of normal .v files with -translated (#13363) 2022-02-06 12:53:20 +02:00
yuyi ece73836aa
cgen: fix error for struct with reference alias field (#13380) 2022-02-06 10:52:36 +02:00
Vincenzo Palazzo 4e13ee22e9
repl: reproduce the void print function error (#13372) 2022-02-06 08:05:25 +02:00
Alexander Medvednikov f23d2c8cf4 cgen: c2v variadic fixes 2022-02-06 03:36:38 +03:00
div72 cec7e91714
v.parser, v.checker, v.gen: add support for [translated] tag (#13373) 2022-02-06 00:16:02 +02:00
Delyan Angelov 5faabe7464
Revert "cgen: fix error for struct with reference alias fields (#13374)"
This reverts commit 4d485ae687.
2022-02-05 18:52:37 +02:00
yuyi 4d485ae687
cgen: fix error for struct with reference alias fields (#13374) 2022-02-05 18:23:54 +02:00
yuyi 173b4652fb
parser: check orm sql statements, using undefined variables in where expr (fix #13367) (#13368) 2022-02-05 11:32:41 +02:00
Vincenzo Palazzo c9a8d6448d
fmt: preserve formatting with comments in a empty map (#13362) 2022-02-05 10:05:35 +02:00
Vincenzo Palazzo b9fce4ef09
checker: make sure that the operator check is made on the concrete type (#13360) 2022-02-05 00:11:24 +02:00
Delyan Angelov a054f868a0
v.util: use a normalised relative file path in the error messages with /, even on windows, to make the compiler error tests more robust 2022-02-04 17:56:08 +02:00
yuyi a61b4809dc
ast, parser, checker: fix generic struct init with inconsistent generic types (#13359) 2022-02-04 14:24:38 +02:00
Delyan Angelov 85d36ed231
checker: stricter type casting error messages 2022-02-03 14:18:30 +02:00
yuyi be1e40dac0
cgen: fix error for sql statement inside fn call (fix #13330) (#13346) 2022-02-02 18:05:31 +02:00
crthpl c0c07db7cc
cgen: fix struct field init from shared struct field (#13343) 2022-02-02 10:55:57 +02:00
yuyi b10b65e134
cgen: fix error for interface with multi-nested embed struct (#13345) 2022-02-02 09:11:29 +02:00
Delyan Angelov d8cce0a71d
ci: fix cgen for interface_struct_with_multi_nested_embed_test.v for gcc/clang 2022-02-01 17:12:15 +02:00
yuyi a014844050
cgen: fix error for interface with multi nested embed structs (fix #13331) (#13336) 2022-02-01 14:50:12 +02:00
yuyi b34860e39b
ast, checker: fix error for calling complex nested generic type function (fix #13025) (#13328) 2022-01-31 13:00:27 +02:00
Delyan Angelov 46a096b95d
Revert "v.util: make mod_path_to_full_name more robust"
This reverts commit b11ce91141.
2022-01-31 06:57:50 +02:00
Delyan Angelov b11ce91141
v.util: make mod_path_to_full_name more robust 2022-01-30 22:26:36 +02:00
Delyan Angelov f6cb772347
v.util: prepare for removing vlib/v/util/module.v - improve tracing, comment edge cases with actual data 2022-01-30 15:08:33 +02:00
Benjamin Stigsen ceb05b163a
strings: rename Builder.write_b() to Builder.write_byte(), add deprecation (#13313) 2022-01-28 20:34:44 +02:00
Delyan Angelov 71d98717dc
checker: small cleanup of commit edc6c9e 2022-01-28 11:03:15 +02:00
Yamada Hayao edc6c9e24f
checker: show error instead of panic, when using a `somemodule.NonExistingEnum.enum_value` (#13295) 2022-01-28 11:02:51 +02:00
Delyan Angelov daa5be4c27
ci: skip vlib/v/checker/tests/modules/deprecated_module on windows for now 2022-01-27 15:38:52 +02:00
yuyi 9dce8194a8
cgen: fix error of method calls on nested embedded structs (#13292) 2022-01-27 13:20:56 +02:00
Delyan Angelov f8f7bc8ead
ci: fix deprecated_module.out file too 2022-01-27 13:16:25 +02:00
Delyan Angelov ebad7301f9
ci: fix failing deprecated_module test on windows 2022-01-27 13:15:34 +02:00
Delyan Angelov e1a2ab345d
parser,ast,checker: add support for `[deprecated: "use another module"] module obsolete` 2022-01-27 12:34:14 +02:00
yuyi 3bd528b218
ast, checker, cgen: fix error for map sumtype value init (#13290) 2022-01-27 09:44:34 +02:00
Delyan Angelov 3fa9128716
cgen,pref: support `-profile-fns strings__new_builder,i64_str -profile -` 2022-01-26 20:39:47 +02:00
yuyi 291a1ffd8d
token: rename Position to Pos, rename position() to pos() (#13279) 2022-01-26 12:36:28 +02:00
yuyi d71fc0d13f
checker: fix error for cast to alias of reference struct (#13278) 2022-01-26 12:32:14 +02:00
Alexander Medvednikov 4715fb67c1 checker: c2v fixes for enums and pointer to numbers 2022-01-25 20:15:45 +03:00
yuyi ca1f675dba
ast, checker, cgen: implement if guard with multi return optional (#13273) 2022-01-25 14:36:33 +02:00
Subhomoy Haldar fe77e64b3e
os: remove trim_space() in os.execute() on windows, to make implementations consistent (#13272) 2022-01-25 14:09:56 +02:00
Delyan Angelov a913983408
ci: fix -cstrict jobs (use U postfix for u64 hash constants in embed.v) 2022-01-25 12:50:19 +02:00
crthpl 009a65b1fc
cgen: fix appending an array to a shared array (#13265) 2022-01-25 12:05:43 +02:00
Delyan Angelov 5f38ba896e
parser,cgen: handle `const x = $embed_file("file.txt").to_string()` 2022-01-25 11:40:07 +02:00
yuyi 509a8fcaf1
cgen: fix 'for in mut val' with 'if val in' (#13263) 2022-01-24 17:08:21 +02:00
Delyan Angelov 0347dadf75
ci: vfmt checker.v 2022-01-24 14:01:35 +02:00
yuyi 3bfad1b943
checker: fix method call errors for generic struct instances (#13261) 2022-01-24 12:45:19 +02:00
skurgs 7fd08eca96
checker: fix c error on improper string to rune cast (#13197) (#13257) 2022-01-24 12:13:22 +02:00
yuyi edf0bc365c
checker: fix ui struct init error with default field value is const variable (#13215) 2022-01-23 18:37:52 +02:00
Delyan Angelov 86a2562fa7
ci: skip repl_test.v on windows for now 2022-01-23 01:37:03 +02:00
Delyan Angelov 657270faa8
ci: show more details for REPL tests on windows 2022-01-23 01:37:03 +02:00
Delyan Angelov 86930873ac
ci: fix vsh_envbang_test.v 2022-01-23 01:37:02 +02:00
Delyan Angelov fba9587323
ci: fix compiler_errors_test.v too 2022-01-23 00:09:32 +02:00
Delyan Angelov 359b674cff
ci: fix more failing tests 2022-01-22 23:18:09 +02:00
Delyan Angelov 9057e9f1dd
ci: fix vls compilation 2022-01-22 23:08:30 +02:00
Delyan Angelov 62c3ad4953
use os.quoted_path more 2022-01-22 22:22:22 +02:00
Delyan Angelov fa6f7d4c83
os: add os.quoted_path/1, use it consistently for running V itself 2022-01-22 21:13:28 +02:00
Delyan Angelov 9ebd56caa7
cgen,json: bugfix for json.decode; now `[skip]` fields are initialised 2022-01-22 19:29:38 +02:00
yuyi e66e35ced1
json: fix error for json encoding sumtype value (#13248) 2022-01-22 17:55:19 +02:00
crthpl cbd3c14e83
cgen: fix codegen for struct field with a shared array of points (#13222) 2022-01-21 17:08:19 +02:00
yuyi ffb263c2e1
ast: minor cleanup of commented struct Field (#13231) 2022-01-21 15:00:21 +02:00
yuyi 05ff8f516d
ast: fix error for generic sumtype init in generic fn call (#13238) 2022-01-21 14:46:55 +02:00
Tim Basel 6c8e7f53b5
transformer: fix some missing `stmt` assignments (#13236) 2022-01-21 12:11:10 +02:00
yuyi edbb39b81d
checker: correct error message of struct_decl() (#13240) 2022-01-21 12:10:09 +02:00
Delyan Angelov 295156e054
checker,cgen: implement v.profile.on/1, support `[if profile]` and `-d no_profile_startup` (#13232) 2022-01-21 03:26:05 +02:00
Delyan Angelov 9e0156b46a
net: copy the freebsd address declarations for netbsd, openbsd, dragonfly 2022-01-20 20:15:50 +02:00
yuyi 7c9cd855b4
cgen: fix fn call with fixed array literal arguments (#13225) 2022-01-20 15:04:16 +03:00
yuyi d553071e65
parser, checker: correct error message for a fixed array size using a non constant (fix #13219) (#13228) 2022-01-20 13:03:19 +02:00
yuyi 09797e493e
checker: check generics undefined operation of infix expression (#13223) 2022-01-20 08:57:25 +02:00
Tim Basel 14b33baa3b
transformer: refactor + apply transform to (hopefully) all nodes (#13216) 2022-01-20 08:40:16 +02:00
yuyi ba3308296b
ast: rename register_type_symbol to register_sym (#13217) 2022-01-19 20:16:23 +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