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
Simon Ogorodnik
0cf02dcb7b
KT-15092 Suppress inspection "use property access syntax" for some getters and fix completion for them
...
#KT-15092 fixed
2017-01-12 14:53:38 +03:00
Nikolay Krasko
c1538aea43
Get annotation for injection from reference descriptor (KT-15548)
...
#KT-15548 Fixed
2017-01-12 14:21:47 +03:00
Nikolay Krasko
0cbe19b930
Remove unused files
2017-01-12 13:49:31 +03:00
Alexander Udalov
abe2ad155c
Sanitize names for script class files
...
Use the same process that is done for package parts in the JVM back-end, except
adding the "Kt" suffix
#KT-15225 Fixed
2017-01-12 11:24:24 +03:00
Alexander Udalov
6ffa56b640
Move name sanitization utilities to module 'descriptors'
2017-01-12 11:24:23 +03:00
Alexander Udalov
f4d59304e2
Fix JvmPackageTableTest by preserving package order in ModuleMapping.create
2017-01-12 11:08:23 +03:00
Svyatoslav Scherbina
d9023bdf70
backend: move some JVM lowering to common
2017-01-12 11:56:32 +07:00
Svyatoslav Scherbina
5a5f4fc224
backend: extract common lowering utils
2017-01-12 11:56:31 +07:00
Svyatoslav Scherbina
f85538129d
backend: introduce common backend context
2017-01-12 11:56:30 +07:00
Svyatoslav Scherbina
2e88dd0675
backend: fix minor bug in LocalFunctionsLowering
...
extension receiver parameter should be remapped too
(e.g. to support lambda with receiver)
2017-01-12 11:56:29 +07:00
Svyatoslav Scherbina
e6c9a709b2
backend: fix minor bug in SharedVariablesLowering
2017-01-12 11:56:28 +07:00
Simon Ogorodnik
c5e3f0ad01
KT-15141 Bogus import popup for when function call cannot be resolved fully
...
#KT-15141 fixed
2017-01-11 22:41:09 +03:00
Simon Ogorodnik
db8edb01c3
KT-14815 alt + enter -> "import" over a constructor reference is not working
...
#KT-14815 fixed
2017-01-11 22:41:09 +03:00
Simon Ogorodnik
f9b2929bca
KT-15154 IllegalStateException on attempt to convert import statement to * if last added import is to typealias
...
#KT-15154 fixed
2017-01-11 22:41:08 +03:00
Ilya Gorbunov
6273ab5d43
Hold back eachSumOf for a while: fixups.
...
Remove unneeded import.
2017-01-11 20:04:00 +03:00
Alexander Udalov
edb4fd1dfd
Do not emit pre-release flag if -Xskip-metadata-version-check is used
...
The -Xskip-metadata-version-check command line argument is supposed to be used
to avoid getting errors only; the side effect that it also caused compiler to
write the pre-release flag to binaries was a mistake and is fixed now
2017-01-11 19:28:52 +03:00
Alexander Udalov
8f9ce5d0f2
Fix some issues in script constructor param/arg matching
2017-01-11 19:28:51 +03:00
Alexander Udalov
453c5267ad
Fix detection of scripts in cls stub builder
2017-01-11 19:28:51 +03:00
Alexander Udalov
e860d620c6
Add script flag to kotlin.Metadata
...
This will allow to distinguish compiled scripts from ordinary classes in the
compiler, reflection, IDE, etc.
#KT-13382 Fixed
2017-01-11 19:28:51 +03:00