Alexey Sedunov
5de4e9fdac
Pull Up/Extract Interface: Disable "Make abstract" and assume it to be true for abstract members of an interface
...
#KT-15355 Fixed
2017-01-13 15:17:36 +03:00
Alexey Sedunov
8c882f0d27
Override Members: Allow overriding virtual synthetic members (e.g. equals(), hashCode(), toString(), etc.) in data classes
...
#KT-15563 Fixed
2017-01-13 15:17:35 +03:00
Alexey Sedunov
862966fd33
Override/Implement Members: Support all nullability annotations respected by the Kotlin compiler
...
#KT-12704 Fixed
#KT-15583 Fixed
2017-01-13 15:17:34 +03:00
Alexey Sedunov
d94243ac7b
Extract Interface: Disable inline/external/lateinit members
2017-01-13 15:17:33 +03:00
Alexey Sedunov
e67d10c028
Extract Interface/Superclass: Disable "Make abstract" for inline/external/lateinit members
...
#KT-15602 Fixed
2017-01-13 15:17:32 +03:00
Alexey Sedunov
edf5d7da10
Pull Up: Fix subclass map initialization which prevents pull-up from object to superclass
2017-01-13 15:17:31 +03:00
Alexey Sedunov
6fb943765d
Extract Interface/Superclass: Disable const-properties
...
#KT-15611 Fixed
2017-01-13 15:17:30 +03:00
Alexey Tsvetkov
3d07c40887
Minor: rename CompilationResultSink->CompilationResults
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
bdae0b5efb
Fix the build
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
41c5568b74
Minor: add comment
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
7a29c00ec3
Minor: fix typo EventManger->EventManager
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
39b37b85e3
Minor: rename Storage->Sink
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
f027860ac0
Minor: rename CompilationResult->CompilationResultCategory
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
a3415d8d0e
Minor: move CompilerMode
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
072edf4b5a
Minor: introduce EXCEPTION report category
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
c2a125ff1c
Minor: fix naming
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
a56c92f28d
Minor rename parameters to match parent constructor
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
2ec9773e15
Minor: fix CompilerMessageSeverity order
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
16352ff2e5
Refactor messages sending
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
e44cc43ada
Move CompilerMode and TargetPlatform to CompilationOptions
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
c5a5463f50
Rename AdditionalCompilerArguments->CompilationOptions
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
bf50a23221
Remove operations tracer from compile() interface
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
99c72b6dff
Refactor JPS daemon client
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
73f7b76b5d
Enable verbose messages when debug is enabled
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
c9a874cba9
Refactor gradle daemon client
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
d4d1d5ad0f
Refactor daemon interface
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
d19a92bab5
Make ICReporter interface
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
d80c1ad10d
Add integer value to compiler message severity
2017-01-13 15:08:12 +03:00
Alexey Tsvetkov
1fcd7d07e2
Make compiler arguments serializable
2017-01-13 15:08:12 +03:00
Dmitry Petrov
8756f00849
Fix testData for debugger test.
2017-01-13 13:54:07 +03:00
Ilya Chernikov
1e68b2436f
Relocate non-native/jni part of net.rubygrapefruit.platform in attempt to fix #KT-15570
2017-01-13 10:48:29 +01:00
Alexander Udalov
2ba18beb89
Report JVM runtime version inconsistency as errors instead of warnings
...
(cherry picked from commit f8fc7e94ac07d80f332149529b34297b7f0db82e)
2017-01-13 11:53:52 +03:00
Alexander Udalov
e3f4b6e77e
Do not allow to use suspend functions in 1.0.6+
2017-01-13 11:53:52 +03:00
Dmitry Petrov
4dd100122b
Explicitly remove NOPs inserted for bytecode analysis in post-conditional loops.
...
Remove redundant NOPs during bytecode optimization.
NOP instruction is required iff one of the following is true:
(a) it is a first bytecode instruction in a try-catch block (JVM BE assumption);
(b) it is a sole bytecode instruction in a source code line (breakpoints on that line will not work).
All other NOP instructions can be removed.
Note that it doesn't really affect the performance for mature JVM implementations.
However, the perceived quality of the generated code is somewhat improved :).
Related: KT-15609
2017-01-13 10:31:07 +03:00
Dmitry Petrov
ba933fa887
KT-15112, KT-15631
...
Revert changes for "tolerant to uninitialized values" in OptimizationBasicInterpreter:
this approach doesn't converge for some specific cases where local variable is reused
(e.g., in several inlined functions - see https://youtrack.jetbrains.com/issue/KT-15112 ).
Instead, treat fake always-false conditional jump in the beginning of the post-condition loop as a "reference point" for stack on loop break / continue.
This requires an extra abstraction layer in FixStackAnalyzer, since we can't perform fine-grain manipulations on Frames
(such as "combine frame C from local variables of frame A and stack of frame B").
NB additional NOPs will be generated for post-condition loops.
Should make a separate bytecode postprocessing pass to get rid of unnecessary NOPs
(several YT issues for perceived quality of the generated bytecode are about such NOPs).
2017-01-13 10:31:07 +03:00
Mikhail Glukhikh
c09a71b178
Multi-platform refactoring: get rid of PlatformKind (replace with MultiTargetPlatform)
2017-01-12 18:58:13 +03:00
Mikhail Glukhikh
aeb6bff145
Create header implementation fix: check import directive, change / add it if needed
2017-01-12 18:58:07 +03:00
Alexey Andreev
f33d421bab
JS: make JS parser to store function's name in AST. See KT-15475
2017-01-12 18:12:40 +03:00
Alexey Andreev
a016147a79
JS: fix translation of return statement surrounded by try..finally block in suspend lambda. See KT-15625
2017-01-12 18:12:39 +03:00
Alexey Andreev
2907eafa18
JS: make functions called call to inline properly. See KT-7004
2017-01-12 18:12:39 +03:00
Alexey Andreev
10a3fbf53f
JS: disable TemporaryAssignmentElimination, fix KT-15512
2017-01-12 18:12:39 +03:00
Alexey Andreev
7d170c0fcd
JS: fix translation of reassignment of inline properties. See KT-15590
2017-01-12 18:12:38 +03:00
Alexey Andreev
4eed7c1fcb
JS: fix translation of augmented assignment in class initializer. See KT-15569
2017-01-12 18:12:38 +03:00
Alexey Andreev
ee74342fbe
JS: fix compiler crash when optimizing JS AST with empty do..while statement. See KT-15513
2017-01-12 18:12:37 +03:00
Alexey Andreev
bad6f41d6e
JS: make some JVM tests compatible with JS BE
2017-01-12 18:12:37 +03:00
Alexey Andreev
70176dfacc
JS: translate call arguments in the order the occur in source code, not in order of parameters in descriptor. See KT-15506
2017-01-12 18:12:36 +03:00
Alexey Andreev
e6b78f68cd
JS: support case when class inherits method from superclass and both implements same method (but with optional parameter) from superinterface.
2017-01-12 18:12:36 +03:00
Alexey Andreev
d2050ace72
JS: refactor generation of functions with optional parameters. Fix #KT-7302, #KT-13888
2017-01-12 18:12:35 +03:00
Simon Ogorodnik
4b3cf432dc
KT-5629 Quickfix to import extension method when arguments of non-extension method do not match
...
#KT-5629 fixed
2017-01-12 18:06:31 +03:00
Dmitry Jemerov
f8f73d338b
Use UTryStatement.isResources() instead of getting the resource list (for which there is no portable API ATM)
2017-01-12 14:30:49 +01:00