Commit Graph

1565 Commits

Author SHA1 Message Date
Dmitry Petrov c4bbcadb34 IR: Collapse desugared blocks as a postprocessing pass. 2016-10-18 09:08:06 +03:00
Dmitry Petrov aa7bf4637b IR:
- function with expression bodies are desugared to blocks with return statement;
- property initializers are generated as regular expression bodies.
2016-10-18 09:08:06 +03:00
Dmitry Petrov f903fb8ad3 IR: destructuring declarations in regular statements 2016-10-18 09:08:05 +03:00
Dmitry Petrov 37cce98d19 Simplify IrElement hierarchy.
IrDeclaration can be now hosted under IrExpression (as IrStatement).
2016-10-18 09:08:04 +03:00
Dmitry Petrov 55eb79febf Make IrExpression.type nullable. 2016-10-18 09:08:04 +03:00
Dmitry Petrov 030111b130 IrBody is no longer a declaration owner.
Local declarations in expression tree.
Call generator supports argument reordering.
2016-10-18 09:08:03 +03:00
Dmitry Petrov b1af1af8a4 IR test tests: use that magical '<<<' everywhere. No need for 'IR_FILE_TXT'. 2016-10-18 09:08:03 +03:00
Dmitry Petrov 4ccf3c3590 Refactor calls and related expressions 2016-10-18 09:08:02 +03:00
Dmitry Petrov 3e11f35918 Qualified expressions and safe calls 2016-10-18 09:08:02 +03:00
Dmitry Petrov b80782c295 Testing framework: allow comparing subtrees starting at a given line with expected dump text. 2016-10-18 09:08:02 +03:00
Dmitry Petrov c93666f6f1 - IR expressions for calls & references
- first calls "parsed"
2016-10-18 09:08:01 +03:00
Dmitry Petrov cb79f377f0 Mutable declarations IR. 2016-10-18 09:06:55 +03:00
Dmitry Petrov 64abecf996 IR elements fixes & refactorings 2016-10-18 09:06:55 +03:00
Dmitry Petrov 7879fb7084 IR: first somewhat meaningful expression IR generation 2016-10-18 09:06:54 +03:00
Dmitry Petrov ad405f26fd IR: first smoke test 2016-10-18 09:06:54 +03:00