Mikhail Zarechenskiy
088800d82f
Report error about val reassignment via backing field since Kotlin 1.3
...
Also improve message for current warning
#KT-16681 Fixed
2017-09-07 12:54:31 +03:00
Mikhail Zarechenskiy
03440210ee
Introduce language version 1.3
2017-09-07 12:52:32 +03:00
Alexander Udalov
27b8b209e3
Refactor accessors for backing fields in JVM back-end
2017-09-07 12:24:54 +03:00
Alexander Udalov
326111aece
Render .kotlin_module files nicely for tests
2017-09-07 12:24:53 +03:00
Mikhael Bogdanov
1cf8ee9433
Don't remove nullability assertions of anonymous object transformation
...
#KT-19910 Fixed
2017-09-06 17:48:13 +02:00
Ilya Gorbunov
599113b30f
Fix internal KotlinVersion representation that caused invalid comparison
2017-09-06 18:45:33 +03:00
Alexey Andreev
5bf4540458
JS: fix inlining of functions derived from other modules
...
See KT-16408
2017-09-06 17:55:31 +03:00
Alexey Andreev
361d6dfca0
JS: rewrite source map generator to use specialized JSON writer
...
Fixes problems with string escaping. See KT-20005
2017-09-06 17:55:06 +03:00
Yan Zhulanow
187ca71dc6
NoArg: Fix compatibility with sealed classes with non-zero-parameter constructors (KT-19687)
...
Also check if a class has a sealed super class properly.
2017-09-06 17:40:20 +03:00
Yan Zhulanow
cea891c754
Kapt: Do not replace '/' with dots before converting to fqName (KT-19680)
...
getQualifiedName() converts slashes by itself, and it causes the internal name equality check (it.name == classFromSources.name) to fail.
This reproduces only for the pure synthetic classes (for which we don't generate Java light classes).
2017-09-06 17:40:19 +03:00
Yan Zhulanow
fe3413c291
Parcelable: Add INNERCLASS metadata to Creator factory class and its outer class
2017-09-06 17:40:19 +03:00
Yan Zhulanow
04c2e28341
Kapt: Do not use awkward ('$' -> '/') logic for KAPT3 class builder mode
...
So (for the most often reproduction case) #KT-19433 Fixed
Before this commit, internal names for nested classes were written as test/Foo/Bar (comparing to test/Foo$Bar in the normal mode), as getting qualified names from such internal names was trivial. But, because of IC, we needed to write class files to the disk, so our decompiler could find such "broken" classes and read it in a wrong way.
2017-09-06 17:40:18 +03:00
Yan Zhulanow
c330285fd0
Parcelable: Use innerClassNameFactory to figure out the internal name of the Creator class (KT-19680)
...
KAPT3 class builder mode in 1.1.4 replaces '$' (inner class name separators) with '/' by providing special innerClassNameFactory.
We should use it to be compatible with kapt.
2017-09-06 17:40:18 +03:00
Yan Zhulanow
84e59601c1
Kapt: Generic arguments in anonymous type should always be mapped to boxed types (KT-19750)
2017-09-06 17:40:17 +03:00
Yan Zhulanow
4d9a612a64
Kapt: Substitute type parameters from the actual type, not from the anonymous one (KT-19700)
2017-09-06 17:40:16 +03:00
Dmitry Jemerov
4e4291c586
Fix formatting of class headers when "blank lines after class
...
header" is enabled
2017-09-06 15:11:05 +02:00
Anton Bannykh
f4b329a055
JS: support @Before and @After annotations in kotlin.test
2017-09-06 14:36:45 +03:00
Dmitry Petrov
8c5d18c1f2
Tests for boxing optimization on KClass are JVM-specific
2017-09-06 14:20:05 +03:00
Dmitry Petrov
61faa068d4
Do not optimize == for KClasses in redundant boxing elimination
...
For primitive wrappers such as java.lang.Integer,
jlc = java.lang.Integer.class
jlt = java.lang.Integer.TYPE
!(ljc.equals(ljt))
However, in Kotlin corresponding KClass instances are equal.
#KT-17748 Fixed Target versions 1.1.50
#KT-17879 Fixed Target versions 1.1.50
2017-09-06 09:54:36 +03:00
Dmitry Petrov
2b27e64fc8
Improve diagnostics for "not yet supported in inline"
...
- Tell user what exactly is not supported (e.g., local inline function)
- Reduce diagnostics range to a keyword or an identifier
where appropriate
#KT-16223 Fixed Target versions 1.1.50
2017-09-06 09:46:33 +03:00
Mikhael Bogdanov
160ba0c7c0
Destroy state and environment in android test
2017-09-06 08:20:33 +02:00
Mikhael Bogdanov
71663afbfe
Update android test configuration
2017-09-06 08:20:33 +02:00
Mikhael Bogdanov
81a1bf3319
Recalculate max stack on method emitting: optimizations could change it
2017-09-06 08:20:32 +02:00
Nikolay Krasko
638cf346aa
Add soutf template for printing current position (KT-19709)
...
#KT-19709 Fixed
2017-09-05 19:49:58 +03:00
Nikolay Krasko
2ce6a0eaee
Minor: fix warnings in TypedHandlerTest.kt
2017-09-05 19:49:02 +03:00
Nikolay Krasko
385ff3f4eb
Test for smart indent in parameters (KT-17648)
...
Fixed in IDEA-173208
#KT-17648 Fixed
2017-09-05 19:49:01 +03:00
Nikolay Krasko
80ffc5cd41
Make local file indent feature work for Kotlin files
...
Revert "Add language to formatting blocks to fetch indent settings propertly"
This reverts commit d717da5
2017-09-05 19:49:01 +03:00
Toshiaki Kameyama
e01371b231
Redundant getter / setter inspection #KT-19514 Fixed ( #1282 )
2017-09-05 17:27:56 +02:00
Mikhail Zarechenskiy
a3060f1073
Add test on obsolete issue
...
#KT-9203 Obsolete
2017-09-05 16:15:18 +03:00
Dmitry Petrov
21cdf9dd5b
Add cast to expected type in call-based in-expression generation
...
#KT-20106 Fixed
2017-09-05 15:32:53 +03:00
Mikhail Zarechenskiy
081b732070
Improve diagnostics for lateinit properties with generic type
...
#KT-11834 Fixed
2017-09-05 14:44:55 +03:00
Mikhail Zarechenskiy
356f903645
Make classes for CLI public to reuse them in other tools
...
To configure Kotlin environment and use them in plugins for Eclipse or NetBeans
2017-09-05 14:42:48 +03:00
Mikhail Zarechenskiy
0dc29d6d7e
Get rid of passing typeChecker from the call hierarchy
2017-09-05 14:41:46 +03:00
Mikhail Zarechenskiy
e7449a3584
Fix referencing inner class constructor on an outer class instance
...
#KT-12796 Fixed
2017-09-05 14:41:44 +03:00
Mikhail Zarechenskiy
4a6f35b9c2
Fix exception on invalid code, don't resolve uninitialized type
...
#KT-11963 Fixed
2017-09-05 14:41:42 +03:00
Mikhail Zarechenskiy
6d4bb229ac
Fix compilation exception where overload ambiguity should be
...
#KT-16246 Fixed
2017-09-05 14:41:40 +03:00
Mikhail Zarechenskiy
ec512d1c8a
Add tests on obsolete issues
...
#KT-11236 Obsolete
#KT-12399 Obsolete
2017-09-05 14:41:34 +03:00
Dmitry Jemerov
cbe79e94a6
Update testdata
2017-09-04 20:39:52 +02:00
scache
e5b290d77f
Fix replacedBaseClause for selector which has implicit receiver
...
#KT-19666 Fixed
2017-09-04 20:36:07 +02:00
Toshiaki Kameyama
a9a52379ee
Quickfix for "variable initializer is redundant" (VARIABLE_WITH_REDUNDANT_INITIALIZER) #KT-5878 Fixed ( #1281 )
2017-09-04 16:58:32 +02:00
Pavel V. Talanov
653314e671
IDE script support: cancel coroutines on project disposal
2017-09-04 16:35:28 +03:00
Pavel V. Talanov
7f361c7579
Add utility for EDT coroutines to be canceled on project disposal
2017-09-04 16:33:31 +03:00
Dmitry Jemerov
7ca1fe0f55
Fix compilation
2017-09-04 14:39:25 +02:00
Alexey Andreev
b8aa2f81a2
Fix delegate property name clash in JS BE
...
See KT-19542
2017-09-04 15:35:35 +03:00
Alexey Andreev
28c9d274ec
JS: prohibit illegal chars on dynamic call site
...
See KT-19540
2017-09-04 15:35:00 +03:00
Alexey Andreev
5a984a40e6
Fix JS compiler crash when translating external object fun with vararg
...
See KT-19793
2017-09-04 15:34:10 +03:00
Alexey Andreev
989cebe79e
JS: fix bug in temporary variable eliminator
...
The problem was in considering `a` as trivial in following case:
```
var a = b;
```
However, that's wrong assumption, since `b` can be temporary variable
itself which is further substituted by a non-trivial expression.
2017-09-04 15:33:16 +03:00
Alexey Andreev
abb254297a
Properly rename local name aliases when merging JS fragments together
2017-09-04 15:33:16 +03:00
Alexey Andreev
593aa72439
Fix bug in new JS inliner when inlining nested calls
2017-09-04 15:33:15 +03:00
Alexey Andreev
63855af026
Raise JS metadata version due to incompatible changes in inliner
2017-09-04 15:33:14 +03:00