Dmitry Petrov
8de21aadfa
'?:' (currently represented as binary expression with operator ELVIS)
2016-10-18 09:08:13 +03:00
Dmitry Petrov
0d94c3aeb4
'in' and '!in' operators.
2016-10-18 09:08:12 +03:00
Dmitry Petrov
96e3c52878
Equality and identity operators.
2016-10-18 09:08:12 +03:00
Dmitry Petrov
db5843adc8
Desugar comparison operators as IrBinaryOperatorExpression.
...
They are not exactly 'compareTo' calls (although annotated with a related 'compareTo' function),
and require special treatment in BEs.
2016-10-18 09:08:11 +03:00
Dmitry Petrov
1b018a6ead
Desugar basic binary operators (+, -, *, /, %, ..).
...
Fold String.plus calls to IrStringConcatenationExpression.
2016-10-18 09:08:11 +03:00
Dmitry Petrov
287d804131
Rematerialize simple expressions (local variables, literals, $this, $receiver) when generating calls.
2016-10-18 09:08:11 +03:00
Dmitry Petrov
c1583c4368
Complex augmented assignment test.
...
Fix string literal creation for empty string template.
2016-10-18 09:08:10 +03:00
Dmitry Petrov
64d7a97145
IR, testing framework: if no tree labels were provided in source file, use default golden file.
2016-10-18 09:08:10 +03:00
Dmitry Petrov
aee83f5a77
Minor: IrIndexedLValue can use IrExpression's, since its subexpressions should be evaluated once.
2016-10-18 09:08:09 +03:00
Dmitry Petrov
888b1685ed
Introduce name hints for temporary variables.
...
Split IrValue.kt into a subpackage.
2016-10-18 09:08:09 +03:00
Dmitry Petrov
177acaabf5
Refactor top-down generation.
2016-10-18 09:08:08 +03:00
Dmitry Petrov
278dc14124
IrSingleExpressionValue
2016-10-18 09:08:08 +03:00
Dmitry Petrov
d7412c449e
IR: augmented assignment for array access expressions
2016-10-18 09:08:07 +03:00
Dmitry Petrov
0a57eb8ea4
IR:
...
- smart casts handling separated from expression generation
- improved infrastructure for desugaring
2016-10-18 09:08:07 +03:00
Dmitry Petrov
ecf6ab9e25
IR:
...
- Redo smart casts handling (yet again).
Front-end typing information can't be used for expressions in IR,
since it provides inferred type for PSI expressions for the last corresponding resoled call.
- Assignments handling, initial implementation.
2016-10-18 09:08:07 +03:00
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
2707d33ca7
IR: dummy declarations for class/object and typealias
2016-10-18 09:08:05 +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
c09ba962c4
minor: refactor TypeAliasQualifier, it doesn't have to provide type alias descriptor
2016-10-18 09:07:43 +03:00
Dmitry Petrov
dc7a90a081
Minor: IrFileElementFactory -> IrDeclarationFactory
2016-10-18 09:06:57 +03:00
Dmitry Petrov
7b3ae8ffec
Use source offset ranges instead of source locations.
2016-10-18 09:06:56 +03:00
Dmitry Petrov
5e609c7de4
Declaration IR refactoring.
2016-10-18 09:06:56 +03:00
Dmitry Petrov
4f469c798c
Mutable expressions IR.
2016-10-18 09:06:55 +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
Dmitry Petrov
520a3133bc
minor: allow specifying indentation unit in Printer
2016-10-18 09:06:53 +03:00
Dmitry Petrov
1600037625
KT-14307, KT-14377: Run declaration checks on local type aliases.
2016-10-17 16:22:04 +03:00
Nikolay Krasko
6a72cebe88
Add indent before colon of super types list on new line (KT-13981, KT-5117)
...
#KT-13981 Fixed
#KT-5117 Fixed
(cherry picked from commit dfea3af)
2016-10-17 15:16:48 +03:00
Nikolay Krasko
944b9b5b6c
Evaluate overloaded toString() in watches for Kotlin classes with delegate properties (KT-14068)
...
(cherry picked from commit 7774d2c)
#KT-14068 Fixed
2016-10-17 15:16:46 +03:00
Denis Zharkov
440bdea736
Update ChangeLog.md
2016-10-17 14:06:56 +03:00
shiraji
a1f1716044
Add inspection/intention for redundant calls of conversion methods #KT-10871 Fixed
...
Also #KT-12625 Fixed
2016-10-17 12:05:18 +03:00
Dmitry Petrov
a5d6559056
KT-14360 Microoptimizations in RedundantCoercionToUnitTransformer
2016-10-17 10:13:03 +03:00
Dmitry Petrov
753a558bcb
KT-14352 Record short reference to companion object via type alias,
...
so that it would be checked properly.
2016-10-17 10:11:58 +03:00
Dmitry Petrov
ac675784c1
KT-14357 Run RedundantCoercionToUnitTransformer before DeadCodeEliminatingMethodTransformer.
...
Remove empty try-catch blocks in DeadCodeEliminatingMethodTransformer.
2016-10-17 10:10:46 +03:00
Ilya Gorbunov
932e6753e5
Update changelog: standard library and JS sections.
2016-10-15 07:32:09 +03:00
Nikolay Krasko
87fb6dd3b8
Minor: rename ForkJoinPoolPatcherForTeamCityTesting -> ThreadTrackerPatcherForTeamCityTesting
...
(cherry picked from commit c6b128e)
2016-10-14 21:06:28 +03:00
Nikolay Krasko
8c2e61604e
Test for "Debugger: "Step over" dives into recursive call" (KT-12924)
...
Fixed in 7992df7b93
(cherry picked from commit 78e2f05)
#KT-12924 Fixed
2016-10-14 21:06:27 +03:00
Zalim Bashorov
c21e1eb857
Report error when try to use unsupported reflection API in Kotlin JS; allow to use kotlin.Any members on reflection classes for both platforms.
2016-10-14 19:44:58 +03:00
Zalim Bashorov
11b2c5fe59
JS: change visibility to internal for library and marker annotations
2016-10-14 19:44:57 +03:00