Commit Graph

66205 Commits

Author SHA1 Message Date
Ilya Kirillov 3b422377d2 FIR IDE: move validation contract to analysis session base class 2020-06-09 16:20:26 +03:00
Ilya Kirillov fb8acf8c1e FIR IDE: add tests for call resolve 2020-06-09 16:20:26 +03:00
Ilya Kirillov 8ac0466ec2 FIR IDE: resolve constructors to correct CallInfo 2020-06-09 16:20:25 +03:00
Ilya Kirillov 87a65c0e4b FIR IDE: throw PCE in highlighter & reference resolver if on EDT thread
As resolve is not allowed in EDT thread
2020-06-09 16:20:25 +03:00
Ilya Kirillov 19043537c1 FIR IDE: make API functions that returns types return non-null value 2020-06-09 16:20:24 +03:00
Ilya Kirillov ee22d0b938 FIR IDE: introduce TypeInfo as a wrapper for types in high level API
Needed for correct handling types lifecycle
2020-06-09 16:20:24 +03:00
Ilya Kirillov 115327b967 FIR IDE: add validation contract to analysis session
This contract ensures that analysis session is used:
  * in read action
  * in non-EDT
  * Project has not changed since the session was created
2020-06-09 16:20:23 +03:00
Ilya Kirillov 71b916ae8f FIR IDE: rename AnalysisSessionFirImpl -> FirAnalysisSession 2020-06-09 16:20:20 +03:00
Ilya Kirillov 52a422350b FIR IDE: always invalidate PSI -> FIR caches on any change 2020-06-09 16:20:14 +03:00
Ilya Kirillov c3f547ec77 FIR IDE: add missing runtime dependencies 2020-06-09 16:20:13 +03:00
Ilya Kirillov 7ac48f441d FIR IDE: remove enabled/disable FirResolution by registry
This separation is made based on plugins now
2020-06-09 16:20:07 +03:00
Ilya Kirillov 19d721d262 FIR IDE: mute not passing tests 2020-06-09 16:20:02 +03:00
Ilya Kirillov d317ee1197 FIR IDE: move highlighting to fir ide module
As it doesn't use fir directly
2020-06-09 16:20:00 +03:00
Ilya Kirillov a62c0e8163 FIR IDE: introduce fir lower level module 2020-06-09 16:19:58 +03:00
Ilya Kirillov c1a62e2f05 Fix import optimizer test after reference classes rename 2020-06-09 16:19:57 +03:00
Ilya Kirillov 858b053134 FIR IDE: do not run fir tests in non FIR IDE plugin 2020-06-09 16:19:57 +03:00
Ilya Kirillov dbfa43a60a FIR IDE: remove unneeded dependencies of idea-fir & idea-frontend-fir modules 2020-06-09 16:19:56 +03:00
Ilya Kirillov 1b8ea31172 FIR IDE: ignore not passing highlighting tests 2020-06-09 16:19:56 +03:00
Ilya Kirillov 65b22ebfa9 FIR IDE: improve search of containing declaration for getOrBuildFir 2020-06-09 16:19:55 +03:00
Ilya Kirillov 918e4ef7d0 FIR IDE: remove checker/duplicateJvmSignature tests for FIR as duplicate signature is not implemented for fir ide yet 2020-06-09 16:19:48 +03:00
Ilya Kirillov 00a271dd94 FIR IDE: Remove IGNORE_FIR from passing tests 2020-06-09 16:19:48 +03:00
Ilya Kirillov c6ae916b24 FIR IDE: Fix tests in idea-fir 2020-06-09 16:19:47 +03:00
Ilya Kirillov ba7e953760 FIR IDE: Introduce plugin.xml for fir ide 2020-06-09 16:19:45 +03:00
Ilya Kirillov 72175fc40e Fix idea.xml 2020-06-09 16:19:45 +03:00
Ilya Kirillov bd12b37353 FIR IDE: Move ApplicationUtils to frontend independent module 2020-06-09 16:19:44 +03:00
Ilya Kirillov a4f8c6734c FIR IDE: Introduce ide-frontend-independent.xml extensions 2020-06-09 16:19:43 +03:00
Ilya Kirillov 66d44162e9 FIR IDE: Move common caches related stuff from plugin-common.xml to caches.xml 2020-06-09 16:19:42 +03:00
Ilya Kirillov 3ca317e0ce FIR IDE: Split resources to three folders which is needed for FIR plugin
The "resources" is common for both plugins,
 while resources-descriptors & resources-fir belongs
 to corresponding plugins
2020-06-09 16:19:39 +03:00
Ilya Kirillov 2290c32a83 FIR IDE: Move idea related stuff from plugin-common.xml to idea.xml 2020-06-09 16:19:33 +03:00
Ilya Kirillov 3e25375013 FIR IDE: Move jps related stuff from plugin-common.xml to jps.xml 2020-06-09 16:19:32 +03:00
Ilya Kirillov 2c0e14ba92 FIR IDE: Move index related stuff from plugin-common.xml to indexes.xml 2020-06-09 16:19:32 +03:00
Ilya Kirillov e06f297499 FIR IDE: Move inspections from plugin-common.xml to inspections.xml 2020-06-09 16:19:31 +03:00
Ilya Kirillov d46088548d FIR IDE: Implement FIR reference resolve for some kinds of references
* implement for:
   * KtForLoopInReference
   * KtInvokeFunctionReference
   * KtPropertyDelegationMethodsReference
   * KtDestructuringDeclarationReference
2020-06-09 16:19:30 +03:00
Ilya Kirillov 30eab6c8a3 FIR IDE: Implement search of psi elements for deserialized Kotlin declarations
Fix "FIR IDE: Implement search of psi elements for deserialized Kotlin declarations"
2020-06-09 16:19:29 +03:00
Ilya Kirillov a8b94b1cca FIR IDE: Move some declarations highlighting to before resolve highlighting pass 2020-06-09 16:19:28 +03:00
Ilya Kirillov f37e313705 FIR IDE: Begin implementing semantic highlighting via FIR
* Introduce frontend api module & implement api for FIR
* Implement some basic declaration highlighting for FIR
2020-06-09 16:19:27 +03:00
Ilya Kirillov 507fc34c22 FIR: fix incorrect psi for named & spread arguments in FIR builder 2020-06-09 16:19:26 +03:00
Ilya Kirillov 6a4fa8de9d FIR IDE: Move base part of highlighting to frontend-independent-module 2020-06-09 16:19:25 +03:00
Ilya Kirillov 77550186ad FIR IDE: Move KDoc Reference & mainReference to frontend-independent module 2020-06-09 16:19:18 +03:00
Ilya Kirillov 45ef0e1b50 FIR IDE: Move fir resolving functionality from idea module to idea-frontend-fir 2020-06-09 16:19:14 +03:00
Ilya Kirillov 003827a4f2 FIR IDE: Start IDEA FIR plugin 2020-06-09 16:19:13 +03:00
Ilya Kirillov 418903e9ef FIR IDE: Make KtReference class descriptors frontend independent
* The new idea-frontend-independent module created
* Moved KtReference and it inheritors to that module & implement them in idea-analysis module by using descriptors frontend
2020-06-09 16:19:12 +03:00
Alexander Udalov 6adad1055b JVM IR: generate delegates to DefaultImpls for fun interfaces 2020-06-09 11:49:45 +02:00
Alexander Udalov fc1217ba07 Generate delegates to DefaultImpls in fun interface wrappers
#KT-37436 Fixed
2020-06-09 11:44:31 +02:00
Alexander Udalov 77e479fda8 JVM IR: generate InnerClasses attribute for nested classes in annotation arguments
#KT-38853
2020-06-09 11:33:27 +02:00
Alexander Udalov 2793187bda Handle IllegalArgumentException in trimMargin intrinsics on JVM
#KT-38537 Fixed
2020-06-09 11:11:06 +02:00
Mikhail Glukhikh 261ed46341 IR metadata source: do not require descriptor in property metadata 2020-06-09 11:40:26 +03:00
Mikhail Glukhikh 6f0eeecc64 [FIR2IR] Fix generation of type arguments of delegated constructor calls 2020-06-09 11:40:26 +03:00
Mikhail Glukhikh 5c6f40b34a IR metadata source: extract & use declaration name 2020-06-09 11:40:26 +03:00
Mikhail Glukhikh b2c78e490e [FIR2IR] Remove some descriptor-around calls 2020-06-09 11:40:25 +03:00