This allows to easily re-use other renderers from 'Renderer'-block
(previously, one had to declare 'ContextDependentRenderer' just to get
hold of 'RenderingContext' just to call 'render(O, RenderingContext)'
from DiagnosticParameterRenderer, which would be unused anyways)
This commit introduces more specific subtype,
'ContextIndependentParameterRenderer', which exposes 'render(O)' method
for easy re-use.
Several (ab)uses of 'ContextDependentRenderer' have been removed
- Use 'null' as indicator of non-MPP version. Consequently, remove
useless 'isMpp' method, and lift all methods to extensions (to be able
to call them on nullable 'facetSettings.mppVersion')
- Change semantics of extensions to check for exact equality rather than
for "at least specified version"
- Deprecate old MPP-versioning in favour of 'facetSettings.mppVersion'
* Sometimes, there's a class after the last function in the scope
stack: that's the local type's (non-inline) primary constructor.
* In an inline (but not crossinline) lambda, accessors are needed
if and only if they would be needed in the function that the
lambda is defined in.
- it is required to be able to autoimport extensions from objects,
not only from the top level
- use `substituteExtensionIfCallable` to handle generics for extension methods
- move finding expression receivers to the separate method, add `Receivers` value class to hold found receivers
- change `CallableDescriptor.isValidByReceiversFor` to return false
if explicit receiver is not required for the descriptor
- ^KT-34000 Fixed
script templates that are loaded from compiler settings are subscribed on this topic.
When ScriptTemplatesFromCompilerSettingsProvider invokes KotlinCompilerSettings.getInstance, deadlock may happen if those settings aren't initialized yet.
^KT-25373
getters instead of directly retrieving the property first.
When the IR backend is used to compile the standard library, the
progression classes (in sources) are lowered, and therefore do not have
properties anymore (only fields and functions).
Fix of the test
PsiCheckerTestGenerated$DuplicateJvmSignature$Fields.testClassObjectCopiedFieldObject
additionally fixed the bug with blinking this test example in IDEA with UL classes enabled.
The story:
Extra diagnostics could be requested for any KtClassOrObject but for _nested_ classes result may depend on outer class members signature collecting. So the the order of outer/nested diagnostic reporting takes matter.
So for nested classes/objects we have to gen members of outer classes.
testJavaGetterToOrdinaryMethod_JavaGetterToOrdinaryMethod
testSyntheticPropertyUsages1_RenameGetMethod
from 192 disabled to call findReferences(elem), so overload does not worked