Daniil Ovchinnikov
823e985f18
API dumps: re-generate dumps
...
GitOrigin-RevId: b5cec844cbfe3313723404f7a85b590c25350b41
2024-10-04 21:20:21 +00:00
Vladimir Krivosheev
a9e7930abe
bazel - build lang-impl
...
GitOrigin-RevId: c4c4dce20bd6e4046644f95f6e7b3f437c51668d
2024-09-27 13:47:17 +00:00
Daniil Ovchinnikov
fec8c0f7ad
IJPL-453 add and use assertErrorLogged because assertThrows does not work anymore
...
GitOrigin-RevId: 958cc887d7fee9ed3fd19eff7655ca30b75ee6eb
2024-09-25 19:42:36 +00:00
Vladimir Krivosheev
a1210118c0
bazel - fix JPMS, exports and internal
...
GitOrigin-RevId: 3dc80a9ee01e1900c0cebc24b2d08f04f93ddeff
2024-09-25 19:05:37 +00:00
Vladimir Krivosheev
4eb9b78b78
use bazel to build platform-impl
...
GitOrigin-RevId: b5bbc75323a08c7674777e512dcfd988ceb4461f
2024-09-22 17:01:28 +00:00
Vladimir Krivosheev
834bd75254
run jps-to-bazel by Bazel, compile platform using Bazel
...
GitOrigin-RevId: 3774d5adc404b02036f70b7cc35c9e60fdb5d84c
2024-09-21 00:54:17 +00:00
Artem.Bukhonov
b95156e1dd
RDCT-1642 Reuse withStoredTemporaryContext in ServiceInstanceInitializer.createInstance()
...
GitOrigin-RevId: 3c77b18e629e5943526a35190bedb87858961910
2024-09-04 21:27:15 +00:00
Daniil Ovchinnikov
bb350f9546
IJPL-160526 make service registration resilient, log instead of throwing
...
GitOrigin-RevId: 5c43e5681b2aa90914ee64c93fdfe2d4c2125d64
2024-09-02 23:26:07 +00:00
Daniil Ovchinnikov
4566535f4c
InstanceContainerTest: cover more cases
...
GitOrigin-RevId: 5d5e66ee89cec2a238fa2cf62e5babc1aff9bdae
2024-09-02 23:26:07 +00:00
Konstantin Nisht
27aea8f03f
[platform] IJPL-158752: Annotate custom elements with IntelliJContextElement
...
GitOrigin-RevId: 6cdd7a239fd6fe271daa58d7d7463be7effba141
2024-08-08 17:14:45 +00:00
Konstantin Nisht
2bb2a5606f
[platform] Do not leak the context of outer component managers into inner initializers
...
GitOrigin-RevId: c39ba64170a06cade3ae837c2a1106578ef1b345
2024-07-24 16:41:57 +00:00
Daniil Ovchinnikov
0b7cabf35e
simplify InstanceContainerImpl.getInstanceHolder(java.lang.Class<?>, boolean)
...
GitOrigin-RevId: fb4a2c9fad85998ade7921a5f4206be2a68902c8
2024-07-04 18:04:41 +00:00
Daniil Ovchinnikov
e4813b382a
fix InstanceContainerImpl.toString
...
GitOrigin-RevId: b1f9fe66ed12c3d3ba762c4d0d00f4388aaaced0
2024-07-04 18:04:41 +00:00
Daniil Ovchinnikov
e6a09b33b9
IJPL-157548 clean container cache on plugin unloading
...
GitOrigin-RevId: 771e8d6753f55540e93be222c91dd679106d0398
2024-07-04 18:04:41 +00:00
Daniil Ovchinnikov
63058d231c
IJPL-149498 rename namedChildScope -> childScope
...
GitOrigin-RevId: 8eb7b8706902a812aa9e6267e73b9884a9e127fe
2024-05-08 19:45:10 +00:00
Daniil Ovchinnikov
c5dd365ae8
InstanceAlreadyRegisteredException: include which instance was trying to register over which in message
...
GitOrigin-RevId: 5dfef0a17cf666825130e41c6e77e45712bbfd90
2024-04-16 12:00:20 +00:00
Vladimir Krivosheev
df955dfadd
findConstructor - do not eat error
...
otherwise, we got unclear errors like:
```
Caused by: com.intellij.platform.instanceContainer.instantiation.InstantiationException: Class 'class com.intellij.util.xml.impl.DomManagerImpl' does not define any of supported signatures '[(Project)void, (Project,CoroutineScope)void, (CoroutineScope)void, ()void]'
```
GitOrigin-RevId: 2c42dd3c990121fd21b26c348a85537587503928
2024-04-10 18:12:00 +00:00
Daniil Ovchinnikov
748008ae87
ApiCheckTest: use api-dump.txt instead of apiDump.txt
...
GitOrigin-RevId: d195bea932a0a26d192aea94c4f551c166ab3d1f
2024-04-08 16:18:00 +00:00
Daniil Ovchinnikov
ba0cff5179
IJPL-516 cache instances by Class as a key
...
The entry point is still `String` -> `InstanceHolder` map.
Once an instance is requested by `Class`, it's cached in a separate map,
which allows to leverage faster `Object`'s `equals` and `hashCode`.
The cache was originally removed in 7e8387fa11b5a6008264e18d9f1bd04fd67a45df.
GitOrigin-RevId: d24e4a7bba364f88bb591faa41ce0d5798aec50b
2024-01-26 18:38:16 +00:00
Daniil Ovchinnikov
aea932dfb5
dump API of intellij.platform.instanceContainer
...
GitOrigin-RevId: 65473e087304fa644c5e90a93d34fa8f30653074
2024-01-26 16:00:57 +00:00
Sergey Pak
785b36061d
process only non-light services during settings migration (related to IDEA-343362)
...
GitOrigin-RevId: 6f1d214838a98292db406ea4c9666bd7c93499cc
2024-01-21 23:33:45 +00:00
Daniil Ovchinnikov
0ef9cc4d76
intellij.platform.util.coroutines: don't export from intellij.platform.util
...
GitOrigin-RevId: ad2881c844d9f1496464b166cee8a3f8ab0f79e7
2023-12-13 13:21:33 +00:00
Vladimir Lagunov
ed1c578f8e
Cleanup: Inline and remove deprecated com.intellij.util.attachAsChildTo
...
GitOrigin-RevId: 943ddfd1cf9d62f28a3a82d16d6e36eab25c7da5
2023-11-25 01:50:52 +00:00
Vladimir Lagunov
9bf287cd4c
Cleanup: Inline and remove deprecated com.intellij.util.namedChildScope
...
GitOrigin-RevId: e17c839d5d4944d8d511265424c34637d8d366a1
2023-11-25 01:50:52 +00:00
Vladimir Krivosheev
dddc3a2ebe
IJ-CR-119007 mark InstantiationException as internal, fix import
...
GitOrigin-RevId: 19ff0e5fc794510b9bdcd376a6ddebe6cca1e82f
2023-11-14 19:03:17 +01:00
Vladimir Krivosheev
555e0a3368
IJPL-335 disable full-blown constructor injection by default
...
GitOrigin-RevId: 34cda3c9867d8d3cc55c86cfa72f74331e347cd0
2023-11-14 08:30:18 +01:00
Daniil Ovchinnikov
0035cf7070
IJPL-160 use intersection container & plugin scopes as parent of a light service
...
GitOrigin-RevId: 0fe171f208a6dac3a6acbd9ce5e3ee2a24f568bd
2023-11-01 22:43:48 +00:00
Daniil Ovchinnikov
d31159687d
IJPL-160 allow nullable registration scope in ScopeHolder.intersectScope
...
GitOrigin-RevId: 721fab8a0ddad208e4e2450d87cf60437db519e0
2023-11-01 22:43:44 +00:00
Daniil Ovchinnikov
7a8c2214de
IJPL-160 initialize services in NonCancellable context
...
GitOrigin-RevId: 6c88a5b0ea9f98182d799b70078f9bc1fce9172f
2023-11-01 12:00:50 +00:00
Daniil Ovchinnikov
efa29f2d0a
IJPL-160 extract InstanceContainerImpl.use
...
GitOrigin-RevId: bad5bf576fbc62cc52b37f6f341f5262223b80d2
2023-11-01 12:00:48 +00:00
Daniil Ovchinnikov
16c9d01043
IDEA-336125 use LOG.trace in InstanceRegistrarImpl
...
Trace because debug is actually turned on in tests, and it may cause the degradation.
GitOrigin-RevId: 7a0a79ef0ad2571b97786a4c2720f6d3750356d5
2023-10-31 12:21:42 +00:00
Daniil Ovchinnikov
8821b25ded
IJPL-160 don't log warnings during service registration which happen because of xinclude in XMLs
...
GitOrigin-RevId: 1cf367fa22b9c75f7986e83a5bdc1e8885792587
2023-10-31 00:42:59 +00:00
Daniil Ovchinnikov
5069eb8448
IJPL-160 clarify docs
...
GitOrigin-RevId: 38011e9b915f2aff42e08f51846b5298ccc678a8
2023-10-30 20:36:29 +00:00
Vladimir Krivosheev
f46fef5a1d
IJPL-160 avoid invokeWithArguments if no args
...
GitOrigin-RevId: ad7fccf394a13d05051a1be4eed651a749c3d398
2023-10-29 23:09:45 +00:00
Vladimir Krivosheev
a00a29112f
IJPL-160 reduce GC - do not create an empty array list if no parameters
...
GitOrigin-RevId: 9820d148b8a4a68f391f9d0029fc6d0bc832eb9b
2023-10-29 20:11:11 +00:00
Vladimir Krivosheev
45c4c1cf40
IJPL-160 constructor injection: log error if constructor injection is used
...
GitOrigin-RevId: baf2c055a8dfb9c506b608bf9e84e946f8e8b216
2023-10-29 20:10:47 +00:00
Vladimir Krivosheev
793a44aaab
IJPL-310 drop constructor injection support for extensions
...
GitOrigin-RevId: ebcce85461d3c673398eef21b47c389a0334d3a1
2023-10-29 20:10:30 +00:00
Vadim Salavatov
88e848a924
IDEA-336143 IJPL-160 fix unloading of dynamic service instances
...
GitOrigin-RevId: 38a601d323e54ac450fe9336f4c60e5424d03dde
2023-10-26 20:41:59 +00:00
Daniil Ovchinnikov
5a87be8d04
IJPL-160 add brief module documentation with links to main classes
...
GitOrigin-RevId: c9c9d12c8575296edbd1048fccf2fc38fe9139b7
2023-10-20 21:43:51 +00:00
Daniil Ovchinnikov
4b84037753
IJPL-160 use lazy LOG.trace
...
GitOrigin-RevId: e71747bc94a73c2e98d6e3fc92fffd2cbc5aa201
2023-10-20 21:43:50 +00:00
Daniil Ovchinnikov
7801a2e515
IJPL-160 document instantiate
...
GitOrigin-RevId: c20f2da243faaabedb345dacaa727a8c33b7ea29
2023-10-20 21:43:49 +00:00
Daniil Ovchinnikov
9cca506b01
IJPL-160 document DependencyResolver.resolveDependency
...
GitOrigin-RevId: c38ca2a456ff57b9823fc9dba409bf3359b04147
2023-10-20 21:43:48 +00:00
Daniil Ovchinnikov
54e9886a86
IJPL-160 rename ConstructorAndParameterType -> UnsatisfiedConstructorParameterType
...
GitOrigin-RevId: fdd373534c0c7aa37554334109e269f556106531
2023-10-20 21:43:46 +00:00
Daniil Ovchinnikov
328667b566
IJPL-160 simplify instantiation, don't create unnecessary coroutine for each instance
...
GitOrigin-RevId: 9b2059844090360f9cc239d7e51d1fd8e3d23ce4
2023-10-20 18:31:53 +00:00
Daniil Ovchinnikov
faa3d8f88c
IJPL-160 publish waiter before launching the coroutine
...
To make it available for cycle check in case when service is requested in the same thread.
GitOrigin-RevId: 1f68562502cac0180ee60f0ed6aaa3e0446a8cc2
2023-10-20 18:31:50 +00:00
Daniil Ovchinnikov
d92f9c12d4
IJPL-160 use caller context during service initialization
...
This solves the following problem:
- modal progress is started;
- service is requested while modal progress is shown;
- service initialization uses `invokeAndWait` is constructor or `loadState`;
- `invokeAndWait` cannot complete because it happens in context of container, which does not have the modality state.
This change purposefully leaks caller context into initialization coroutine to mimic old behavior.
This leak can be removed once `invokeAndWait` is forbidden during initialization.
GitOrigin-RevId: 1216a445d74c9dafc553b0b7b86bf736625aaf74
2023-10-20 18:31:46 +00:00
Daniil Ovchinnikov
c17384080b
IJPL-160 rename InstanceHolder.getInstanceInCallerDispatcher -> getInstanceInCallerContext
...
GitOrigin-RevId: 3e44b591a907c19494a83df0995e41cd70b496ee
2023-10-19 13:36:15 +00:00
Daniil Ovchinnikov
bcca0ece8e
IJPL-160 pass parent scope and additional context and let ComponentManagerImpl create its own scope by itself
...
GitOrigin-RevId: 21f4f2060157f78e2d194855619b104e575e7897
2023-10-11 00:19:51 +00:00
Daniil Ovchinnikov
e11dec83ba
IJPL-160 add and implement InstanceContainer
...
GitOrigin-RevId: 960637258638195c7cd4ae551f3bed7a81da8c80
2023-10-05 22:12:38 +00:00
Daniil Ovchinnikov
cc92b41758
IJPL-160 use named scope for debug-ability in ScopeHolder
...
GitOrigin-RevId: 0785ecb28210f8415c5b556de69dab1473fb912c
2023-10-04 18:22:19 +00:00