Mikhail Zarechenskiy
a63495aa0b
Use language version settings of definitely known module
2017-09-15 08:16:25 +03:00
Yan Zhulanow
d9f99971bb
Disable old Parcelable quickfixes if @Parcelize annotation is present
2017-09-14 19:36:47 +03:00
Yan Zhulanow
e6171dc4c5
Parcelable: Add quick fixes
2017-09-14 19:36:24 +03:00
Yan Zhulanow
9984b6f9d1
Minor: Refactoring
2017-09-14 19:29:10 +03:00
Yan Zhulanow
83bf257666
Kapt: Attach kapt stub location when reporting annotation processor errors
2017-09-14 19:16:55 +03:00
Yan Zhulanow
4ac8a98050
Kapt: Hide fake "Error while annotation processing" error in Android Studio build console
2017-09-14 19:16:54 +03:00
Yan Zhulanow
69051a4764
Simplify KotlinOutputParser, remove old reflection-based logic that didn't work well with the newer versions of Android Studio
2017-09-14 19:16:53 +03:00
Yan Zhulanow
8e72a1211b
Kapt: Add IDEA integration (KT-19097, KT-17923, KT-19823)
2017-09-14 18:40:55 +03:00
Mikhail Zarechenskiy
68259f7939
Allow assigning array to vararg in named form in annotations
...
See more in KT-20171
2017-09-14 18:27:41 +03:00
Mikhail Zarechenskiy
f905d56b38
Don't try to get KtFile on random element as it can throw exception
...
For example, this can be for copied elements (DummyHolder)
2017-09-14 18:27:40 +03:00
Mikhail Zarechenskiy
b1d9abdf83
Propagate languageVersionSettings to resolution context
2017-09-14 18:27:34 +03:00
Denis Zharkov
4d95c30360
Restore -Xjsr305-annotations flag as a deprecated
2017-09-14 18:05:32 +03:00
Mikhail Glukhikh
92215b41b9
Replace resolveToDescriptor with unsafeResolveToDescriptor
...
Now unsafeResolveToDescriptor is equivalent to resolveToDescriptorIfAny
but throws exception in case no descriptor is found.
Old version of resolveToDescriptor is kept intact but made deprecated.
Some clarifying comments were added
2017-09-14 17:20:37 +03:00
Mikhail Glukhikh
0f9d31c9d1
Patch resolveToDescriptorIfAny() for parameter case
...
Now property descriptor is returned for primary constructor val / var,
otherwise parameter descriptor is returned.
2017-09-14 15:08:06 +03:00
Mikhail Glukhikh
04b8f1db6e
Minor: convert to expression body applied (resolutionApi)
2017-09-14 15:08:05 +03:00
Mikhail Glukhikh
71c2489ade
Use safe resolveToDescriptorIfAny() when possible (related to EA-105681)
2017-09-14 15:08:04 +03:00
Nikolay Krasko
94e3a51a45
Test no psi stub mismatch for light classes with suspend in overloads
...
IdeCompiledLightClassTestGenerated is relevant.
2017-09-14 12:28:26 +03:00
Nikolay Krasko
74043089ab
Generate modifier list stub under nullable type for suspend functions (KT-20185)
...
Otherwise there's a PSI and Stub mismatch error produced.
#KT-20185 Fixed
2017-09-14 12:28:26 +03:00
Alexander Udalov
70ae1596fb
Support JvmPackageName annotation in binary format
...
The main changes are in jvm_package_table.proto and ModuleMapping.kt.
With JvmPackageName, package parts can now have a JVM package name that
differs from their Kotlin name. So, in addition to the old package parts
which were stored as short names + short name of multifile facade (we
can't change this because of compatibility with old compilers), we now
store separately those package parts, which have a different JVM package
name. The format is optimized to avoid storing any package name more
than once as a string.
Another notable change is in KotlinCliJavaFileManagerImpl, where we now
load .kotlin_module files when determining whether or not a package
exists. Before this change, no PsiPackage (and thus, no JavaPackage and
eventually, no LazyJavaPackageFragment) was created unless there was at
least one file in the corresponding directory. Now we also create
packages if they are "mapped" to other JVM packages, i.e. if all package
parts in them have been annotated with JvmPackageName.
Most of the other changes are refactorings to allow internal names of
package parts/multifile classes where previously there were only short
names.
2017-09-13 22:59:03 +03:00
Dmitry Jemerov
cc8fbf6078
Store third-party annotations in a separate directory
2017-09-13 17:25:20 +02:00
Nikolay Krasko
cad6fdb323
Reenable workaround for JVMTI_ERROR_WRONG_PHASE in debugger tests
...
It was fixed in custom intellij jdk and disabled in DescriptorTestCase.
2017-09-13 16:29:51 +03:00
Nikolay Krasko
75fa982370
Minor: split long line in KotlinDebuggerSettings.kt
2017-09-13 16:29:51 +03:00
Alexander Udalov
1b45e9d517
Minor, fix before vs after in some tests
2017-09-13 15:46:37 +03:00
Alexander Udalov
b01a3eb747
Drop JvmFileClassesProvider and inline implementations
...
Both of its implementations called the same static function; inline
those and move related utilities to JvmFileClassUtil
2017-09-13 15:46:36 +03:00
Denis Zharkov
b905ddeac9
Memoize deprecations-related computations
...
It might be helpful for performance as these methods are called
for each resolution candidate and in the same time they scan
the whole overridden tree of a callable member
2017-09-13 15:34:14 +03:00
e5l
5bb88b659b
Rename flag Xjsr305-annotations->Xjsr305
2017-09-13 15:19:54 +06:00
Nikolay Krasko
32c02161cd
Refactoring: improve isApplicable methods in surrounders
2017-09-12 18:27:47 +03:00
Nikolay Krasko
b925df0e14
Minor: remove '\n' from if surrounder
2017-09-12 18:27:47 +03:00
Nikolay Krasko
239f88e5d3
Refactoring: use sealed classes for try-catch expression surrounders
2017-09-12 18:27:47 +03:00
Kirill Rakhman
08103d1cb4
Implement "Surround with try/catch(/finally)" and "Surround with if/else" for expressions
...
Fixes #KT-14175
Fixes #KT-19782
2017-09-12 18:27:47 +03:00
Mikhail Zarechenskiy
e16d16fdb7
Do not report diagnostic about annotation with receiver target twice
2017-09-12 17:39:24 +03:00
Mikhail Glukhikh
dafb52a44a
CodeBlockModification...: count file as changed when no changed elements
...
It means that root PSI (KtFile itself) is changed
So #KT-19726 Fixed
So #KT-20157 Fixed
2017-09-12 17:28:32 +03:00
Mikhail Glukhikh
dd1ac5bb6b
Add a set of tests for internal callables find usages
...
Related to KT-19811
2017-09-12 16:51:02 +03:00
Mikhail Glukhikh
97233448d0
Enclosing element: do not handle parameters of for as function ones
...
So #KT-19626 Fixed
2017-09-12 16:13:56 +03:00
Mikhail Glukhikh
7ae722492f
Unused symbol: do not use body of function literal as scope for members
...
So #KT-10546 Fixed
2017-09-12 16:13:34 +03:00
Toshiaki Kameyama
5eb69e0ae4
KT-20010 'Replace safe access expression with 'if' expression' IDEA Kotlin plugin intention may failed ( #1288 )
...
* 'Replace safe access expression with 'if' expression' IDEA Kotlin plugin intention may failed #KT-20010 Fixed
* #KT-20010 Fixed
2017-09-12 14:54:50 +02:00
Alexander Udalov
ac1c7d9a6a
Drop Incompatible.NoImpl, fix no "missing impl" on nested class
...
Header/impl declarations are now considered fully compatible even in the
case when the impl declaration has no "impl" modifier. The error about
no "impl" is now reported separately and only on the impl declaration,
never on the header declaration
#KT-20087 Fixed
2017-09-12 14:41:11 +03:00
Vyacheslav Gerasimov
89257e6397
Implement light classes for Kotlin scripts
2017-09-12 13:10:38 +03:00
Kirill Rakhman
7fe1e4f83e
Fix grammar in inspection description
2017-09-12 12:05:30 +03:00
Dmitry Jemerov
cd44131f88
Add impl module roots also when gradle-aware make is enabled
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
0caadcd2f1
Put Kotlin runner on the first place
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
9d2b9df3b4
Correctly run multiplatform modules
...
When a JVM run configuration requests compiling a common module,
compile the corresponding JVM module instead.
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
1d05e83401
Recognize common tests marked with annotations typealiased to @Test
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
6d30123c21
Add test dependencies when creating multiplatform projects
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
aed01c8475
Consistent naming: common platform is common, not default
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
62b3059425
Support running main() under JVM in multiplatform projects
...
#KT-20093 In progress
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
0b143e982f
Always delegate build/run actions in MPP projects to Gradle
2017-09-11 15:07:51 +02:00
Mikhail Glukhikh
ae509d5980
Unused symbol: add test to fix behaviour #KT-16318 Obsolete
2017-09-11 12:12:20 +03:00
Mikhail Glukhikh
37d2386a0b
Unused symbol: handle imports from nested objects correctly
...
So #KT-17437 Fixed
2017-09-11 12:12:18 +03:00
Mikhail Glukhikh
7e3d3bde74
Unused symbol: never use VALUE_ARGUMENT scope for members
...
So #KT-10546 Fixed
2017-09-11 12:12:17 +03:00