Commit Graph

26 Commits

Author SHA1 Message Date
Dmitry Petrov
e2fa613b70 Cache array length in for-in-array loop if possible
If the range expression is not a local variable (which can be updated in
the loop body affecting loop behavior, see KT-21354), we can cache the
array length, thus turning a for-in-array loop into a simple optimizable
counter loop.

 #KT-21321 In Progress
2017-11-29 10:15:32 +03:00
Mikhael Bogdanov
e1bec0df2e Proper generate interval for catch block variable; Fix for KT-15646: InconsistentDebugInfoException when stepping over throw
#KT-15646 Fixed
2017-01-19 09:33:10 +01:00
Mikhael Bogdanov
5071baf970 Support increment and '*=' operations on inline properties 2017-01-10 14:09:42 +01:00
Denis Zharkov
a9fcee098d Support single-underscore named variables in JVM backend
There are mainly two kind of changes:
- skipping 'componentX' calls for destructuring entries named _
- fixing local variable table for them
 - skip entries for destructuring entries named _
 - use $noName_<i> format for lambda parameters named _

 #KT-3824 Fixed
 #KT-2783 Fixed
2016-10-24 10:19:25 +03:00
Denis Zharkov
4793f71da2 Properly generate indices for destructured parameters in inline case
#KT-14399 Fixed
2016-10-19 16:05:50 +03:00
Denis Zharkov
42e85b07c9 Fix types in local var table for destructured variables 2016-09-20 13:44:44 +03:00
Denis Zharkov
e75efc88ff Add support for desctructuring of lambda parameters in JVM backend
#KT-5828 In Progress
2016-09-19 20:22:57 +03:00
Natalia Ukhorskaya
e611154580 Minor: fix testData after e2d2d696c0d8b24ebe310fd880a912d6eb428872s 2016-03-15 14:53:03 +03:00
Michael Bogdanov
16afe74dc1 Fix for KT-11117: Android Kotlin DEX transformation error when I use arrayOf as an anonymous object property
#KT-11117 Fixed
2016-02-29 12:53:58 +03:00
Dmitry Jemerov
970d6f6834 generate local variables table for @JvmOverloads-generated methods
#KT-7319 Fixed
2016-02-02 12:11:51 +01:00
Ilya Gorbunov
801a26a544 Fix testData 2016-02-01 22:20:30 +03:00
Natalia Ukhorskaya
a1f3c5381e Rename local variable for this in inline function 2015-12-01 11:48:41 +03:00
Michael Bogdanov
a932315bf9 Rename local vars from inlined function
#KT-9798 Fixed
2015-12-01 11:48:40 +03:00
Natalia Ukhorskaya
9168572b8c Write local variable for inline function and inline argument 2015-10-17 17:02:55 +03:00
Dmitry Petrov
a47eaa2cb5 Change part class naming scheme
update tests depending on part class naming
2015-09-07 16:28:42 +03:00
Denis Zharkov
9802931a90 Remove variables with empty ranges from local vars table
As their ranges may intersect after dead code elimination that leads to VerifyError
2015-06-04 16:11:02 +03:00
Michael Bogdanov
8cd496556c Generate local var table 2015-04-09 09:25:26 +03:00
Alexander Udalov
c30aa7db84 Include package part name to top level closure names
#KT-4234 Fixed
 #KT-4496 Fixed
2014-09-26 10:22:25 +04:00
Natalia Ukhorskaya
bdc60441c0 Try-catch exception value is not visible in debugger's local variables
#KT-3070 Fixed
2014-06-23 17:40:04 +04:00
Mikhael Bogdanov
93367ffd3b Generate local variable table for inlined lambda 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
4f5b20a8db Test framework for inline 2014-03-03 15:43:35 +04:00
Evgeny Gerashchenko
e625a3a869 Cleanup of CheckLocalVariablesTableTest 2013-12-17 20:28:43 +04:00
Natalia.Ukhorskaya
47abdcf565 Rename namespace class to {package.name}Package
Conflicts:

	compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java
2013-01-15 19:45:06 +04:00
Natalia.Ukhorskaya
b5a3486131 Back-end: correct indexes of local variables for double and long
#KT-3033 Fixed
2012-11-12 15:03:54 +04:00
Natalia.Ukhorskaya
bacc76944d KT-2044 : "this" added in local variables table in bytecode for local functions also 2012-06-01 13:56:11 +04:00
Natalia.Ukhorskaya
de605637e6 Change test name. Change order of parameters in test instructions 2012-05-30 15:52:59 +04:00