Denis Zharkov
7b97c2a42a
FIR: Weaken requirements for all symbols to have correct FIR
...
Currently, some cases like library type parameters are not supported properly
2019-03-27 17:17:59 +03:00
Denis Zharkov
825218b479
Replace FirSymbolProvider::getCallableSymbols with two methods
...
Requesting content of classes seems to be reasonable and at the same time
more easy to implement in Composite providers: they should find
just the first class' result instead of flatmapping all of them
2019-03-27 17:17:59 +03:00
Denis Zharkov
1426341e9f
FIR: Support loading deserialized declarations from JVM class files
2019-03-27 17:17:59 +03:00
Denis Zharkov
0f9d54c4dc
FIR: Support deserialization of nested classes
2019-03-27 17:17:59 +03:00
Denis Zharkov
82c6b51fab
Simplify initialization process for JavaClassFinderImpl
...
After this change, it's not required to call "initialize" with
binding trace and KotlinCodeAnalyzer that is rather useful for FIR
2019-03-27 17:17:59 +03:00
Denis Zharkov
bb1acdbe95
Minor. Extract classes deserialization from BuiltInsPackageFragment
2019-03-27 17:17:59 +03:00
Denis Zharkov
b3e5e059bb
Minor. Extract FirDeserializationContext factories
2019-03-27 17:17:59 +03:00
Denis Zharkov
aec5ec89e7
FIR: Support deserialization for built-in classes content
2019-03-27 17:17:59 +03:00
Denis Zharkov
f03c5e0583
FIR: Support loading built-in top-level functions
2019-03-27 17:17:59 +03:00
Denis Zharkov
705f97cbae
FIR: Support type parameters in FirTypeDeserializer
2019-03-27 17:17:59 +03:00
Denis Zharkov
1d16008eab
Do not request FirProvider for built-in synthesized classes
...
Because currently they don't have FIR and it might fail with an exception
2019-03-27 17:17:59 +03:00
Denis Zharkov
6daf414098
Add common supertype for FirFunction and FirProperty symbols
2019-03-27 17:17:59 +03:00
Denis Zharkov
466296bca0
Remove FirLibrarySymbolProviderImpl from FirJavaModuleBasedSession
...
It's anyway already being created within dependencies
2019-03-27 17:17:59 +03:00
Denis Zharkov
7a19e269fd
FIR: Support import-references to callables
2019-03-27 17:17:59 +03:00
Leonid Startsev
ccca813792
Allow '@Serializable' on a type usage (for kotlinx.serialization/367)
2019-03-27 12:59:53 +03:00
Leonid Startsev
a2465910a3
Instantiating of Polymorphic in Companion.serializer() for JS and Native
2019-03-27 12:59:52 +03:00
Leonid Startsev
b108dbe568
Auto-applying @Polymorphic for interfaces and serializable abstract
...
classes
2019-03-27 12:59:51 +03:00
Leonid Startsev
859c95c3c4
Do not enable PolymorphicSerializer without special annotation
2019-03-27 12:59:49 +03:00
Leonid Startsev
9d707cb1d9
New instantiating type for polymorphic serializer
2019-03-27 12:59:48 +03:00
Sergey Rostov
30108d4cb9
CodeConformanceTest: revert formatting committed by mistake
2019-03-27 11:23:54 +03:00
Sergey Rostov
6bf82c1053
Gradle, Kotlin/JS: fix failing tests on Windows
2019-03-27 11:23:53 +03:00
Dmitry Gridin
0237dc3f4b
Fix inspections test 'Unused symbol' for enum entry
2019-03-27 12:27:48 +07:00
Dmitry Gridin
d64702d87e
Remove check "unused secondary enum class constructor"
...
#KT-14040 Fixed
2019-03-27 11:46:31 +07:00
Dmitry Gridin
dbe0b4aa71
Unused symbol inspection should detect enum entry
...
#KT-30612 Fixed
2019-03-27 11:46:30 +07:00
Dmitry Gridin
ce1ec49625
Add case for private nested class/object in KotlinSafeDeleteProcessor
2019-03-27 11:46:30 +07:00
Dmitry Gridin
4495c653cb
Minor: move property from UnusedSymbolInspection to ktPsiUtil
2019-03-27 11:46:30 +07:00
Dmitry Gridin
3e0269a95a
Minor: refactoring & fix warnings in ktPsiUtil
2019-03-27 11:46:30 +07:00
Dmitry Gridin
26575c9389
Minor: refactoring KotlinSafeDeleteProcessor
2019-03-27 11:46:30 +07:00
Sergey Igushkin
7aed9fd592
Fix Android AP in Kapt (KT-30632), run Android Kapt IT with AGP 3.3.2
...
Fixes a bug introduced by the commit 6fa610156e , which led to Kapt
options being imported from Android AP options too early (immediately at
creation time for each Android variant, while the Android plugin added
the options only afterwards).
Move Android subplugin options configuration to the time & scope where
it was prior to 6fa610156e .
2019-03-27 01:08:04 +03:00
Natalia Selezneva
ca49e17157
Run indexing for new script dependencies if they are updated from notification
2019-03-27 00:00:11 +03:00
Natalia Selezneva
776a89086f
Fix NoSuchElementException editing script file
...
^KT-30440 Fixed
2019-03-26 23:58:59 +03:00
Natalia Selezneva
224f37ca00
Fix warning in scripts that dependencies are not available
...
^KT-30441 Fixed
2019-03-26 23:57:20 +03:00
Mikhail Zarechenskiy
791ab05e08
Temporary fix for NI to compile against bootstrap compiler
2019-03-26 22:51:20 +03:00
Mikhail Zarechenskiy
a50cc99b01
[NI] Discriminate integer literal types as they are less specific
...
Plus simplify code in `ResultTypeResolver` a bit
2019-03-26 22:32:14 +03:00
Mikhael Bogdanov
e01cac4c3d
Fix test data
2019-03-26 17:17:54 +01:00
Anton Bannykh
b3f1908026
JS_IR: remove stub generator from IrBuiltins
2019-03-26 17:38:44 +03:00
Anton Bannykh
ed440fc060
JS IR: remove obsolete hack from SymbolTable
2019-03-26 17:38:43 +03:00
Anton Bannykh
530804d072
JS_IR: eager IrBuiltins
2019-03-26 17:38:43 +03:00
Anton Bannykh
45f5342911
JS IR: remove obsolete hacks
2019-03-26 17:38:43 +03:00
Anton Bannykh
bba4399910
JS IR: enable IR validation
2019-03-26 17:38:43 +03:00
pyos
ef5e02da84
JVM_IR: handle Nothing and Unit more consistently.
...
* In blocks, discard the result of any statement that has a return
type other than void. This was previously done by wrapping each
statement into an "implicit Unit conversion" that was actually
compiled down to a stack pop instead. If an expression happened to
already have type Unit, however, such a conversion was not inserted,
resulting in a stray reference on the stack. These conversions are
now redundant and should probably be removed.
* In assignments and non-exhaustive conditionals, materialize a Unit
on the stack to avoid depth mismatches that trip up the bytecode
validator. Because such expressions are generally used at block level
(and, indeed, the frontend will reject a non-exhaustive conditional
used as an expression), combined with the above change this results
in no additional GETSTATIC opcodes, as they are immediately removed
by the peephole optimizer.
2019-03-26 13:32:02 +01:00
Zalim Bashorov
bdad3cace9
Revert "Allow tests to be run in parallel."
...
This reverts commit 21d81f35
2019-03-26 15:22:40 +03:00
Alexander Podkhalyuzin
37de9a0a26
Do not call find editor outside UI thread
...
#KT-30117 Fixed
2019-03-26 15:18:03 +03:00
Alexander Podkhalyuzin
c9581176d7
git longpaths info for Windows users
2019-03-26 15:17:21 +03:00
Alexander Podkhalyuzin
19f6290686
Fixed selection in case of empty class body
...
#KT-30597 Fixed
2019-03-26 15:13:54 +03:00
Steven Schäfer
29b7da7c49
Implement support for KClass fields in annotation classes.
2019-03-26 11:54:16 +01:00
Ting-Yuan Huang
4ff2825de0
Fix an assertion for type parameters
2019-03-26 10:44:06 +03:00
Ilya Matveev
acf8a0454f
Store Kotlin/Native version in properties
...
Previously the Kotlin/Native version was hardcoded in sources of the
Gradle plugin. Such an approach is inconvenient when we want to
build Kotlin with a custom K/N version but without changes in sources
(e.g. during CI daily runs).
This patch adds a project property `versions.kotlin-native` which can
be set during build to override Kotlin/Native version. Also this
patch gets rid of hardcoding this version in sources and stores it in
a properties file packed with the Gradle plugin in a jar.
2019-03-26 12:50:53 +07:00
Andrey Uskov
a0b8140278
Fix creation of Android source roots
...
#KT-30464 Fixed
2019-03-26 08:28:23 +03:00
Andrey Uskov
01a100e2ef
Fix KNE in intentions
...
EA-124846 Fixed
2019-03-26 08:27:24 +03:00