Alexey Sedunov
fbb4914bfb
Intentions: Fix insertion of necessary lambda parameter for run/let and apply/also conversions
...
#KT-22931 Fixed
2018-05-31 15:22:32 +03:00
Alexey Sedunov
f17053f970
Configuration: Create absent Kotlin SDK when configuring Kotlin/JS module
...
#KT-24412 Fixed
2018-05-31 15:22:31 +03:00
Alexey Sedunov
924db3f23e
Configuration: Fix Kotlin SDK existence check on facet configuration
...
#KT-24072 Fixed
2018-05-31 15:22:31 +03:00
Dmitry Petrov
7b1b557250
psi2ir: Java annotations have no primary constructor
2018-05-31 10:09:31 +03:00
Dmitry Petrov
8094cb7dc5
psi2ir: Generate external dependencies in a loop
...
There are some cases (superclasses, overridden methods, and so on) where
external dependencies generation can require additional external
dependencies.
2018-05-31 10:09:31 +03:00
Alexey Tsvetkov
cb549cba00
Create kapt configurations before gradle script is evaluated
...
We cannot create kapt configurations in `KotlinGradleSubplugin.apply`,
because `apply` is invoked after a script is evaluated, so user cannot
refer to kapt configurations in script.
We cannot call `apply` before script's evaluation, because
then we might not be able to determine
if a Gradle plugin corresponding to a subplugin is appled.
For example in case of the following script:
```
apply plugin: "kotlin"
apply plugin: "kotlin-kapt"
```
subplugin's apply will exit early because Gradle plugin "kotlin-kapt"
is not applied yet, when "kotlin"'s apply is evaluated.
2018-05-30 20:24:11 +03:00
Mikhael Bogdanov
4383335168
Update @JvmDefault documentation
2018-05-30 15:24:50 +02:00
Alexander Udalov
b5007c417d
Minor, restructure reflection tests a little
...
To allow their usage in https://github.com/udalov/kotlin-obfuscation-test-app
2018-05-30 13:03:10 +02:00
Dmitry Petrov
7a2bb79777
psi2ir: Use substituted 'hashCopy' for generated data class 'hashCopy'
2018-05-30 12:02:34 +03:00
Dmitry Petrov
cb301763f3
psi2ir: Fix implicit casts generation
...
Implicit cast from T to S is not required if
T <: S.makeNullable()
2018-05-30 12:02:34 +03:00
Nikolay Krasko
dac9036969
Remove reload(PsiFile?) usage from KotlinFieldBreakpoint
2018-05-29 21:40:32 +03:00
Nikolay Krasko
439e079c94
Minor: reformat KotlinFindUsagesProvider.kt
2018-05-29 21:40:32 +03:00
Nikolay Krasko
9c305e2431
Fix getting names representation for constructor parameters (KT-23090)
...
#KT-23090 Fixed
2018-05-29 21:40:32 +03:00
Nikolay Krasko
c5b3092c64
Use same amount of memory for all builds and remove tasks.kt.173
2018-05-29 21:40:31 +03:00
Nikolay Krasko
e6905c9b3d
Refactoring: extract function for getting project
2018-05-29 21:40:31 +03:00
Alexey Sedunov
6f8e25eae7
Configuration: Restore dependency on gradle plugin in buildscript block
...
#KT-24671 Fixed
2018-05-29 18:07:09 +03:00
Nicolay Mitropolsky
cbcc3d2e2e
Test for java-keywords in light-annotations (KT-22883)
...
working with new source-based light annotations
2018-05-29 16:34:10 +03:00
Mikhael Bogdanov
ad717d5335
Support properties in compatibility mode
2018-05-29 15:08:07 +02:00
Mikhael Bogdanov
0498c3b765
Don't copy descriptor for delegation generation
...
Actually source element for DEFAULT_IMPL_DELEGATION_TO_SUPERINTERFACE_DEFAULT_IMPL
was always null cause descriptor was copies with new kind=DECLARATION.
That causes element recalculation in DiagnosticFactory:
element = data.classOrigin.element
So DEFAULT_IMPL_DELEGATION_TO_SUPERINTERFACE_DEFAULT_IMPL is added to EXTERNAL_SOURCES_KINDS
2018-05-29 15:08:07 +02:00
Roman Artemev
9d2092e86d
Fix visibility of @JsName-annotated symbols in stdlib-js
2018-05-29 13:57:34 +03:00
Roman Artemev
06009a532b
Add test case to detect name clash in stdlib-js
2018-05-29 13:57:34 +03:00
Mikhael Bogdanov
689a492b9a
Minor. Fix test data
2018-05-29 12:47:07 +02:00
Mikhael Bogdanov
23a713d46b
Rollback 'Don't copy interface member on DefaultImpl delegation generation, keep kind'
2018-05-29 12:47:06 +02:00
Nicolay Mitropolsky
8e2c9358bc
Uast: updates for consistency tests and fixes for missed things
...
we should use `sourcePsi` instead of `psi` for parents matching, because light `psi` will not be tested, and it is not enough to store only PSI as map key to match parent consistency, because some different UElements could have same sourcePsi.
2018-05-29 13:30:52 +03:00
Mikhael Bogdanov
0a26f527f2
Minor. Fix test data
2018-05-29 11:26:36 +02:00
Mikhael Bogdanov
419218b9cf
Rename 'jvm-default-mode' to 'jvm-default'. Add description
2018-05-29 11:26:36 +02:00
Mikhael Bogdanov
020573ef3c
Don't generate compatibility suffix twice for properties
2018-05-29 09:29:48 +02:00
Mikhael Bogdanov
60f2dbeb8a
Support property accessor in compatibility mode
2018-05-29 09:29:48 +02:00
Mikhael Bogdanov
7f4bd549aa
Minor. Fix rebase
2018-05-29 09:28:46 +02:00
Mikhael Bogdanov
1d6665d355
Minor. Remove hack
2018-05-28 22:15:54 +02:00
Mikhael Bogdanov
b7bad2bd72
Pass accessorKind into AccessorForCallableDescriptor
2018-05-28 22:15:53 +02:00
Mikhael Bogdanov
7a649e0e74
Convert AccessorForPropertyDescriptor to Kotlin
2018-05-28 22:15:52 +02:00
Mikhael Bogdanov
6d321e7997
Rename AccessorForPropertyDescriptor.java to AccessorForPropertyDescriptor.kt
2018-05-28 22:15:51 +02:00
Mikhael Bogdanov
df13d332b3
Minor. Code clean
2018-05-28 22:15:50 +02:00
Mikhael Bogdanov
15cbb68d47
Convert AccessorForCallableDescriptor to Kotlin
2018-05-28 22:15:50 +02:00
Mikhael Bogdanov
2fa521b62a
Convert AccessorForFunctionDescriptor to Kotlin
2018-05-28 22:15:49 +02:00
Mikhael Bogdanov
25af7c14e3
Rename AccessorForFunctionDescriptor.java -> AccessorForFunctionDescriptor.kt
2018-05-28 22:15:48 +02:00
Mikhael Bogdanov
8f19dea4a2
Rename FieldAccessorKind to AccessorKind
2018-05-28 22:15:47 +02:00
Mikhael Bogdanov
ad57ca7d2c
Minor. Code clean
2018-05-28 22:15:46 +02:00
Mikhael Bogdanov
340920fe38
Support compatibility mode for @JvmDefault
2018-05-28 22:15:45 +02:00
Mikhael Bogdanov
9b718e83a9
Don't copy interface member on DefaultImpl delegation generation, keep kind
...
Old logic is redundant and obsolete
2018-05-28 22:15:44 +02:00
Mikhael Bogdanov
4421b41790
Skip annotation classes in $DefaultImpls method delegation logic
...
Annotation could be safely skipped (as already interfaces) cause
compiler generates delegation to DefaultImpls only for classes
2018-05-28 22:15:43 +02:00
Mikhael Bogdanov
065780de4c
Switch enableJvmDefault to jvmDefaultMode
2018-05-28 22:15:42 +02:00
Ilya Chernikov
bacc2079ed
Fix/workaround lazy lcript definition test and related scenarios
2018-05-28 22:10:56 +02:00
Ilya Chernikov
6fdb8746de
Fixes after review
2018-05-28 22:10:56 +02:00
Ilya Chernikov
6218b2bcf6
Fix custom script codegen test: add missing classpath entries
2018-05-28 22:10:56 +02:00
Ilya Chernikov
a46dd5b30e
Avoid using reflected types in the scripting API
...
since it causes numerous classloading issues. Using the wrapping types
and reload them in the proper context when needed.
Note: this version supports only classes, but the wrapping type could
be extended to support other types in the future.
+ numerous fixes related to proper loading and handling of the templates.
2018-05-28 22:10:56 +02:00
Ilya Chernikov
4d65f0478b
Move scripting codegen code from tests-common to compiler tests
...
getting rid of dependencies on scripting in the tests-common
2018-05-28 22:10:56 +02:00
Pavel V. Talanov
c54967b1b4
IdeaModuleInfos: cache Module.findImplementedModules
...
Calling ModuleSourceInfo.expectedBy can be quite costly otherwise
because creating IdeModifiableModuleProvider is not cheap
2018-05-28 20:02:02 +02:00
Pavel V. Talanov
607fab994c
Cache result of collectModulesFromIdeaModel
...
Cache base module infos from idea model until next root modification
Calculate platform specific module infos (see PlatformModuleInfo)
on demand based on cached module infos from idea model
#KT-24144 Fixed
2018-05-28 20:02:02 +02:00