FIR: Optimize iteration

This commit is contained in:
Simon Ogorodnik
2018-03-23 18:39:21 +03:00
committed by Mikhail Glukhikh
parent cce741eef8
commit 140120abc2
2 changed files with 5 additions and 3 deletions
@@ -430,11 +430,14 @@ class RawFirBuilder(val session: FirSession) {
for (typeArgument in qualifier!!.typeArguments) {
firQualifier.typeArguments += typeArgument.convert<FirTypeProjection>()
}
userType.qualifier.add(0, firQualifier)
userType.qualifier.add(firQualifier)
qualifier = qualifier.qualifier
referenceExpression = qualifier?.referenceExpression
} while (referenceExpression != null)
userType.qualifier.reverse()
userType
} else {
FirErrorTypeImpl(session, typeReference, "Incomplete user type")
@@ -13,14 +13,13 @@ import org.jetbrains.kotlin.fir.types.FirQualifierPart
import org.jetbrains.kotlin.fir.types.FirTypeProjection
import org.jetbrains.kotlin.fir.types.FirUserType
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import java.util.*
class FirUserTypeImpl(
session: FirSession,
psi: PsiElement?,
isNullable: Boolean
) : FirAbstractAnnotatedType(session, psi, isNullable), FirUserType {
override val qualifier = LinkedList<FirQualifierPart>()
override val qualifier = mutableListOf<FirQualifierPart>()
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
for (part in qualifier) {