Commit Graph

32 Commits

Author SHA1 Message Date
Vladimir Dolzhenko 1565fc0211 Call expression changes in property initializer are OCB
#KT-38443 Fixed
2020-04-25 20:57:14 +00:00
Vladimir Dolzhenko 0073d260f8 Fix incremental analysis for whitespaces
incremental analysis could ignore whitespace iff old item was whitespace

#KT-37629 Fixed
2020-03-23 14:46:55 +00:00
Vladimir Dolzhenko ddba8e7691 Extend incremental analysis to object declaration
Fixed #KT-37250
2020-03-10 09:08:47 +01:00
Vladimir Dolzhenko dc6be68a41 Handle properly lambda change in incremental analysis
Fixed #KT-37273
2020-03-06 11:12:33 +01:00
Vladimir Dolzhenko a0ed2c8640 Enforce analysis inside top-level property initializer
Relates to #KT-36460
2020-02-11 16:47:10 +01:00
Vladimir Dolzhenko 272ca002d7 Drop UNREACHABLE_CODE eager text range calculation
#KT-35242 Fixed
2020-01-12 17:23:30 +01:00
Nikolay Krasko e99dc0f87f Show only unique diagnostics in psi checker (KT-35578)
MissingDependencyClassChecker.collectDiagnostics now show only unique diagnostics

As per-file analyzer trace used in checker delegates to resolve session trace, diagnostics might be duplicated because of race condition:
 1. If a non-checker thread performs analyze first, diagnostics for global elements will be stored in the resolve session trace only once.
 2 If the checker threads comes to the analyze first, diagnostics will be stored in the local trace, and after that might be duplicated in the resolve session trace by other analyzers.

 #KT-35578 Fixed
2019-12-20 02:39:05 +03:00
Vladimir Dolzhenko f8a6217fb5 Fix compilation for 183 after adding support incremental analysis of comment and kdoc
Relates to #KT-35189
2019-11-30 18:50:44 +01:00
Vladimir Dolzhenko 95129939d4 Add secondary ctors to incremental analysis
#KT-35121 Fixed
2019-11-29 15:45:09 +01:00
Vladimir Dolzhenko f709377735 Support incremental analysis of comment and kdoc
#KT-35189 Fixed
2019-11-29 15:44:58 +01:00
Vladimir Dolzhenko c67222c176 Add ERRORs check to AbstractOutOfBlockModificationTest 2019-11-27 13:43:10 +01:00
Vladimir Dolzhenko 4b2834c4a8 Provide incremental analysis of a file when it is applicable
#KT32868 Fixed
2019-10-30 21:41:29 +01:00
Natalia Selezneva 776a89086f Fix NoSuchElementException editing script file
^KT-30440 Fixed
2019-03-26 23:58:59 +03:00
Natalia Selezneva 48433110a4 Do not threat modifications inside lambdas in KtScriptInitializer block as out of code block 2019-02-28 10:59:15 +03:00
Nikolay Krasko d1e6a61197 Fix testInGlobalPropertyWithGetter test in 173 branch
Workaround for IDEA-185462. It was introduced in 173 idea and
fixed in 181.
2018-02-03 00:15:45 +03:00
Mikhail Glukhikh dafb52a44a CodeBlockModification...: count file as changed when no changed elements
It means that root PSI (KtFile itself) is changed

So #KT-19726 Fixed
So #KT-20157 Fixed
2017-09-12 17:28:32 +03:00
Dmitry Jemerov d6a9a49968 Disable tracking of Kotlin files by Java OOCB listener 2017-08-09 13:26:09 +02:00
Nikolay Krasko 4e76975a52 Force OOB in accessors for properties without explicit type (KT-19062)
#KT-19062 Fixed
2017-07-19 12:45:06 +03:00
Nikolay Krasko bcbff98382 Check OOB stays the same for string in super type constructor call 2017-07-19 12:45:06 +03:00
Nikolay Krasko 52dd02fe08 Make changes in super call lambda not cause out-of-block modification (KT-13474)
#KT-13474 Fixed
2016-09-02 13:41:24 +03:00
Nikolay Krasko 64d511566e Test that out-of-block behaviour conforms running the analyze of the nearest expression
Mark as exceptions cases with field initialize expression and body of class init for now
2016-09-02 13:41:24 +03:00
Pavel V. Talanov b34a91eeaa Changes inside init blocks should be considered out of block modifications 2016-01-20 19:02:53 +03:00
Dmitry Jemerov 625096466e IDE testdata: s/trait/interface 2015-05-13 16:13:13 +02:00
Nikolay Krasko 1a7fd756e5 Check that removing open brace is out-of-block change 2014-10-22 18:18:10 +04:00
Nikolay Krasko 798a6bf689 Temp workaround: force out-of-block modification for properties with nullable types
Initializers for properties with nullable types are analyzed with binding context common for all declarations.
This can cause invalid elements are left in the cache guarded with out-of-block  modification tracker. This workaround forces increment for such cases.
2014-10-22 18:18:09 +04:00
Nikolay Krasko 5cdd5f580d Rewrite out-of-block modifier increment algorithm
1. Search the top-level function or property (only they can produce blocks that won't affect other declarations)
    2. Check if current position is hidden by this declaration

    O^2 behaviour is removed
2014-10-22 18:18:09 +04:00
Nikolay Krasko 21fa398380 KT-3750 When without else
#KT-3750 Fixed
2013-07-08 13:04:58 +04:00
Nikolay Krasko 8d551c8947 Don't create OutOfBlock modification inside mulitdeclarations 2012-09-14 21:19:59 +04:00
Nikolay Krasko 6b82429587 Don't create stubs for properties inside function initializers (EA-36861) 2012-06-25 15:07:10 +04:00
Nikolay Krasko f8926c8a93 Absence of type is not enough for concluding function has type inference 2012-06-09 15:54:56 +04:00
Nikolay Krasko b104d70196 More aggressive block cache invalidation for declarations with type inference 2012-06-08 22:53:17 +04:00
Nikolay Krasko 184d3fb16e - Tests for OUT_OF_CODE_BLOCK_MODIFICATION behaviour
- Enable behaviour for property accessors
2012-06-05 17:54:22 +04:00