Commit Graph

761 Commits

Author SHA1 Message Date
a10ab81ee7 toplevel composer: add ast to class methods, suppress warning 2021-09-17 00:39:42 +08:00
f5353419ac codegen: minimized lock holding time
The previous way of holding the lock would prohibit multithread code
generation for llvm
2021-09-16 21:36:42 +08:00
180392e2ab typecheck: fixed recursive substitution 2021-09-12 21:33:21 +08:00
471547855e nac3core: toplevel change class method name handling, cleanup comments 2021-09-12 13:14:46 +08:00
2ac3f9a176 nac3core: separate top level compoer to a new file 2021-09-12 05:10:10 +08:00
cb310965b8 nac3core: toplevel register consider module path 2021-09-12 05:00:26 +08:00
118f19762a nac3core: toplevel format 2021-09-12 04:40:40 +08:00
b419634f8a nac3core: top level fields inheritance check, more tests 2021-09-12 04:34:30 +08:00
147298ff40 nac3core: top level fix class fields as nac3 spec 2021-09-12 03:49:21 +08:00
c7cb02b0f3 nac3core: toplevel fix parse type annotation dead lock 2021-09-12 03:01:56 +08:00
03b5e51822 nac3standalone: cleanup 2021-09-10 21:27:08 +08:00
4eacd1aa9e nac3core: top level err test 2021-09-10 21:26:39 +08:00
9eef51f29f nac3core: top level class method self parameter fixed 2021-09-10 16:14:08 +08:00
917d447605 nac3core: clean up, fix broken test 2021-09-09 02:09:35 +08:00
f1013d9a17 nac3core: top level fix type var within list tuple, test of type var application compatibility 2021-09-09 02:03:44 +08:00
2ce507964c nac3core: fix broken top level test due to hashmap order 2021-09-09 00:44:56 +08:00
5a1a8ecee3 nac3core: self is not not allowed to explicitly appear in method type annotations 2021-09-08 21:53:54 +08:00
1300b5ebdd nac3core: clean up and format 2021-09-08 19:45:36 +08:00
87f25e1c5d nac3core: remove mutex on dyn symbol resolve 2021-09-08 19:27:32 +08:00
55335fc05d nac3core: top level simple type var handled 2021-09-08 02:27:12 +08:00
247b364191 nac3core: top level fix cyclic ancestor analysis, add tests 2021-09-07 17:30:15 +08:00
bbcec6ae6f nac3core: toplevel fix bug in make self annotation and return type check 2021-09-07 10:03:31 +08:00
235b6e34d1 nac3core: top level derive fmt::Debug, fix dead lock 2021-09-07 00:20:40 +08:00
54b4572c5f nac3core: allow interior mutability to dyn symbolresolver, add add_id_def to symbolresolver trait, remove primitive from top level def list 2021-09-06 19:23:04 +08:00
dc7c014b10 nac3core: top level more test 2021-08-31 17:40:38 +08:00
1ae6acc061 nac3core: top level fix function/methods none return type 2021-08-31 15:41:48 +08:00
98d032b72a nac3core: top level fix duplicate def, start adding tests 2021-08-31 15:23:57 +08:00
7bbd608492 nac3core: top level cleanup, rewrite ancestors handling, __init__ occruence check 2021-08-31 13:54:16 +08:00
4a9593efa3 nac3core: top level clean up and fix ancestors analysis 2021-08-30 22:47:55 +08:00
098bd1e6e6 nac3core: top level check inheritance method overload 2021-08-30 17:39:29 +08:00
82c2edcf8d nac3core: toplevel cleanup and add list and tuple support 2021-08-30 14:16:11 +08:00
40e58d02ed nac3core: toplevel all ancestors are put into the def list, disallow generic base class for now 2021-08-30 14:15:57 +08:00
e2a9bdd8bc nac3core: toplevel no duplicate type var too early 2021-08-30 14:15:36 +08:00
236989defc nac3core: remove unnecessary inline and function parameters 2021-08-27 16:52:31 +08:00
22a728833d nac3core: fixed broken test 2021-08-27 16:50:53 +08:00
2223c86d9b nac3standalone: compile multiple functions 2021-08-27 16:25:59 +08:00
72aebed559 nac3core: unification table optimization
avoid cloning values that we no longer need.
2021-08-27 13:05:06 +08:00
8c1c7fcfc3 nac3core: fixed broken tests 2021-08-27 13:04:51 +08:00
6633eabb89 nac3core: optimized by using HashSet 2021-08-27 12:36:51 +08:00
d81249cabe nac3standalone: enabled optimization and recorded time 2021-08-27 12:35:21 +08:00
bf4e0009c0 codegen: do not generate cont_bb if unreachable 2021-08-27 11:46:12 +08:00
52dd792b3e nac3standalone: added return check 2021-08-27 11:39:36 +08:00
a24e204824 type_inferencer: check defined identifiers during inference 2021-08-27 11:13:43 +08:00
35ef0386db move helper function to another file 2021-08-27 10:21:51 +08:00
b9a580d271 handle class method/fields type var 2021-08-27 09:53:09 +08:00
018d6643e1 top level: top level function type var handled
top level: class methods/fields type var handling
2021-08-27 01:41:34 +08:00
935e7410fd check type params in class generic base declaration 2021-08-26 11:54:37 +08:00
1a21fb1072 fix codegen test about top level composer return type change 2021-08-25 18:00:01 +08:00
35a331552b cyclic inheritance check added 2021-08-25 17:47:26 +08:00
0bab477ab0 get rid of nested tuple in type annotation helper function 2021-08-25 17:47:26 +08:00