Commit Graph

141 Commits (36ec47cd203a1f119da74b868ceb92f6da7ea930)

Author SHA1 Message Date
Alexander Medvednikov 36ec47cd20 all: replace "NB:" with "Note:" (docs/comments) 2022-03-06 20:01:22 +03:00
yuyi 36e80266e6
ast: fix error for 'for smartcast' - part 2 (#13635) 2022-03-02 16:01:20 +02:00
yuyi 22017ff8f4
parser: fix error for 'for smartcast' - part 1 (#13629) 2022-03-02 12:18:03 +02:00
yuyi efeb3e04da
ast: add table.is_sumtype_or_in_variant() (#13615) 2022-02-28 11:38:20 +03:00
yuyi b5e7cef1b1
ast: define 'const invalid_type_idx = -1' (#13573) 2022-02-23 11:54:43 +03:00
playX b842e89acc
all: initial implementation of compile-time types (#13549) 2022-02-21 17:42:54 +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 f9fc136c24
all: rename InterfaceDecl.ifaces to InterfaceDecl.embeds (#13475) 2022-02-15 11:17:39 +02:00
yuyi dc0b0c83c6
ast: fix error for interface embedding call (#13466) 2022-02-14 19:22:44 +02:00
yuyi 8119a297f7
ast: fix error for 'struct embed is interface' (#13465) 2022-02-14 13:43:36 +02:00
yuyi 2e0f8ee9e2
ast: fix error for struct embedding with interface (#13457) 2022-02-14 02:33:47 +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 a61b4809dc
ast, parser, checker: fix generic struct init with inconsistent generic types (#13359) 2022-02-04 14:24:38 +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 e1a2ab345d
parser,ast,checker: add support for `[deprecated: "use another module"] module obsolete` 2022-01-27 12:34:14 +02:00
yuyi 291a1ffd8d
token: rename Position to Pos, rename position() to pos() (#13279) 2022-01-26 12:36:28 +02:00
yuyi 05ff8f516d
ast: fix error for generic sumtype init in generic fn call (#13238) 2022-01-21 14:46:55 +02:00
yuyi ba3308296b
ast: rename register_type_symbol to register_sym (#13217) 2022-01-19 20:16:23 +02:00
yuyi 64c8fb061d
ast: fix generics with nested generic type parameter (fix #13077) (#13088) 2022-01-08 19:19:45 +02:00
Delyan Angelov d3489d4246
builtin: s.trim_prefix/1 -> s.trim_string_left/1, s.trim_suffix/1 -> s.trim_string_right/1 2022-01-05 12:49:22 +02:00
yuyi 6c1ae4f689
ast: simplify mktyp() (#13028) 2022-01-04 18:37:18 +02:00
yuyi b94c5c2a9c
ast: fix fn_type_signature for anon functions with alias arguments (#13024) 2022-01-04 16:02:53 +02:00
Alexander Medvednikov 59ed4be49a all: update copyright year 2022-01-04 12:21:12 +03:00
yuyi 00a0c1886e
ast, cgen: fix const fixed array of reference value (#13022) 2022-01-04 11:36:29 +03:00
Delyan Angelov 41e763f79c
checker: add error for `type StructAlias = Struct struct Struct { field StructAlias }` 2022-01-02 15:54:40 +02:00
Delyan Angelov 93c40e696d
all: add support for `type MyEnumAlias = MyEnum` 2021-12-30 13:42:06 +02:00
Delyan Angelov 7531f78f67
ast: remove const hack for global_table, use a proper global instead 2021-12-30 13:15:55 +02:00
Delyan Angelov 43fee6b3d5
all: fix registration of methods with the same name on different generic structs 2021-12-28 21:42:48 +02:00
yuyi 55d9c24063
ast: fix generic fn with multiple return (#12971) 2021-12-26 16:44:41 +02:00
yuyi c0dcd1a9a5
ast: fix reference of alias char type (#12951) 2021-12-24 11:11:20 +02:00
yuyi cd0b581445
ast: rename 'table.get_type_symbol()' to 'table.sym()' and more related calls (#12898) 2021-12-19 18:25:18 +02:00
Delyan Angelov 6ff953d936
preludes,builder,cgen: add support for VTEST_RUNNER=tap and -test-runner tap (#12523) 2021-12-16 15:59:46 +02:00
yuyi 9b4329d2f6
ast, checker, cgen: fix interface method with struct embed (#12783) 2021-12-10 14:56:13 +02:00
yuyi 7fc9e614a3
ast, parser, checker: fix generic fn in builtin module (#12769) 2021-12-09 21:37:43 +02:00
playX 1cb06a2de4
js: ast.GoExpr support using promises on JS backend (#12749) 2021-12-07 12:11:54 +03:00
yuyi 36fbd3c4fa
checker: check sumtype as mismatched type (#12743) 2021-12-07 01:31:47 +03:00
yuyi 2754368873
ast: correct comments of the find_field_from_embeds (#12723) 2021-12-05 06:21:39 +02:00
yuyi 0f50ac3260
ast: cleanup struct embeds related methods (#12719) 2021-12-04 18:46:41 +02:00
yuyi 0cb4557a8d
ast, checker, cgen: fix nested struct embed method call (#12714) 2021-12-04 14:51:42 +02:00
yuyi 2d43fdb42a
ast, checker, cgen: fix nested struct embed error (fix #12659) (#12712) 2021-12-04 11:19:19 +03:00
Alexander Medvednikov eca78a2906 checker: allow infix expressions in enum declarations 2021-12-03 07:45:37 +03:00
Delyan Angelov 47aa2b1f93
all: fix casting of `string(MyString('abc'))` and `byte(MyByte(123))`; improve TypeSymbol handling (#12617) 2021-12-01 09:50:53 +02:00
yuyi 9825c7e06c
ast: fix generic sumtype of alias generic struct (#12611) 2021-11-29 15:12:00 +02:00
yuyi 43a1d2cfea
ast: cleanup table.v (#12561) 2021-11-24 09:56:56 +02:00
yuyi e42db5bee2
ast: fix vtl compile error of generic array type cname (#12555) 2021-11-23 20:11:51 +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 3fab0a5d05
cgen: fix codegen for `for k,v in map_of_pointers {` 2021-11-16 17:03:58 +02:00
yuyi 9ec1262734
ast: fix generic nested struct init (#12405) 2021-11-07 17:06:37 +02:00