Ilya Kirillov
cb569f8493
Do not use resolving to understand which method we use in "replace get or set inspection"
2019-09-24 17:21:49 +03:00
Ilya Kirillov
4e27d2e658
New J2K: do not use global write action for some post-processings which may use resolving while applying
...
Also, modify that post-processings & inspections to explicitly use write action
when modifying PSI elements
#KT-33875 fixed
2019-09-24 17:21:49 +03:00
Ilya Kirillov
74ba5b210a
New J2K: do not analyze code for post-processings in edt thread
2019-09-24 17:21:48 +03:00
Ilya Kirillov
e6f2e0041c
New J2K: get rid of generalInspectionPostProcessing
2019-09-24 17:21:47 +03:00
Ilya Kirillov
a4cf7a912b
Split some non applicability based inspections into isApplicable and apply
...
This is needed to fit new nj2k post-processing structure
2019-09-24 17:21:47 +03:00
Ilya Kirillov
3724e2bb02
New J2K: convert all custom post-processing to applicability based ones
2019-09-24 17:21:46 +03:00
Ilya Kirillov
509fcb17c7
New J2K: consider empty/singleton children list when comparing trees in default arguments conversion
2019-09-24 17:13:13 +03:00
Ilya Kirillov
704b3bd2e6
New J2K: always print real fqNames for static calls
...
As fqNames of some symbols may change during conversion
E.g, when moving Java static method to Kotlin companion object
#KT-19607 fixed
#KT-32903 fixed
#KT-33743 fixed
#KT-33556 fixed
2019-09-24 17:13:12 +03:00
Ilya Kirillov
f9fac0acf5
New J2K: do not save import statements in files as we print fqNames for calls
...
This may cause conflicts on shortening fq references post-processing step
2019-09-24 17:13:11 +03:00
Dmitry Savvinov
e3b7b41544
Minor: rename globalFacade -> facadeForModules
2019-09-24 17:05:05 +03:00
Dmitry Savvinov
937d041bc3
Minor: rename file ResolverForProjectImpl.kt -> AbstractResolverForProject
2019-09-24 17:05:05 +03:00
Dmitry Savvinov
bef33e971f
Make ResolverForProject own BuiltInsCache
...
Previously, BuiltInsCache was a separate abstraction with its own
lifecycle. In particular, it had a CachedValue inside, which uses
SoftReference to hold the computed data. This is bad, because this might
lead to disalignment of lifetimes with respective ResolverForProject,
leading to potential exceptions in analysis, see KT-33504 for details.
This commit fixes it by making root ResolverForProject own BuiltInsCache
and removing any logic about invalidation from BuiltInsCache. So, now,
BuiltInsCache is disposed iff corresponding ResolverForProject is
disposed
^KT-33504 Fixed
2019-09-24 17:05:05 +03:00
Dmitry Savvinov
bfacc1a3c5
Introduce AbstractResolverForProject
...
Previously, ResolverForProjectImpl had multiple callbacks in
constructor. Some of those callbacks were used only to overcome module
visibility and provide an ability to inject IDE-specific logic into
compiler (ResolverForProject is in the 'compiler'-module)
This commit introduces abstract class which implements
environment-independent logic (previously, this logic had been stored in
ResolverForProjectImpl) with several abstract met hods (previously,
callbacks). Then, we provide few concrete implementations of
AbstractResolverForProject with clear semantics:
- IdeaResolverForProject: resolver used in IDE, where we have indices,
oracles, multiple modules, etc.
- ResolverForSingleModuleProject: resolver for project with only one
module, commonly used for CLI compiler/tests
- one anonymous implementation for MultimoduleTests
This refactoring achieves several things:
- now it is easier to see what kinds of ResolverForProject you might see
in some particular environment (previously, one had to inspect all
call-sites of constructor)
- we can easily add IDE-specific logic in IdeaResolverForProject without
adding noisy callbacks (which most probably wouldn't have any other
non-trivial implementations)
2019-09-24 17:05:05 +03:00
Dmitry Savvinov
48719c4050
Minor: extract ResolverForProjectImpl into separate file
2019-09-24 17:05:05 +03:00
Dmitry Savvinov
1e288c03c3
Minor: fix typos in KDoc
2019-09-24 17:05:04 +03:00
Dmitry Savvinov
4f700f5df3
Minor: drop unused parameter from createFacadeForScriptDependencies
2019-09-24 17:05:04 +03:00
Andrey Uskov
8ff4a92562
Fix serialization of data nodes tree
...
#KT-33987 Fixed
2019-09-24 16:27:13 +03:00
Ilya Kirillov
41f7519244
Fix old j2k test data to actual one
2019-09-24 16:22:24 +03:00
Vladimir Dolzhenko
8b0aeb9a55
Do not resolve services in non-default ctors
2019-09-24 15:15:37 +02:00
Toshiaki Kameyama
0e1e1e350f
"Convert lambda to reference": do not remove required backticks
...
#KT-15700 Fixed
2019-09-24 19:45:53 +07:00
Toshiaki Kameyama
44edd94fea
"Create member function" quick fix: do not add redundant semicolons after enum entry
...
#KT-14899 Fixed
2019-09-24 19:40:31 +07:00
Toshiaki Kameyama
0497f0cba4
"Create enum constant" quick fix: add before semicolon
...
#KT-33718 Fixed
2019-09-24 19:31:52 +07:00
Toshiaki Kameyama
30c41e6720
"Create type parameter from usage": don't suggest for not extension property
...
#KT-33300 Fixed
2019-09-24 19:28:40 +07:00
Toshiaki Kameyama
68609401c4
Reformat CreateTypeParameterByUnresolvedRefActionFactory
2019-09-24 19:28:40 +07:00
Toshiaki Kameyama
5b666ff33f
"Create type parameter from usage": don't remove backticks if necessary
...
#KT-33299 Fixed
2019-09-24 19:24:02 +07:00
Ilya Goncharov
bfc698a521
Add comment for log-reporter and its necessity
2019-09-24 14:36:11 +03:00
Ilya Goncharov
09e2ebe60a
Both js targets use one TC service message classes
2019-09-24 14:36:11 +03:00
Ilya Goncharov
7d4b43f819
Remove annoying spaces in karma-teamcity-reporter
2019-09-24 14:36:10 +03:00
Ilya Goncharov
b4e3cf1d7a
Move teamcity reporting only to nodejs
2019-09-24 14:36:10 +03:00
Ilya Goncharov
46e82468e4
Provide logging through kotlin-test=js-runner
2019-09-24 14:36:10 +03:00
Ilya Goncharov
f0e72c4d71
Remove mangling for kotlin-test-js-runner
2019-09-24 14:36:10 +03:00
Ilya Goncharov
e59d1a0ef1
Use terser instead of uglify
2019-09-24 14:36:10 +03:00
Toshiaki Kameyama
784ba69b7a
"Cleanup code": remove 'final' keyword for overridden function with non-canonical modifiers order
...
#KT-33060 Fixed
2019-09-24 18:28:00 +07:00
Steven Schäfer
f49d5da929
JVM IR: Fix enum constructor visibility
2019-09-24 13:28:08 +03:00
Kristoffer Andersen
52dc469657
JVM IR: Generate synthetic methods for type aliases with annotations
2019-09-24 12:21:42 +02:00
romanart
acd1cc5a57
[KLIB] Normalize path string to keep file order on Windows OS
2019-09-24 12:41:48 +03:00
Dmitry Gridin
1ee827bfc8
Import quick fix: support provideDelegate
...
#KT-28049 Fixed
2019-09-24 16:27:10 +07:00
Toshiaki Kameyama
79199260b9
Import quick fix: suggest for operator extension function called from name reference
...
#KT-28049 Fixed
2019-09-24 16:27:09 +07:00
Toshiaki Kameyama
998adfb098
Move variable declaration into when: don't report when property has 'break' or 'continue'
...
#KT-31999
2019-09-24 12:11:41 +03:00
Toshiaki Kameyama
877e583a96
Move variable declaration into when: don't report when property has 'return' or 'throw'
...
#KT-31999 Fixed
2019-09-24 12:11:41 +03:00
Toshiaki Kameyama
d9d04fc556
"Create enum constant" quick fix: do not add redundant empty line
...
#KT-32981 Fixed
2019-09-24 13:23:06 +07:00
Dmitry Gridin
5dddc464a5
Completion: add tests for case with overloaded function with lambda with receiver parameter
...
Relates to #KT-31073
2019-09-23 23:20:26 +07:00
Dmitry Gridin
e3ce799993
Refactoring: change signature should affected expect/actual
...
#KT-33972 Fixed
2019-09-23 23:01:47 +07:00
Dmitry Gridin
484dda478e
AbstractIntentionTest: should check startInWriteAction flag
2019-09-23 23:01:46 +07:00
Dmitry Gridin
667e9a33e8
AbstractIntentionTest: cleanup code
2019-09-23 23:01:46 +07:00
Dmitry Gridin
cbdda6f9a8
KotlinChangeSignatureData: cleanup code
2019-09-23 23:01:46 +07:00
Nikolay Krasko
7271e65851
Don't store hard references to psi elements in transferable data (KT-33802)
...
This leads to project leaked errors in tests.
2019-09-23 18:58:11 +03:00
Igor Yakovlev
f8bd3518dc
UL method and parameter Move&Rename refactoring
2019-09-23 17:30:15 +03:00
Igor Yakovlev
fc70fd05fc
Enable kotlin.collections support for UL classes
...
Removed restriction for classes derived from Kotlin collections
Added type erasure for java collection overrided methods
2019-09-23 17:30:15 +03:00
Igor Yakovlev
286702a99c
Format code for NoArgPlugin
2019-09-23 17:07:33 +03:00