FIR: introduce flexible types pretty rendering for no arguments case

#KT-52020 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-06-24 10:52:58 +02:00
committed by Space
parent 31ec10142b
commit 38f4a35be2
265 changed files with 654 additions and 638 deletions
@@ -1,20 +1,20 @@
FILE: test.kt
public final fun test(map: R|MyMap|): R|kotlin/Unit| {
lval result: R|ft<kotlin/String, kotlin/String?>| = R|<local>/map|.R|kotlin/collections/getOrPut|<R|ft<kotlin/String, kotlin/String?>|, R|ft<kotlin/String, kotlin/String?>|>(String(key), <L> = getOrPut@fun <anonymous>(): R|ft<kotlin/String, kotlin/String?>| <inline=Inline, kind=UNKNOWN> {
lval result: R|kotlin/String!| = R|<local>/map|.R|kotlin/collections/getOrPut|<R|kotlin/String!|, R|kotlin/String!|>(String(key), <L> = getOrPut@fun <anonymous>(): R|kotlin/String!| <inline=Inline, kind=UNKNOWN> {
^ String(value)
}
)
lval otherResult: R|ft<kotlin/String, kotlin/String?>| = R|<local>/map|.R|SubstitutionOverride</MyMap.getOrDefault: R|ft<kotlin/String, kotlin/String?>|>|(String(key), String(value))
lval otherResult: R|kotlin/String!| = R|<local>/map|.R|SubstitutionOverride</MyMap.getOrDefault: R|kotlin/String!|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride</MyMap.replace: R|kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|SubstitutionOverride</MyMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<@EnhancedNullability kotlin/String, @EnhancedNullability kotlin/String?>|, value: R|ft<@EnhancedNullability kotlin/String, @EnhancedNullability kotlin/String?>|): R|kotlin/Unit| <inline=NoInline> {
R|<local>/map|.R|SubstitutionOverride</MyMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|@EnhancedNullability kotlin/String!|, value: R|@EnhancedNullability kotlin/String!|): R|kotlin/Unit| <inline=NoInline> {
R|kotlin/io/println|(<strcat>(R|<local>/key|, String(: ), R|<local>/value|))
R|<local>/key|.R|kotlin/String.length|
R|<local>/value|.R|kotlin/String.length|
}
)
R|<local>/map|.R|kotlin/collections/forEach|<R|ft<kotlin/String, kotlin/String?>|, R|ft<kotlin/String, kotlin/String?>|>(<L> = forEach@fun <anonymous>(<destruct>: R|kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>|): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
lval key: R|ft<kotlin/String, kotlin/String?>| = R|<local>/<destruct>|.R|kotlin/collections/component1|<R|ft<kotlin/String, kotlin/String?>|, R|ft<kotlin/String, kotlin/String?>|>()
lval value: R|ft<kotlin/String, kotlin/String?>| = R|<local>/<destruct>|.R|kotlin/collections/component2|<R|ft<kotlin/String, kotlin/String?>|, R|ft<kotlin/String, kotlin/String?>|>()
R|<local>/map|.R|kotlin/collections/forEach|<R|kotlin/String!|, R|kotlin/String!|>(<L> = forEach@fun <anonymous>(<destruct>: R|kotlin/collections/Map.Entry<kotlin/String!, kotlin/String!>|): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
lval key: R|kotlin/String!| = R|<local>/<destruct>|.R|kotlin/collections/component1|<R|kotlin/String!|, R|kotlin/String!|>()
lval value: R|kotlin/String!| = R|<local>/<destruct>|.R|kotlin/collections/component2|<R|kotlin/String!|, R|kotlin/String!|>()
R|kotlin/io/println|(<strcat>(R|<local>/key|, String(: ), R|<local>/value|))
R|<local>/key|.R|kotlin/String.length|
R|<local>/value|.R|kotlin/String.length|