FIR: set anonymous object constructor return type properly

This commit is contained in:
Mikhail Glukhikh
2020-03-10 14:40:05 +03:00
parent d1739289c6
commit 1812b490a1
49 changed files with 54 additions and 71 deletions
@@ -30,7 +30,7 @@ FILE: CallBasedInExpressionGenerator.kt
private final fun gen(argument: R|ERROR CLASS: Symbol not found, for `StackValue`|): R|ERROR CLASS: Symbol not found, for `BranchedValue`| {
^gen object : R|ERROR CLASS: Symbol not found, for `BranchedValue`| {
private constructor(): R|ERROR CLASS: Symbol not found, for `BranchedValue`| {
private constructor(): R|anonymous| {
super<R|ERROR CLASS: Symbol not found, for `BranchedValue`|>(R|<local>/argument|, Null(null), R|<local>/argument|.<Unresolved name: type>#, <Unresolved name: Opcodes>#.<Unresolved name: IFEQ>#)
}
@@ -1,7 +1,7 @@
FILE: localImplicitBodies.kt
public final fun foo(): R|kotlin/Unit| {
lval x: R|anonymous| = object : R|kotlin/Any| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -3,7 +3,7 @@ FILE: localInnerClass.kt
}
public final fun bar(): R|kotlin/Unit| {
object : R|Foo| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -21,7 +21,7 @@ FILE: localObjects.kt
public final fun test(): R|kotlin/Unit| {
Q|A|.R|/A.x|
lval b: R|anonymous| = object : R|Foo| {
private constructor(): R|Foo| {
private constructor(): R|anonymous| {
super<R|Foo|>()
}
@@ -23,7 +23,7 @@ FILE: localScopes.kt
R|<local>/base|.R|/BaseLocal.baz|()
R|<local>/base|.R|/Bar.foo|()
lval anonymous: R|anonymous| = object : R|Bar| {
private constructor(): R|Bar| {
private constructor(): R|anonymous| {
super<R|Bar|>()
}
@@ -1,7 +1,7 @@
FILE: foo.kt
public final fun foo(): R|kotlin/Boolean| {
object : R|Node<kotlin/Boolean>| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -32,7 +32,7 @@ FILE: O.kt
public final fun test(): R|kotlin/Unit| {
lval x: R|kotlin/Int| = this@R|/O.Derived|.R|/O.Derived.bar|
lval o: R|anonymous| = object : R|Wrapper| {
private constructor(): R|Wrapper| {
private constructor(): R|anonymous| {
super<R|Wrapper|>(this@R|/O.Derived.Some|.R|/O.Derived.Some.z|)
}
@@ -41,7 +41,7 @@ FILE: O.kt
}
public final val oo: R|anonymous| = object : R|kotlin/Any| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -61,7 +61,7 @@ FILE: O.kt
public final fun test(): R|kotlin/Unit| {
lval x: R|kotlin/Int| = this@R|/O.Derived|.R|/O.Derived.bar|
lval o: R|anonymous| = object : R|kotlin/Any| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -86,7 +86,7 @@ FILE: O.kt
private final fun gen(): R|kotlin/Any| {
^gen object : R|Wrapper| {
private constructor(): R|Wrapper| {
private constructor(): R|anonymous| {
super<R|Wrapper|>(Boolean(true))
}
@@ -5,7 +5,7 @@ FILE: privateObjectLiteral.kt
}
private final val x: R|anonymous| = object : R|kotlin/Any| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -21,7 +21,7 @@ FILE: privateObjectLiteral.kt
public get(): R|kotlin/Int|
internal final val z: R|anonymous| = object : R|kotlin/Any| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
+4 -4
View File
@@ -9,7 +9,7 @@ FILE: localObject.kt
public final fun tesLambda(x: R|kotlin/Int|): R|kotlin/Int| {
^tesLambda R|/run|<R|kotlin/Int|>(<L> = run@fun <anonymous>(): R|kotlin/Int| {
lval obj: R|anonymous| = object : R|Foo| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -35,7 +35,7 @@ FILE: localObject.kt
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit| {
lval obj: R|anonymous| = object : R|Foo| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -51,7 +51,7 @@ FILE: localObject.kt
public final val y: R|kotlin/Int|
public get(): R|kotlin/Int| {
lval obj: R|anonymous| = object : R|Foo| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -66,7 +66,7 @@ FILE: localObject.kt
public final val z: R|kotlin/Int| = this@R|/TestProperty|.R|kotlin/run|<R|TestProperty|, R|kotlin/Int|>(<L> = run@fun R|TestProperty|.<anonymous>(): R|kotlin/Int| <kind=EXACTLY_ONCE> {
lval obj: R|anonymous| = object : R|Foo| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
+3 -3
View File
@@ -1,6 +1,6 @@
FILE: objectInnerClass.kt
public final val case1: R|anonymous| = object : R|A| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -68,7 +68,7 @@ FILE: objectInnerClass.kt
}
public final val x: R|anonymous| = object : R|Case2.Base| {
private constructor(): R|Case2.Base| {
private constructor(): R|anonymous| {
super<R|Case2.Base|>(R|/B.B|())
}
@@ -125,7 +125,7 @@ FILE: objectInnerClass.kt
}
public final val x: R|anonymous| = object : R|A| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -5,7 +5,7 @@ FILE: anonymousInDelegate.kt
}
public final val x: R|kotlin/Int|by R|kotlin/lazy|<R|kotlin/Int|>(<L> = lazy@fun <anonymous>(): R|kotlin/Int| {
lval foo: R|anonymous| = object : R|Foo| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -24,7 +24,7 @@ FILE: delegateWithAnonymousObject.kt
public final var issueListView: R|IssueListView|by this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(<L> = delegate@fun <anonymous>(): R|kotlin/properties/ReadWriteProperty<IssuesListUserProfile, IssueListView>| {
^ object : R|kotlin/properties/ReadWriteProperty<IssuesListUserProfile, IssueListView>| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}
@@ -2,7 +2,7 @@ FILE: problems.kt
public final val sb: R|java/lang/StringBuilder| = R|java/lang/StringBuilder.StringBuilder|()
public get(): R|java/lang/StringBuilder|
public final val o: R|anonymous| = object : R|kotlin/Any| {
private constructor(): R|kotlin/Any| {
private constructor(): R|anonymous| {
super<R|kotlin/Any|>()
}