Commit Graph

52 Commits

Author SHA1 Message Date
Andrew Morris
ff47617862 Make compile_enum_value and static_eval_expr methods of ModuleCompiler 2023-07-24 14:10:15 +10:00
Andrew Morris
870c9eed2a Simplify diagnostic reporting 2023-07-24 13:58:12 +10:00
Andrew Morris
267a86fb2c Just pass ModuleCompiler to compile_enum_value, static_eval_expr 2023-07-24 11:24:07 +10:00
Andrew Morris
1a12e57435 Use compile-time borrowing of module compiler to simplify fnc, ec 2023-07-24 11:16:38 +10:00
Andrew Morris
d649272a6e Implement exporting constants 2023-07-24 10:26:54 +10:00
Andrew Morris
9536a5fc6e Capture this in arrow functions 2023-07-21 16:38:30 +10:00
Andrew Morris
24438aecb7 Implement constants that refer to other constants 2023-07-07 17:46:29 +10:00
Andrew Morris
48fd851fb7 Use ScopeAnalysis in static eval 2023-07-07 17:07:09 +10:00
Andrew Morris
581965e01b Make clippy a happy chappy 2023-07-07 16:08:28 +10:00
Andrew Morris
d763e0dd13 Implement enums 2023-07-07 10:49:21 +10:00
Andrew Morris
c29b6d64ae Don't skip code generation when static eval fails 2023-07-06 20:11:46 +10:00
Andrew Morris
3d5dada476 move (release ..) to after usage 2023-06-30 10:47:13 +10:00
Andrew Morris
50369d18f3 Partial support for module constants 2023-06-23 15:41:16 +10:00
Andrew Morris
9135181634 Mark most module statements as not supported 2023-06-23 14:17:10 +10:00
Andrew Morris
540b25225a Compile static methods 2023-06-23 10:02:32 +10:00
Andrew Morris
41a6a20573 Include static in class assembly and bytecode 2023-06-23 09:47:12 +10:00
Andrew Morris
b3b5887d8b methods -> prototype 2023-06-23 09:23:48 +10:00
Andrew Morris
6e1be5a929 Add Empty and Comment options to FnLine 2023-06-22 15:54:00 +10:00
Andrew Morris
c1c5bd6f82 Default to take:false, add take() 2023-06-22 08:32:38 +10:00
Andrew Morris
72f9fbf0f7 Represent register taking 2023-06-20 16:57:49 +10:00
Andrew Morris
9786625d97 Update playground to use generators 2023-06-01 13:18:35 +10:00
Andrew Morris
38b1bcfba2 Represent generators in assembly 2023-05-31 14:49:08 +10:00
Andrew Morris
b949027501 Enable defining Symbol.iterator on classes 2023-05-29 15:38:22 +10:00
Andrew Morris
cb7af7c8a3 Ignore type-only imports 2023-04-15 17:38:26 +09:00
Andrew Morris
0bc3269d66 Move Scope into its own file 2023-03-31 10:59:26 +11:00
Andrew Morris
08d7773314 Fix duplicate scope analysis 2023-03-29 08:13:27 +11:00
Andrew Morris
36e0b0d2cc Fix capturing for function declarations 2023-03-24 16:25:27 +11:00
Andrew Morris
d3391028ba Include ModuleDecl::ExportNamed 2023-03-24 12:47:28 +11:00
Andrew Morris
026c3e1619 Lookup returns option, enabling diagnostics, include ref when inserting name 2023-03-24 10:06:19 +11:00
Andrew Morris
ec14f657e9 wiiiip 2023-03-24 09:24:17 +11:00
Andrew Morris
64e79cf13b oof wip 2023-03-23 21:14:05 +11:00
Andrew Morris
1d1c4496b3 wip 2023-03-23 21:14:00 +11:00
Andrew Morris
7594eeeadd Replace capture_finder with scope_analysis data 2023-03-22 14:27:06 +11:00
Andrew Morris
399cfaa389 Support named exports 2023-03-12 16:40:21 +11:00
Andrew Morris
860e1108f7 Fix export_name default 2023-03-12 16:00:29 +11:00
Andrew Morris
98d92b67e6 Support export { default as (name) } 2023-03-12 15:51:06 +11:00
Andrew Morris
8d54c0907c Support more named exports 2023-03-12 15:32:57 +11:00
Andrew Morris
1b76dcafa5 Partial support for named exports 2023-03-12 15:17:14 +11:00
Andrew Morris
951ee0005d Enumerate module decls 2023-03-12 14:31:33 +11:00
Andrew Morris
6e1b5645ac Implement default export class 2023-03-09 16:14:19 +11:00
Andrew Morris
c5b75b35de compile -> compile_module 2023-03-09 14:17:56 +11:00
Andrew Morris
8e44cb2e95 Compile (but not run) imports 2023-03-08 11:12:53 +11:00
Andrew Morris
db2f2d4125 populate_scope_import and other populate_scope improvements 2023-03-08 09:56:25 +11:00
Andrew Morris
907c7072f7 More consistent definition ordering 2023-03-07 11:37:18 +11:00
Andrew Morris
f6eafd1d39 Export functions and classes 2023-03-07 11:27:08 +11:00
Andrew Morris
b4e450abcd Simplifiy todo diagnostics 2023-03-07 10:54:12 +11:00
Andrew Morris
5427fb1051 Populate scope for export decls 2023-03-07 10:31:17 +11:00
Andrew Morris
106bded066 Split out populate_scope 2023-03-07 10:17:06 +11:00
Andrew Morris
19904c41ec Ignore empty statements 2023-03-07 10:09:56 +11:00
Andrew Morris
be9b078864 Simplify default exports, fix anonymous 2023-03-07 10:05:17 +11:00