Commit Graph

855 Commits

Author SHA1 Message Date
Yan Zhulanow 25fb77e7ad Debugger: Add breakpoint applicability tests
This commit adds a number of tests that check breakpoint placing behavior, and an inline action that work the same way as tests.
2019-08-07 01:15:28 +09:00
Dmitry Gridin 832c8e0e20 Fix "Non default constructors for extension class" 2019-08-02 19:19:47 +03:00
Mikhail Glukhikh 760fb668bb Introduce FIR resolution API with lazy resolve to use in IDE
Now lazy resolve atomic element is a file (declaration-level resolve)
or a callable declaration (expression-level resolve)

#KT-24351 In Progress
2019-07-30 16:28:17 +03:00
Vyacheslav Gerasimov 3b78ef9cb2 as36: Add bunches for AS 3.6 C6 based on 192 platform 2019-07-25 20:50:02 +03:00
Anton Yalyshev 4a20a440a7 Cleanup: remove redundant semicolon 2019-07-24 07:41:58 +03:00
Anton Yalyshev 6d53151256 Add statistics (FUS) collector for IDE Settings. At the moment - New Inference only. 2019-07-24 07:41:58 +03:00
Natalia Selezneva 7d6bb023a8 Invalid script dependencies should be removed from fileAttributes to avoid 'all red file highlighting'
^KT-32061 Fixed
2019-07-19 12:45:56 +03:00
Natalia Selezneva a2d284c769 ScriptDefinitionsManager shouldn't be ready if definitions aren't initialized yet (KT-32554)
Otherwise this can lead to wrong script definition detection on project opening
^KT-32554 Fixed
2019-07-18 12:30:03 +03:00
Natalia Selezneva e40cdef257 Scripts: pass script definition as parameter to loader (KT-32554)
This should avoid situation when script definition for file is changed between isApplicable and loadDependencies calls

^KT-32554 Fixed
2019-07-18 12:30:03 +03:00
Natalia Selezneva 763f1e8606 Scripts: check that file is non-script starting script compilation configuration update
Replace FileType check with more precise method isNonScript
2019-07-18 12:30:03 +03:00
Dmitry Gridin fc45948da6 CreateActualFix: should create source root directory if it doesn't exist
#KT-27555 Fixed
2019-07-12 15:51:30 +03:00
Dmitry Gridin d2b8535548 Move/copy refactoring: add base support of implicit package prefix
#KT-29720 Fixed
2019-07-10 14:09:37 +03:00
Natalia Selezneva e4d0c2cb0e Scripts: switch ScriptReportSink to new scripting API
Use ScriptDiagnostic instead of ScripReport
2019-07-10 10:10:21 +03:00
Natalia Selezneva bd0f947222 Refactor script reports: introduce getter, check that report are changed inside attach method 2019-07-10 10:10:21 +03:00
Natalia Selezneva 68b45ce1dc FromFileAttributeScriptDependenciesLoader should be applicable when there are scriptCompilationConfiguration file attribute 2019-07-10 10:10:20 +03:00
Natalia Selezneva 4853190752 Scratch: should always have default script definition 2019-07-10 10:10:20 +03:00
Natalia Selezneva fbe965be9d Scripts: pass File finding script definition instead of File.name 2019-07-10 10:08:19 +03:00
Ilya Chernikov a96a938f87 Fix creating of the script definition from legacy template
adding classpath needed to load template and related class to the
appropriate host configuration
fixes tests
2019-07-08 13:20:06 +02:00
Ilya Chernikov 4940f64265 Refactor scripting infrastructure - convert usages to the new entities 2019-07-05 17:02:10 +02:00
Dmitry Gridin 148eed2a12 ShortenReferences: fix false negative for object call chain
#KT-32320 Fixed
2019-07-02 11:54:38 +07:00
Natalia Selezneva 63246f57d2 Scripts: drop sdk caches on project root change event
Otherwise old invalid roots may be saved
2019-07-01 16:41:55 +03:00
Anton Yalyshev d972d50296 small fix of FUS J2K merge conflict 2019-06-28 12:32:17 +03:00
Anton Yalyshev cf885789ff created FUS Group for J2K 2019-06-28 12:32:16 +03:00
Nikolay Krasko b7c12014ee Modify dependencies for 192 branch: more dependencies to full java plugin 2019-06-26 14:11:23 +03:00
Natalia Selezneva b503b29c51 Report exception from script definition loading to third party plugin if it's present 2019-06-26 13:47:34 +03:00
Natalia Selezneva 2fce671d0d Scripts, AsyncScripDependenciesLoader: notifyRootsChanged should return false in case when no dependencies are loaded 2019-06-26 13:47:33 +03:00
Natalia Selezneva cccc17b139 Fix compatibility for 'com.centurylink.mdw.studio' plugin 2019-06-26 13:47:33 +03:00
Natalia Selezneva 08e599ea5b Scripts: show notification only when compilation configuration is changed 2019-06-26 13:47:32 +03:00
Natalia Selezneva fa2b9b11d6 Check classpath jars before applying script compilation result from file attributes
^KT-32061 Fixed
2019-06-26 13:47:32 +03:00
Nikolay Krasko beb1bc09d4 Update to 192.5118.30 2019-06-25 11:48:59 +03:00
Anton Yalyshev c8ad7b95cd small refactoring: hashSets are replaced by sets 2019-06-25 09:14:04 +03:00
Anton Yalyshev 1acb89d760 added PullUp and PushDown cases to set of possible values for Refactorings collector 2019-06-25 09:14:04 +03:00
Anton Yalyshev 2adcb6d616 fixed a set of possible values for New File Templates collector 2019-06-25 09:14:03 +03:00
Anton Yalyshev edf467febf added lists of possible values for Evaluator collector 2019-06-25 09:14:03 +03:00
Anton Yalyshev 1a4a6bb0ff added lists of possible values for Refactoring, NewFileTemplate and NPWizards collectors 2019-06-25 09:14:03 +03:00
Anton Yalyshev eb5ab1cc52 added lists of possible values for buildSystemTarget collectors 2019-06-25 09:14:03 +03:00
Dmitry Gridin 8c84f885ac Cleanup: apply RemoveRedundantQualifierNameInspection to idea 2019-06-24 15:56:33 +07:00
Alexander Podkhalyuzin 4babde5b46 Faster startup avoiding unnecessary class loading in HelloWorld.java 2019-06-18 12:08:28 +02:00
Natalia Selezneva 20d19ee66f Temporary workaround for ProcessCanceledException that may happen during dependencies update
This happens during finding script definition (especially during virtual file to psi file search)
In this case dependencies may be already saved to cache, so makeRootChangeEvent should be generated, otherwise indexes aren't updated and highlighting in the script can be broken
2019-06-17 10:30:58 +03:00
Natalia Selezneva 233c37db57 Scripts: provide more concrete scope for files from script dependencies 2019-06-17 10:30:58 +03:00
Natalia Selezneva 151c12dd85 Scripts: clear modification stamps cache when script dependencies cache is cleared
Otherwise it prevents script dependencies reloading
It may occur when script definitions are reloaded, cache is cleared, but dependencies aren't reloaded

^KT-31826 Fixed
2019-06-17 10:30:57 +03:00
Natalia Selezneva 2b748ccd9a Scripts: if sdk isn't use for some module in project, PsiElementFinder doesn't return jdk classes
For example in Android project all modules can have AndroidSDK, but JavaSDK can be set as ProjectSdk
In this case build.gradle.kts couldn't resolve jdk classes
2019-06-17 10:30:56 +03:00
Natalia Selezneva 39f6a6b249 Scripts: replace notification with traffic light icon
When script dependencies aren't loaded yet prevent editor to show green arrow in the top right corner.
Now pause is shown with the correct status
Remove tray notification as obsolete

^KT-31779 Fixed
2019-06-17 10:30:56 +03:00
Dmitry Gridin 46d8f45c11 Apply LiftReturnOrAssignmentInspection on idea 2019-06-17 11:24:28 +07:00
Vyacheslav Gerasimov 5a39c637c2 Build: Fix intellij dependency leak from ir tree module 2019-06-13 21:03:55 +03:00
Yan Zhulanow 2754deca98 Move FUS components to the 'idea-core' module 2019-06-13 21:58:23 +09:00
Ilya Chernikov e542c9ea84 Refactor script definitions and resolving/refining infrastructure:
- implement wrappers to wrap old and new API providers and resolvers
- make old API deprecated (with error where possible)
- drop old internal classes related to the old API
- refactor usages accordingly
- fix and add missing features to the scripting API where necessary
2019-06-06 17:21:00 +02:00
Dmitry Gridin f5e83d7b47 Explicit package prefix should override implicit
#KT-29716 Fixed
2019-06-03 16:35:58 +07:00
Dmitry Gridin 20114a0868 Minor: cleanup packageUtils 2019-06-03 16:35:58 +07:00
Dmitry Savvinov dca23f871c Allow to force-require syntetic SAM-adapters even in NI
This is needed for some IDE clients, particularly, completion: even
though presenting only non-converted member (e.g., 'foo(Consumer<Int>')
is nominally OK, as resolution with NI is smart enough to accept 'foo { }'
for such a call, it is inconvenient for users (for example, hitting
enter would insert round brackets instead of a figure brackets)

This commit adds very-very narrow API (borderline hacky) in
JavaSyntheticScopes, to allow clients explicitly ask for a scopes with
force-enabled synthetic conversions. It fixes several tests, which had
started to fail after corresponding commit about NI and SAM-adapters
(fe5976d7f4), e.g.:
- Java8BasicCompletionTestGenerated.testCollectionMethods
- Java8BasicCompletionTestGenerated.testStreamMethods
- JvmBasicCompletionTestGenerated$Common$StaticMembers.testJavaStaticMethods
- JvmBasicCompletionTestGenerated$Java.testSAMAdaptersStatic
- JvmWithLibBasicCompletionTestGenerated.testSamAdapter
- JvmWithLibBasicCompletionTestGenerated.testSamAdapterAndGenerics

Note that changes are made in ReferenceVariantsHelper, which is used by
several other clients in IDE. Presumably, those changes are needed for
them too.
2019-06-03 10:46:53 +03:00