Sergey Mashkov
39ad8fb22c
Maven: tests support for multiplatform projects
2017-01-13 15:34:13 +03:00
Alexey Sedunov
a9645e1ae9
Extract Superclass: Drop inapplicable modifiers when converting property-parameter to ordinary parameter
...
#KT-15674 Fixed
2017-01-13 15:17:45 +03:00
Alexey Sedunov
ea7bf6b7c1
Extract Interface: Red-highlight members inherited from a super-interface when that interface reference itself is not extracted
...
#KT-15598 Fixed
2017-01-13 15:17:44 +03:00
Alexey Sedunov
57d364e7d4
Extract Superclass/Interface: Fix bogus visibility warning inside a member when it's being moved as abstract
...
#KT-15635 Fixed
2017-01-13 15:17:43 +03:00
Alexey Sedunov
65b9049d59
Extract Interface/Pull Up: Warn about private members with usages in the original class
...
#KT-15606 Fixed
2017-01-13 15:17:42 +03:00
Alexey Sedunov
1c16d2af1a
Extract Superclass/Interface/Pull Up: Reformat modifier lists of generated declarations (to add spaces where needed)
...
#KT-15639 Fixed
2017-01-13 15:17:41 +03:00
Alexey Sedunov
e10b50a648
Extract Interface/Pull Up: Drop 'final' modifier when moving to an interface
...
#KT-15640 Fixed
2017-01-13 15:17:39 +03:00
Alexey Sedunov
66f1925f16
Extract Interface/Pull Up: Disable internal/protected members when moving to an interface
...
#KT-15607 Fixed
2017-01-13 15:17:38 +03:00
Alexey Sedunov
c9781f5014
Extract Interface/Pull Up: Disable "Make abstract" and assume it to be true for primary constructor parameter when moving to an interface
...
#KT-15643 Fixed
2017-01-13 15:17:37 +03:00
Alexey Sedunov
52e9117e9d
Extract Superclass/Interface: Allow extracting class with special name (and quotes)
...
#KT-15353 Fixed
2017-01-13 15:17:37 +03:00
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