Ilya Kirillov
e5202f44d7
Refactor keyword completion handlers
...
- Separate completion keyword handlers stuff into files
- Introduce CompletionKeywordHandlerProvider as a common way to provide handlers
- Move CompletionKeywordHandler factory out of companion object
2021-05-12 21:40:12 +03:00
Ilya Kirillov
8983bde73e
FIR IDE: implement override completion
2021-05-12 21:40:11 +03:00
Ilya Kirillov
ae212f36f5
FIR IDE: move addElementToCompletion to FirCompletionContributorBase
2021-05-12 21:40:10 +03:00
Ilya Kirillov
e624f2c136
FIR IDE: do not pass resultSet in KotlinWithNameReferenceCompletionProvider as it is already available
2021-05-12 21:40:09 +03:00
Ilya Kirillov
49aba39ae8
Make OverridesCompletionLookupElementDecorator available for FIR IDE
2021-05-12 21:40:07 +03:00
Ilya Kirillov
8f399652d7
FIR IDE: add expressions to return keyword completion
...
Also, adds return targets for return with labels while FE1.0 plugin don't
2021-05-12 21:40:06 +03:00
Ilya Kirillov
8cfa85df6b
FIR IDE: make FirKeywordCompletion to be a completion contributor
2021-05-12 21:40:04 +03:00
Ilya Kirillov
ca1fd185dc
FIR IDE: introduce base class for completion provider
2021-05-12 21:40:03 +03:00
Ilya Kirillov
81c6f38f79
FIR IDE: move context creation out of KotlinFirCompletionContributor
2021-05-12 21:40:02 +03:00
Ilya Kirillov
8eff865277
FIR IDE: encapsulate basic completion parameters into class
2021-05-12 21:40:01 +03:00
Ilya Kirillov
a08c267c37
FIR IDE: mute a few completion tests as they now fails because of unexpected keywords
2021-05-12 21:39:59 +03:00
Ilya Kirillov
98becc9a50
FIR IDE: remove FIR_IGNORE from passing completion test after implementing basic keyword completion
2021-05-12 21:39:58 +03:00
Ilya Kirillov
36068d0b94
FIR IDE: reuse keyword completion handlers which do not require resovle
2021-05-12 21:39:57 +03:00
Ilya Kirillov
1f93eb0841
FIR IDE: add basic keyword completion
2021-05-12 21:39:56 +03:00
Ilya Kirillov
62fe3930ff
Move keyword completion stuff to frontend-independent module
2021-05-12 21:39:54 +03:00
Roman Golyshev
d7a91cb05e
Remove IGNORE_FIR directive from already green tests
2021-05-12 16:28:31 +00:00
Roman Golyshev
4adb291a12
Mute failing AutoImportQuickFix tests
2021-05-12 16:28:30 +00:00
Roman Golyshev
03a1439cc0
Make IgnoreTests fail correctly when directive is outdated
...
`Outdated` means green test with `IGNORE_FIR` directive, or
red test with `FIR_COMPARISON` directive
Also, invoke directive insertion only when it is appropriate
2021-05-12 16:28:29 +00:00
Roman Golyshev
22db894076
FIR IDE: Add Add Import quickfix
...
This quickfix can import unresolved types and callables
It currently does not support Java types and is not as advanced as in
the old plugin
Also, enable tests that now pass
2021-05-12 16:28:28 +00:00
Roman Golyshev
3ad9e4cb5c
Use Import instead of action FQN
...
This way test data can be used both in the old plugin and in the
FIR plugin
2021-05-12 16:28:27 +00:00
Roman Golyshev
eadd7ac034
Generate multi-file quickfix tests for FIR plugin
...
Currently generate only for `Import` quickfix
2021-05-12 16:28:27 +00:00
Roman Golyshev
24642a7c9f
Add KtTypeElement.unwrapNullability() extension function
...
Replace similar functions with its usage
2021-05-12 16:28:26 +00:00
Roman Golyshev
cc41592969
Add possibility to compute additional files for IgnoreTests
...
It is more flexible then just passing additional prefixes, since in some
cases test data have some weird naming conventions
2021-05-12 16:28:25 +00:00
Roman Golyshev
e50d643213
Add possibility to use ModuleLibrariesSearchScope in other modules
...
The type is made private to avoid direct usage of it
2021-05-12 16:28:24 +00:00
Ivan Kochurkin
598501aaf0
[FIR] Improve locations for DEPRECATED_SINCE_KOTLIN_WITHOUT_DEPRECATED, DEPRECATED_SINCE_KOTLIN_WITH_DEPRECATED_LEVEL, DEPRECATED_SINCE_KOTLIN_OUTSIDE_KOTLIN_SUBPACKAGE and other diagnostics, refactor
2021-05-12 18:42:44 +03:00
Ivan Kochurkin
52c32d3d85
[FIR] Implement DEPRECATED_SINCE_KOTLIN_OUTSIDE_KOTLIN_SUBPACKAGE, fix tests
2021-05-12 18:42:43 +03:00
Ivan Kochurkin
177394f6ef
[FIR] Implement DEPRECATED_SINCE_KOTLIN_WITH_DEPRECATED_LEVEL, fix tests
2021-05-12 18:42:42 +03:00
Ivan Kochurkin
77c137df22
[FIR] Add DEPRECATED_SINCE_KOTLIN_WITHOUT_DEPRECATED diagnostics, fix tests
2021-05-12 18:42:41 +03:00
Ivan Kochurkin
3191e0b925
[FIR] Implement DEPRECATED_SINCE_KOTLIN_WITHOUT_ARGUMENTS diagnostics, fix tests, merge and refactor annotation checkers
2021-05-12 18:42:40 +03:00
Ivan Kochurkin
dc99a673a5
[FIR] Implement DEPRECATED_SINCE_KOTLIN_WITH_UNORDERED_VERSIONS diagnostics, fix tests
2021-05-12 18:42:38 +03:00
Ivan Kochurkin
5c086e2321
[FIR] Implement NEWER_VERSION_IN_SINCE_KOTLIN diagnostics, fix tests
2021-05-12 18:42:37 +03:00
Ivan Kochurkin
1be02e3ac4
[FIR] Implement ILLEGAL_KOTLIN_VERSION_STRING_VALUE diagnostics, fix tests
2021-05-12 18:42:36 +03:00
Jinseong Jeon
cb0b80253c
FIR/UAST: make a fat jar with the base module
2021-05-12 17:36:35 +02:00
Ilya Muradyan
bab5d16001
[REPL] Stop old classpath calculation on the base classloader
...
The mechanism of the recursive classpath checking is intended
for the "inner" scripting/REPL classloaders and should not touch
anything beyond.
2021-05-12 18:30:43 +03:00
Mikhail Glukhikh
4608ca15eb
FIR: don't allow SEALED callable modality anymore
2021-05-12 17:50:29 +03:00
Mikhail Glukhikh
67d1c35f19
FIR: report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED also on interfaces
2021-05-12 17:50:27 +03:00
pyos
3fc2cc410c
JVM_IR: propagate reified type parameter usages from inline lambdas
...
...to whichever class they are inlined into, not the class they are
declared in (which is not the same if the lambda is crossinline).
#KT-46584 Fixed
2021-05-12 15:09:35 +03:00
Alexander Udalov
e079fb665e
JVM IR: fix inheritance from mutable collections of Int
...
For subclasses of `AbstractMutableList<Int>` which are not inline
classes, the special bridge `remove` had a parameter of type `Int`
(mapped to JVM primitive int) before this fix. The hack in
`MethodSignatureMapper` changed this type to `Int?`, yet the body of the
special bridge still loaded it as non-nullable, which resulted in
incorrect bytecode.
It looks like a part of this hack in `BridgeLowering` was made only for
inline classes which are subclasses of mutable collections. Supposedly
it should be extended to non-inline classes, so that `remove` special
bridge would have consistent IR by the time it reaches codegen.
#KT-46516 Fixed
2021-05-12 13:58:40 +02:00
Nikolay Krasko
f30980806f
Read process streams to avoid hanging on Windows in parcelize tests
...
Could be reproduced with ParcelizeBoxTestGenerated.testKt36658 test.
2021-05-12 12:58:02 +03:00
Nikolay Krasko
818bbbbb83
Don't print to log in successful parcelize tests
2021-05-12 12:58:01 +03:00
Nikolay Krasko
b41fdd2705
Leave a clue about muted tests with directive for manual processing
2021-05-12 12:57:59 +03:00
Mads Ager
2c5a4dcb98
[JVM IR] Fix constant folding to use basic types always.
...
Fixes KT-46540.
2021-05-12 11:57:20 +02:00
Svyatoslav Scherbina
ad18d5984b
Expand comment for unsupported nested generics when exporting to Swift
...
Add links to Swift and Kotlin issue trackers.
2021-05-12 09:06:28 +00:00
Elena Lepilkina
18462445b7
[K/N][stdlib] Fixed lookaround regexes (KT-45932)
2021-05-12 09:02:24 +00:00
Ilya Goncharov
d7a87a8552
[Gradle, JS] Fixes after rebase
2021-05-12 11:57:14 +03:00
Ilya Goncharov
9412b7236e
[Gradle, JS] Refactor cacheBuilder to reuse one instance
2021-05-12 11:57:14 +03:00
Ilya Goncharov
19393948d7
[Gradle, JS] irBuildCache means ir compiler enabled
2021-05-12 11:57:14 +03:00
Ilya Goncharov
b9fc97b44f
[Gradle, JS] Add arguments for building caches
2021-05-12 11:57:14 +03:00
Ilya Goncharov
c23376f040
[Gradle, JS] Use associated compilation's caches
2021-05-12 11:57:14 +03:00
Ilya Goncharov
9723d45d27
[Gradle, JS] Add associateWith compilations to CacheBuilder
2021-05-12 11:57:14 +03:00