Commit Graph

1379 Commits

Author SHA1 Message Date
ychenfo 4fcd48e4c8 try to use def list ast tuple and remove method_to_def_id map 2021-08-18 10:01:11 +08:00
ychenfo 619963dc8c removed locks in toplevelcomposer 2021-08-17 16:36:06 +08:00
ychenfo 276daa03f7 start refactorinng for less redundancy 2021-08-17 14:01:18 +08:00
ychenfo a94145348a fix on comments and redundant code, start handling 'self' things 2021-08-17 11:07:16 +08:00
ychenfo fa40fd73c6 formatted 2021-08-16 20:17:08 +08:00
ychenfo 79ce13722a partially parsed class methods nad fields 2021-08-16 17:40:12 +08:00
ychenfo eb814dd8c3 clean unused use 2021-08-16 13:57:21 +08:00
ychenfo 3734663188 add RefCell to FunSignature in TypeEnum 2021-08-16 13:53:45 +08:00
ychenfo d8c3c063ec split top level handling in several functions 2021-08-16 13:53:39 +08:00
pca006132 d3ad894521 removed code comment 2021-08-13 16:30:33 +08:00
pca006132 784111fdbe Merge remote-tracking branch 'origin/hm-inference_anto' into hm-inference 2021-08-13 16:28:04 +08:00
pca006132 d30918bea0 worker thread panic handling 2021-08-13 16:20:14 +08:00
pca006132 e2adf82229 threadpool for parallel code generation 2021-08-13 14:48:46 +08:00
ychenfo 33391c55c2 add Sync bound to Symbol resolver in top level 2021-08-13 14:22:49 +08:00
ychenfo 3f65e1b133 start refactor top_level 2021-08-13 13:57:24 +08:00
ychenfo ba5bb78f11 top level parse class base/generic 2021-08-13 13:57:24 +08:00
ychenfo e176aa660d commit for pull new symbol resolver 2021-08-13 13:57:24 +08:00
pca006132 cb01c79603 removed Arc from TypeEnum 2021-08-13 13:33:59 +08:00
pca006132 1db8378f60 formatting 2021-08-12 16:36:23 +08:00
pca006132 8c7ccb626b fixed symbol_resolver blanket implementation 2021-08-12 14:44:50 +08:00
pca006132 1f6c16e08b fixed compilation failure 2021-08-12 13:56:51 +08:00
pca006132 77943a8117 added primitive codegen test 2021-08-12 13:56:06 +08:00
ychenfo 3a93e2b048 TypeEnum::TObj.param is now RefCell for interior mutability 2021-08-12 13:17:51 +08:00
ychenfo 824a5cb01a register top level clean up 2021-08-12 10:51:41 +08:00
ychenfo 17ee8fe6d0 starting cleaning up and further add Arc<Mutex> 2021-08-12 10:51:41 +08:00
pca006132 d46a4b2d38 symbol_resolver: fixed type variable handling 2021-08-12 10:25:32 +08:00
pca006132 de8b67b605 refactored symbol resolver 2021-08-11 17:28:29 +08:00
pca006132 0af4e95914 Merge remote-tracking branch 'origin/hm-inference_anto' into hm-inference 2021-08-11 15:42:32 +08:00
ychenfo 99276c8f31 formatted 2021-08-11 15:18:21 +08:00
ychenfo 42a636b4ce add Arc<Mutex<dyn SymbolResolver>> and change from Box<SymbolResolve> to Arc<SymbolResolver>, need format and cleanup 2021-08-11 15:11:51 +08:00
pca006132 e112354d25 codegen refactored 2021-08-11 14:37:26 +08:00
ychenfo 43236db9bd update some previous work on top level with the clean up 2021-08-11 13:31:59 +08:00
ychenfo 1bec6cf2db continue working on the top level 2021-08-11 11:16:53 +08:00
pca006132 a73ab922e2 cleanup 2021-08-10 21:57:31 +08:00
ychenfo 82ce816177 refactored top level parsing, need review 2021-08-10 10:37:06 +08:00
ychenfo 6ad953f877 top level class roughly handled, push for review 2021-08-10 10:37:06 +08:00
pca006132 4db871c244 put alloca in init block 2021-08-09 16:37:28 +08:00
pca006132 cc0692a34c modified alloca 2021-08-09 16:19:20 +08:00
pca006132 7a90ff5791 while loop constructs 2021-08-09 16:10:17 +08:00
pca006132 d8c713ce3d assignment statement 2021-08-09 15:39:50 +08:00
pca006132 1ffb792000 make tuple a ptr to a struct instead of a struct 2021-08-07 17:41:48 +08:00
pca006132 057fcfe3df default parameter value generation 2021-08-07 17:31:01 +08:00
pca006132 86ca02796b function parameter handling 2021-08-07 17:25:14 +08:00
pca006132 711482d09c expr codegen cleanup 2021-08-07 15:30:03 +08:00
pca006132 7a38ab3119 codegen for function call 2021-08-07 15:06:39 +08:00
pca006132 34d3317ea0 store operation method signature 2021-08-07 10:41:53 +08:00
pca006132 c405e46b00 moving location and symbol_resolver out from typecheck 2021-08-07 10:28:41 +08:00
ychenfo 18db2ddd53 change the type TypeEnum::TObj {object_id} to DefinitionId as with top_level
change TopLevelDef::Class {object_id} to DefinitionId
2021-08-06 10:57:01 +08:00
ychenfo fe26070364 cleanup basic_test_env 2021-08-06 10:57:01 +08:00
pca006132 095f28468b added if expr 2021-08-05 16:52:41 +08:00