Nicolay Mitropolsky
9db2b6ffba
KtLightPsiJavaCodeReferenceElement reference getting made lazy (KT-26036, EA-125884)
...
Collecting references from contributors could be expensive and even recursive (EA-125884)
2018-08-13 19:26:07 +03:00
Nicolay Mitropolsky
2ba2d360c2
KtLightPsiJavaCodeReferenceElement delegate made nullable (KT-26036, EA-124029)
2018-08-13 19:26:06 +03:00
Nicolay Mitropolsky
3c71761cf3
lightAnnotations: check element validity before resolving call
2018-07-13 15:46:44 +03:00
Nicolay Mitropolsky
cedc6821c3
lightAnnotations: proper parents for KtLightAnnotationsValues
2018-07-13 15:45:30 +03:00
Nicolay Mitropolsky
be611cd154
LightAnnotations don't try to get kotlinOrigin if not building from sources
2018-07-11 09:37:28 +03:00
Nicolay Mitropolsky
eaa58c3ec2
KtLightParameter should have a KtLightModifierList anyway
...
otherwise we wouldn't get proper annotations for `equals` in data-classes
2018-07-11 09:37:28 +03:00
Alexander Udalov
959c2f4843
Get rid of split packages in descriptors, descriptors.jvm, deserialization
...
Also move some other files to related packages and reformat moved files
2018-07-06 14:08:35 +02:00
Nicolay Mitropolsky
5d9807ac36
Uast: converting Unit to void on type mapping (KT-25249)
2018-07-04 16:16:22 +03:00
Nicolay Mitropolsky
01e9dd5085
don't use project scope to resolve java.lang.String (#KT-25024)
2018-06-22 20:28:55 +03:00
Pavel V. Talanov
5063a4ce3d
JavaElementFinder: revert to using ContainerUtil.quicksort
...
Fix comparator contract violated exception
Scopes inherited from LibraryScopeBase violate the comparator contract
2018-06-19 13:40:23 +02:00
Pavel V. Talanov
2d7df21b0f
JavaElementFinder: fix classes not being sorted as intended
...
This is tested by `whole project` inspection tests
#KT-24704 Fixed
2018-06-14 10:51:13 +02:00
Yan Zhulanow
ab5614eaac
Minor: Replace a number of trivial Guava usages with constructor calls and kotlin-stdlib function calls
2018-06-08 19:37:47 +03:00
Alexey Sedunov
862dc76ed9
Rename: Fix processing of overriding methods with mangled names
...
#KT-24460 Fixed
2018-06-08 14:34:22 +03:00
Pavel V. Talanov
d18846201a
JavaElementFinder: avoid returning fake light class in findClass*
...
findClass* are supposed to return a single visible class
from given scope with given fqname
After sorting FakeFileForLightClass would sometimes be first in the list
leading to exceptions like KT-24704
#KT-24704 Fixed
2018-06-06 20:45:41 +02:00
Pavel V. Talanov
86e52f45b1
J2K JavaElementFinder: prettify code
2018-06-06 20:45:41 +02:00
Pavel V. Talanov
6cea843461
J2K JavaElementFinder: autoconvert and fix compilation errors
2018-06-06 20:45:41 +02:00
Pavel V. Talanov
00b1e9281b
J2K JavaElementFinder: rename file
2018-06-06 20:45:41 +02:00
Nicolay Mitropolsky
0fb879dfc2
lightAnnotations: KtLightPsiClassObjectAccessExpression added
...
as implementation of `PsiClassObjectAccessExpression` for class literals in annotations
2018-06-05 18:00:15 +03:00
Nicolay Mitropolsky
da5ef06abf
KtLightNullabilityAnnotation evaluated from sources
2018-05-28 17:06:35 +03:00
Nicolay Mitropolsky
eea66bea73
Making LightAnnotation work without clsDelegate (KT-20924, KT-22883)
2018-05-28 17:06:35 +03:00
Mikhael Bogdanov
f826a253e3
Generate @JvmDefault for property accessors in LIGHT_CLASS MODE
2018-05-23 13:55:38 +02:00
Nikolay Krasko
062a212b61
Don't build light classes for local classes with parse errors (KT-24323, EA-107235)
...
Also use checks for building light classes in `getLightClassDataHolder`.
2018-05-16 12:55:09 +03:00
Vyacheslav Gerasimov
8c88ac69df
Cleanup .181 bunch files
2018-04-27 18:25:21 +03:00
Vyacheslav Gerasimov
bc403ce744
Switch to 181 platform
2018-04-27 18:25:17 +03:00
Nikolay Krasko
ecd2db3b48
Remove bunch files that are equal to base files
2018-04-16 15:55:53 +03:00
Nicolay Mitropolsky
94d18581e3
181: FakeFileForLightClass made return "virtualFile" from "ktFile"
2018-04-11 16:28:37 +03:00
Nicolay Mitropolsky
585348c590
181: LightClasses: using viewProvider from KtFile
...
#KT-22929
2018-04-11 16:28:35 +03:00
Nicolay Mitropolsky
55753d79e8
181: using InjectedFileViewProvider for light-files in language-injections
...
#KT-22929
2018-04-11 16:28:34 +03:00
Nicolay Mitropolsky
9bac6c5a71
181: Light annotations made strictly non-physical (KT-22565)
...
(cherry picked from commit cf6e21d )
2018-04-11 16:28:34 +03:00
Nikolay Krasko
e090775974
172: Revert "KtLightAbstractAnnotation build fix for 173 ( #1283 )"
...
This reverts commit b401cc19e07ad632d61ca0d402dc6017f9559d18.
2018-04-11 16:28:02 +03:00
Dmitry Jemerov
ecb9a39f94
Report errors when trying to build decompiled text for light class
2018-04-03 19:45:37 +02:00
Alexey Tsvetkov
8a82c1618c
Use Plugins DSL in Kotlin Gradle scripts
...
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Pavel V. Talanov
dc27a3f6d0
Minor: lightClassUtils, less specific return type
2018-03-12 12:05:08 +01:00
Pavel V. Talanov
32516a3f33
Refactor: split *LightClassGenerationSupport into separate files
...
Move cli binding trace implementation to top level
2018-03-12 12:05:05 +01:00
Pavel V. Talanov
f421181e16
Split LightClassGenerationSupport into separate entities
...
LightClassGenerationSupport:
Includes utilities related to generating light classes
Primary client of this service are KtLight* implementation classes
KotlinAsJavaSupport:
Provides APIs to transform kotlin code into Psi* entities
Primary client of this service is JavaElementFinder
2018-03-12 12:04:59 +01:00
Pavel V. Talanov
27d7bb595f
CliLightClassGenerationSupport: correctly find facade files
...
This fixes a problem where JvmPackageName annotation could force file
facades to be in the package different to declared kotlin package
2018-03-06 12:07:12 +01:00
Pavel V. Talanov
6c4537accc
Create InvalidLightClassDataHolder for expect classes
...
This fixes an exception from duplicateJvmSignature reporter
Fixes "QuickFixTestGenerated$Override.testDontOfferToImplementMembersForExpectedClass" on teamcity
2018-03-05 18:07:38 +01:00
Pavel V. Talanov
89c82a85d0
Do not build light classes for expect classes
...
#KT-15482 Fixed
2018-03-05 18:07:36 +01:00
Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Mikhail Glukhikh
bd0cbb716c
Rename: analyzeWithDeclarations --> analyzeWithContent()
2018-02-20 20:25:41 +03:00
Mikhail Glukhikh
cd1745d354
Light classes: analyzeFully() --> analyzeWithDeclarations()
2018-02-20 20:25:41 +03:00
Nicolay Mitropolsky
bc543b4cdf
LightAnnotations: wrapping all PsiLiterals (not only Strings)
2018-02-19 15:08:02 +03:00
Nicolay Mitropolsky
47f3a0ce0a
Revert "Light annotations made strictly non-physical (KT-22565)"
...
This reverts commit cf6e21d
2018-02-16 16:24:15 +03:00
Nicolay Mitropolsky
cb05baa02b
LightAnnotations: wrapping nested annotations with KtLightAnnotationForSourceEntry
2018-02-07 10:17:40 +03:00
Yan Zhulanow
145ddf3b1f
Parcelable: Add CREATOR field (and other generated declarations) in light classes (KT-19300, KT-19853)
2018-02-06 22:15:59 +03:00
Nicolay Mitropolsky
cf6e21daad
Light annotations made strictly non-physical (KT-22565)
2018-01-31 14:31:35 +03:00
Vyacheslav Gerasimov
89a07ded1c
Extract versions and remove unnecessary '.jar' extensions
2018-01-30 17:06:18 +03:00
Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Alexey Sedunov
c6a9c36275
Analyze Data Flow: Support cross-language analysis
...
#KT-16833 Fixed
2018-01-17 12:40:34 +03:00