Dmitry Petrov
08885e273b
Support additional intrinsics in null check elimination
...
1. checkExpressionValueIsNotNull implies checked value is non-null
2. throwNpe never returns
#KT-18162 Fixed Target versions 1.1.4
#KT-18164 Fixed Target versions 1.1.4
2017-05-31 16:48:14 +03:00
Dmitry Petrov
d559212d70
Optimize out trivial INSTANCEOF checks
...
#KT-18157 Fixed Target versions 1.1.4
2017-05-31 16:48:14 +03:00
Mikhail Glukhikh
74ee9ce68b
Fix "remove explicit type arguments" in J2K
...
Do not delete type arguments if intention is not applicable just befor
2017-05-31 12:47:56 +03:00
Mikhail Glukhikh
9c15db93d9
Inline: more accurate handling of type arguments
...
Partial revert of b8cc7c2ca6
Soften requirements in remove type arguments intention in this mode
So #KT-17622 Fixed
Related to KT-17623
2017-05-31 12:47:50 +03:00
Mikhail Glukhikh
38d6c597a3
Handle expected type more precisely in RemoveExplicitTypeArguments
...
So #KT-17623 Fixed
2017-05-31 12:46:59 +03:00
Mikhail Glukhikh
c67f8c07d2
Minor cleanup
2017-05-31 12:46:47 +03:00
Alexey Andreev
e6b0cc64bd
Fix copying of non-abstract functions of interfaces in JS BE
...
Fix copying of non-abstract functions of interfaces to implementing
classes when implementing class inherits interface via 2+ paths.
See KT-18187
2017-05-31 11:21:13 +03:00
Dmitry Petrov
c558e2657b
Update testData for light classes after generic signature fixes
2017-05-31 10:18:48 +03:00
Dmitry Petrov
17d2472511
Do not patch generic signature for methods with special bridges
...
Somewhat awkward solution for KT-18189.
2017-05-31 10:18:48 +03:00
Dmitry Petrov
fd00a6fbe8
Generate generic signatures for special bridges
...
#KT-12408 Fixed Target versions 1.1.4
2017-05-31 10:18:48 +03:00
Dmitry Petrov
48a60e6f39
Dump generic signatures in bytecode listing tests if required
...
Add '// WITH_SIGNATURES' to test file if generic signatures should be
dumped.
2017-05-31 10:18:48 +03:00
Dmitry Petrov
78de1fb72c
Handle incorrect code for interface delegation
...
#KT-15931 Fixed Target versions 1.1.4
2017-05-31 10:18:48 +03:00
Yan Zhulanow
4f132f6d40
Kapt: Fix output file reporting in IC
...
Fix REPORT_OUTPUT_FILES option passing to GenerationState created in kapt.
This fixes these tests:
Kapt3Incremental.testChangeAnnotatedPropertyType()
Kapt3Incremental.testRemoveAnnotations()
Kapt3Incremental.testRemoveSourceFile()
2017-05-30 22:09:20 +03:00
Alexander Udalov
1572d2cf2b
Improve modular JDK root module detection
...
According to the spec, "java.se" and every other non-"java.*" module
that exports at least one package without qualification, is a root.
Currently we only support compilation of a single unnamed module, and
apparently unnamed module should read all root modules.
#KT-18180 Fixed
2017-05-30 17:35:25 +03:00
Alexander Udalov
5042bbe4a1
Minor refactoring in ContentRoots, JvmContentRoots and usages
2017-05-30 17:35:23 +03:00
Alexander Udalov
227c2d2c23
Minor, display multiline argument help prettier
2017-05-30 17:33:11 +03:00
Mikhail Glukhikh
00fa7c8166
Minor cleanup: MoveReceiverAnnotationFix
2017-05-30 15:58:22 +03:00
Kirill Rakhman
08bd212d82
Add quickfix for @receiver applied to extension member instead of type
...
So #KT-14648 Fixed
2017-05-30 15:47:21 +03:00
Dmitry Neverov
b206f6288d
Convert to primary constructor preserves accessors #KT-17996 Fixed
2017-05-30 15:35:54 +03:00
Alexey Andreev
4346fb5c23
Minor refactoring of JS AST nodes representing boolean literals
2017-05-30 12:49:00 +03:00
Alexey Andreev
5715803b96
Fix incremental recompilation of JS source maps
...
Note that this breaks binary compatibility.
It should be OK, since nobody is using incremental compilation API
for now.
2017-05-30 12:48:59 +03:00
Alexey Andreev
ed592452a3
Fix JS source maps for functions with expression body
2017-05-30 12:48:59 +03:00
Alexey Andreev
1014666937
Fix JS source maps for delegates and backing fields
2017-05-30 12:48:58 +03:00
Alexey Andreev
13795b47fb
Fix JS source maps for initialization of variables captured by class
2017-05-30 12:48:58 +03:00
Alexey Andreev
bfc3a9c2af
Fix JS source maps for && expression with complex operands
2017-05-30 12:48:57 +03:00
Alexey Andreev
1111f2d5cd
Fix JS source maps for while/do..while statements
2017-05-30 12:48:57 +03:00
Alexey Andreev
413ac40c25
Fix JS source maps for for statements
2017-05-30 12:48:56 +03:00
Alexey Andreev
d7a10750e0
Fix JS source maps for lambdas
2017-05-30 12:48:55 +03:00
Alexey Andreev
82d37c0d57
Fix JS source maps for catch blocks
2017-05-30 12:48:55 +03:00
Alexey Andreev
6ad991adfb
Fix JS source maps for "is" and "in" clauses in when expression
2017-05-30 12:48:54 +03:00
Alexey Andreev
9692c02f6e
Fix JS source maps for string literals
2017-05-30 12:48:53 +03:00
Alexey Andreev
8dae399945
Fix generation of JS source maps for default parameters
...
(Of open member functions)
2017-05-30 12:48:52 +03:00
Alexey Andreev
e1009622af
Fix generation of JS source maps for call expressions
2017-05-30 12:48:52 +03:00
Alexey Andreev
6e489900cb
Fix generation of JS source maps for long literals
2017-05-30 12:48:51 +03:00
Alexey Andreev
89e3fb7592
Keep JS AST source information after refreshing local names
2017-05-30 12:48:51 +03:00
Alexey Andreev
ad89e5906f
Fix JS source maps for increment expression used as statement
2017-05-30 12:48:50 +03:00
Alexey Andreev
bad79dfa85
Fix JS source maps for return statement of inlined function
2017-05-30 12:48:49 +03:00
Alexey Andreev
5a4d3c5391
Generate JS source maps for object instance function
2017-05-30 12:48:49 +03:00
Alexey Andreev
77df0f28bf
Fix generation of JS source maps for class properties
2017-05-30 12:48:48 +03:00
Alexey Andreev
6f8ccfb80d
Add test for JS source maps for literals
2017-05-30 12:48:47 +03:00
Alexey Andreev
e9a2c8c0f1
Prevent JS AST nodes of several types to be shared
2017-05-30 12:48:47 +03:00
Alexey Andreev
3077a0f640
Fix generation of JS source maps for suspend functions
2017-05-30 12:12:49 +03:00
Alexey Andreev
28140b0883
Fix generation of JS source maps for closures
2017-05-30 12:12:34 +03:00
Alexey Andreev
3a7df13440
Fix generation of source maps for synthetic code in enums in JS BE
2017-05-30 12:12:33 +03:00
Alexey Andreev
fb3a864892
Fix generation of JS source maps for synthetic code in constructors
2017-05-30 12:12:32 +03:00
Alexey Andreev
4332f1cb2c
Don't share instances of JsNameRef nodes to avoid wrong source maps
...
When to name references to the same name are represented by
a shared JS AST node, setting line number of the second usage may
override line number of the first usage.
Also, supply more JS AST nodes related to default parameters,
with corresponding source information.
2017-05-30 12:12:30 +03:00
Alexey Andreev
e5662ac2ad
Copy location info when copying JS AST subtrees
...
This is necessary to preserve source information of a function's body
after inlining.
2017-05-30 12:12:28 +03:00
Alexey Andreev
9218b61141
Add tests for source maps in JS BE
2017-05-30 12:12:27 +03:00
Simon Ogorodnik
f8914013ef
Fix infinity deferred element unfolding in J2K
...
#KT-13146 fixed
2017-05-29 20:26:45 +03:00
Alexey Andreev
4bb1130f3f
Fix translation of labels with non-identifier names in JS BE
...
See KT-18027
2017-05-29 15:37:31 +03:00