LoopTypeInfo became TypeInfoWithJumpInfo rewritten in Kotlin.
Fixed a bug with break inside Elvis inside a loop, a pack of related tests added.
isTrueConstant moved to JetPsiUtil.
isLocalVariable added. Assignment / initialization analysis.
Control whether a variable is changed in a loop at the beginning and at the end of the loop.
Control whether a variable is captured in a closure. #KT-3175 Fixed. #KT-2266 Fixed.
Tests for variable null safety and for variables is/as operations.
Loop / closure / variable property tests are included.
Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
Drop kotlin.modules package from runtime
Move adapted classes into compiler
Unsupport files with "ktm" extension
Delete code for loading module scripts
Drop tests for module scripts
Separate section for java source roots in xml script generator/parser
A local descendant of JetTypeInfo added to save separately current data flow info and jump point data flow info together with jump opportunity.
Now data flow analysis know about loop bodies that must be executed at least once (do...while, while(true) until the first break/continue).
A set of tests for smart casts in and after loops.
Existing DoWhile and WhileTrue resolve tests corrected in accordance.
- PackageLocalClassNotImportedWithDefaultImport.kt goes to codegen multi-file
tests. File in java.lang moved to kotlin.jvm, which seems irrelevant to the
test, because java.lang is prohibited by the VM
- MergePackagesWithJava.kt (KT-689, Java and Kotlin in the same package) and
kt955.kt (Unable to import from default package) are considered too obsolete
to even test and are thus deleted
Also check that there's no more than 1000 lines in the .txt file in diagnostic
tests.
Now it checks:
- Whether resolveToDescriptor on secondary constructors works well
- If there is explicit primary constructor declaration
resolveToDescriptor should return it
- Renderer itself works well with constructors
- Parameter named `value` is always first
- Array parameter represented as vararg iff its name is `value` and all
other parameters have default values
#KT-2576 Fixed
#KT-6641 Fixed
#KT-6220 Fixed
#KT-6652 Fixed