Fix visiting of resolved FIR nodes

This commit is contained in:
Mikhail Glukhikh
2018-03-21 13:32:03 +03:00
parent a99578c354
commit 3495f09ac4
5 changed files with 17 additions and 7 deletions
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirBasedDescriptor
import org.jetbrains.kotlin.fir.declarations.FirClass
import org.jetbrains.kotlin.fir.declarations.FirResolvedClass
import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
class FirResolvedClassImpl(val delegate: FirClass, override val descriptor: FirBasedDescriptor<FirResolvedClass>) :
FirResolvedClass, FirClass by delegate {
@@ -22,6 +23,10 @@ class FirResolvedClassImpl(val delegate: FirClass, override val descriptor: FirB
override val modality: Modality
get() = delegate.modality ?: if (classKind == ClassKind.INTERFACE) Modality.ABSTRACT else Modality.FINAL
override fun accept(visitor: FirVisitorVoid) {
super<FirResolvedClass>.accept(visitor)
}
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R {
return super<FirResolvedClass>.accept(visitor, data)
}
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirBasedDescriptor
import org.jetbrains.kotlin.fir.declarations.FirResolvedTypeAlias
import org.jetbrains.kotlin.fir.declarations.FirTypeAlias
import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
class FirResolvedTypeAliasImpl(val delegate: FirTypeAlias, override val descriptor: FirBasedDescriptor<FirResolvedTypeAlias>) :
FirResolvedTypeAlias, FirTypeAlias by delegate {
@@ -21,6 +22,10 @@ class FirResolvedTypeAliasImpl(val delegate: FirTypeAlias, override val descript
descriptor.bind(this)
}
override fun accept(visitor: FirVisitorVoid) {
return super<FirResolvedTypeAlias>.accept(visitor)
}
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R {
return super<FirResolvedTypeAlias>.accept(visitor, data)
}
+2 -2
View File
@@ -1,12 +1,12 @@
FILE: NestedOfAliasedType.kt
(resolved) public? abstract class A() {
public? abstract class Nested() {
(resolved) public? abstract class Nested() {
}
}
(resolved) public? final typealias TA = R/<root>.A/
(resolved) public? final class B() : R/<root>.TA = <root>.A/ {
public? final? class NestedInB() : R/<root>.A.Nested/ {
(resolved) public? final class NestedInB() : R/<root>.A.Nested/ {
}
}
+3 -3
View File
@@ -1,14 +1,14 @@
FILE: NestedSuperType.kt
(resolved) public? abstract class My() {
public? abstract class NestedOne() : R/p.My/ {
public? abstract class NestedTwo() : R/p.My.NestedOne/ {
(resolved) public? abstract class NestedOne() : R/p.My/ {
(resolved) public? abstract class NestedTwo() : R/p.My.NestedOne/ {
}
}
}
(resolved) public? final class Your() : R/p.My/ {
public? final? class NestedThree() : R/p.My.NestedOne/ {
(resolved) public? final class NestedThree() : R/p.My.NestedOne/ {
}
}
@@ -1,9 +1,9 @@
FILE: NestedSuperType.kt
(resolved) public? final class A() : R/b.B/ {
public? final? class NestedInA1() : R/b.B.NestedInB/ {
(resolved) public? final class NestedInA1() : R/b.B.NestedInB/ {
}
public? final? class NestedInA2() : R/c.C.NestedInC/ {
(resolved) public? final class NestedInA2() : R/c.C.NestedInC/ {
}
}