Yan Zhulanow
a4b3653e1c
Debugger: Navigate to the right file in MPP projects (#KT-25152, #KT-25147)
2018-07-17 20:54:29 +03:00
Ilya Chernikov
0f46f62232
Add script class annotations generation from the base class
2018-07-10 08:43:51 +02:00
Alexey Sedunov
60583e557f
PSI: Do not delete package directive for file in default package
...
#KT-24968 Fixed
2018-06-28 18:22:28 +03:00
Alexey Sedunov
ed597e2da5
Extract Function: Make compliant with PublicApiImplicitTypeInspection
2018-06-28 18:22:27 +03:00
Alexey Sedunov
bd88e02172
Extract Superclass: Fix visibility lifting when moving to interface
...
#KT-16281 Fixed
2018-06-28 17:52:04 +03:00
Mikhail Zarechenskiy
173bcd90df
Simplify lexer rule for typed integers
2018-06-28 13:32:10 +03:00
Mikhail Zarechenskiy
a765ee41d7
Introduce uL/UL suffix to represent numbers of unsigned long type
...
#KT-24663 Fixed
2018-06-27 14:21:12 +03:00
Mikhail Zarechenskiy
7c44992016
Allow any case for u suffix
...
#KT-24663 In Progress
2018-06-27 14:21:07 +03:00
Alexander Udalov
9309570752
Fix serialization of type parameters inner generic class
...
The call to `createTopLevel` instead of `create` (which creates
serializers for outer classes properly, with correct type parameter
contexts) caused MetadataSerializer to write type parameter metadata
incorrectly. For example, in the following case:
class A<E> {
inner class B<T, E> { ... }
}
A's type parameter E would get id 0, and B's type parameters T and E
would get ids 0 and 1. This is a problem because ids are supposed to be
unique for each class including its outer classes, and deserializer,
decompiler and stub builder rely on this assumption.
JVM metadata is unaffected because `create` is called correctly there,
see MemberCodegen#generateKotlinClassMetadataAnnotation
#KT-24944 Fixed
2018-06-21 14:45:45 +02:00
Dmitry Petrov
67247ee490
'val' in 'when' subject can't have modifiers (annotations are ok)
2018-06-20 14:06:34 +03:00
Dmitry Petrov
8aec99f4b5
Fix parsing variable declaration in when subject
...
- parse destructuring declarations
- parse annotations on variable declaration in when subject
2018-06-20 14:06:34 +03:00
Dmitry Petrov
1eeafc2d0e
Resolve variable declaration in 'when' subject
2018-06-20 14:06:34 +03:00
Mikhail Glukhikh
b87dd07dd1
Redundant companion reference: minor refactoring
2018-06-19 12:48:11 +03:00
Natalia Selezneva
077554c438
Use field access instead of setter in clone method of KtCodeFragment
...
Fix EA-120381
2018-06-16 00:01:29 +03:00
Vyacheslav Gerasimov
4dbcb2e50e
182: Switch 182 to SNAPSHOT builds (until next EAP)
...
Android plugin 3.1 is merged to IJ 182, we need to provide compatible plugin
2018-06-09 14:44:50 +03: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
0f80dd4ecf
Navigation: Use local search scope for top-level properties in script
...
#KT-20465 Fixed
2018-06-04 20:17:44 +03:00
Alexey Sedunov
3c267b206b
Move: Fix exception on moving top-level declaration from/to script file
...
#KT-20260 Fixed
2018-06-04 20:17:43 +03:00
Mikhail Zarechenskiy
bf5f710f39
Parse integers with unsigned ('u') suffix
2018-06-04 18:19:34 +03:00
Toshiaki Kameyama
8271e85dbb
ReplaceArrayOfWithLiteralInspection: Remove unnecessary parentheses
...
#KT-21878 Fixed
2018-05-22 17:33:25 +03:00
Ilya Chernikov
b3219cb762
Implement lazy script definition and light discovery in cli plugin, ...
...
update appropriate parts of the scripting infrastructure
2018-05-14 11:13:44 +02:00
Ilya Chernikov
d4070cc4d7
Return null on directories in script definition wrappers for files
2018-05-03 22:15:10 +02:00
Ilya Chernikov
48cf0bd949
Fixes and refactorings after review
2018-05-03 22:15:10 +02:00
Ilya Chernikov
516924cda1
Add support for script environment variables to the frontend
2018-05-03 22:15:09 +02:00
Ilya Chernikov
15f9ad9531
Implement quick non-script detection and lazy script discovery..
...
so ".kt" and ".java" files are not considered as scripts and quickly
filtered out, and for the other files the the checks are implemented
using sequences, mechanisms provided to supply script definitions
lazily, and script discovery is implemented using this mechanisms.
2018-05-03 22:15:09 +02: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
Toshiaki Kameyama
e58d9c5507
Add intention for converting to block comment and vise versa
...
So #KT-23137 Fixed
2018-04-24 11:57:56 +03:00
Nicolay Mitropolsky
ebdee1f24c
182: JvmDeclarationSearcher-implementation for Kotlin based on light-classes
...
#KT-23764
2018-04-23 21:37:58 +03:00
Nikolay Krasko
846a1a0179
Remove deprecated marker for JVM debugging in Kotlin code (KT-23886)
...
#KT-23886 Fixed
2018-04-20 14:37:01 +03:00
Mikhail Glukhikh
5212b97047
Remove reformatting in intentions isApplicable via createByPattern
2018-04-18 16:15:57 +03:00
Alexey Sedunov
bf106d01b8
Find Usages: Restrict search scope of private top-level declarations
...
#KT-7622 Fixed
2018-04-13 20:23:04 +03:00
Nikolay Krasko
579b773388
172: Remove 172 specific from psiModificationUtils.kt and KtPsiFactory.kt
2018-04-12 19:29:01 +03:00
Mikhail Glukhikh
1477e67076
Optimize KtPropertyAccessor.hasBlockBody()
2018-04-12 11:03:41 +03:00
Alexey Tsvetkov
13ac64b84a
Move parseFileUtils to incremental-compilation-impl
2018-04-11 19:56:15 +03:00
Alexey Sedunov
25d19b45e9
181: Safe Delete: Do not delegate class search to Java
...
This fixes tests failing in IDEA 181
2018-04-11 16:28:37 +03:00
Vyacheslav Gerasimov
8d3f71a04f
172: Revert "Quick Fixes: Support cross-language "Create from Usage" with Kotlin target"
...
This reverts commit 908bf71
2018-04-11 16:28:09 +03:00
Ilya Chernikov
00320bad8d
Implement support for additional receivers in the backend
2018-04-04 16:23:56 +02:00
Ilya Chernikov
87de1dff03
Implement support for additional receivers for script in frontend
2018-04-04 16:23:56 +02:00
Alexey Tsvetkov
3eb968807e
Invalidate usages of removed classes before round
...
#KT-23165 fixed
2018-04-03 21:11:12 +03:00
Natalia Selezneva
15914dac86
Add ScriptExpectedLocations annotation to script-runtime.
...
It describes where script file can be found.
2018-03-30 14:43:17 +03:00
Dmitry Jemerov
5b04d99eeb
Return null script if stub tells us file is not a script
2018-03-29 13:11:36 +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
Denis Zharkov
f060604d98
Add a cache for KtImportDirective::importedFqName
...
It's very useful for Spring users because KotlinAnnotatedElementsSearcher
calls PsiBasedClassResolver::canBeTargetReference rather frequently
on a file and the latter function retreives importedFqName for each
import in the file that becomes a problem because computing fq-name
from PSI is a heavy computation
#KT-23380 In Progress
2018-03-23 12:36:15 +03:00
Nikolay Krasko
117890dba8
Fix generating cls stubs when is metadata using type tables (KT-23345)
...
Affected cases:
- return type for suspend lambda
- aliased type in type alias declaration
- using type alias instead of aliased type in declarations
#KT-23345 Fixed
2018-03-22 11:54:03 +03:00
Mikhail Zarechenskiy
effdfe8ec0
Prohibit incorrect annotations with use-site targets more precisely
...
#KT-21696 Fixed
The problem is coming from the fact that `AnnotationTarget.VALUE_PARAMETER` is mapped to receiver parameter and to value parameter, but annotation with use-site target `receiver` can be used only on type reference of receiver parameter
2018-03-22 04:03:08 +03:00
Alexey Belkov
d3b1b7a5be
Minor: fix assertion
2018-03-20 20:39:17 +03:00
Ilya Chernikov
d6792f5f52
Implement support for additional compiler arguments for scripts in IDE
...
fixes #KT-19120
2018-03-19 11:45:10 +01:00
Nikolay Krasko
34569c2541
Minor: hasTopLevelCallables rename
2018-03-16 16:40:37 +03:00
Simon Ogorodnik
c0b0f6d1ca
Extract PSI to separate module
2018-03-16 13:32:14 +03:00