FIR: add type alias descriptors
This commit is contained in:
+1
-2
@@ -17,5 +17,4 @@ class ConeClassDescriptorImpl(
|
|||||||
override val fqName: ClassId,
|
override val fqName: ClassId,
|
||||||
override val superTypes: List<ConeKotlinType>,
|
override val superTypes: List<ConeKotlinType>,
|
||||||
override val nestedClassifiers: List<ConeClassifierDescriptor>
|
override val nestedClassifiers: List<ConeClassifierDescriptor>
|
||||||
) : ConeClassDescriptor, AbstractFirBasedDescriptor<FirResolvedClass>() {
|
) : ConeClassDescriptor, AbstractFirBasedDescriptor<FirResolvedClass>()
|
||||||
}
|
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
|
* that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.descriptors
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvedTypeAlias
|
||||||
|
import org.jetbrains.kotlin.fir.descriptors.ConeTypeAliasDescriptor
|
||||||
|
import org.jetbrains.kotlin.fir.descriptors.ConeTypeParameterDescriptor
|
||||||
|
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
|
|
||||||
|
class ConeTypeAliasDescriptorImpl(
|
||||||
|
override val typeParameters: List<ConeTypeParameterDescriptor>,
|
||||||
|
override val fqName: ClassId,
|
||||||
|
override val expandedType: ConeKotlinType
|
||||||
|
) : ConeTypeAliasDescriptor, AbstractFirBasedDescriptor<FirResolvedTypeAlias>()
|
||||||
+24
-4
@@ -7,11 +7,9 @@ package org.jetbrains.kotlin.descriptors
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirDescriptorOwner
|
import org.jetbrains.kotlin.fir.FirDescriptorOwner
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedClass
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedClassImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedClassImpl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedTypeAliasImpl
|
||||||
import org.jetbrains.kotlin.fir.descriptors.ConeClassifierDescriptor
|
import org.jetbrains.kotlin.fir.descriptors.ConeClassifierDescriptor
|
||||||
import org.jetbrains.kotlin.fir.descriptors.ConeTypeParameterDescriptor
|
import org.jetbrains.kotlin.fir.descriptors.ConeTypeParameterDescriptor
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedType
|
import org.jetbrains.kotlin.fir.types.FirResolvedType
|
||||||
@@ -66,4 +64,26 @@ class FirClassifierResolveTransformer : FirTransformer<Nothing?>() {
|
|||||||
override fun transformResolvedClass(resolvedClass: FirResolvedClass, data: Nothing?): CompositeTransformResult<FirDeclaration> {
|
override fun transformResolvedClass(resolvedClass: FirResolvedClass, data: Nothing?): CompositeTransformResult<FirDeclaration> {
|
||||||
return resolvedClass.compose()
|
return resolvedClass.compose()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun transformTypeAlias(typeAlias: FirTypeAlias, data: Nothing?): CompositeTransformResult<FirDeclaration> {
|
||||||
|
typeAlias.transformChildren(this, data)
|
||||||
|
val expandedType = (typeAlias.expandedType as FirResolvedType).type
|
||||||
|
val typeParameters =
|
||||||
|
typeAlias.typeParameters.filterIsInstance<FirDescriptorOwner<*>>().mapNotNull { it.descriptor as? ConeTypeParameterDescriptor }
|
||||||
|
|
||||||
|
val descriptor = ConeTypeAliasDescriptorImpl(
|
||||||
|
typeParameters,
|
||||||
|
ClassId(packageFqName, className.child(typeAlias.name), false),
|
||||||
|
expandedType
|
||||||
|
)
|
||||||
|
|
||||||
|
return FirResolvedTypeAliasImpl(typeAlias, descriptor).compose()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun transformResolvedTypeAlias(
|
||||||
|
resolvedTypeAlias: FirResolvedTypeAlias,
|
||||||
|
data: Nothing?
|
||||||
|
): CompositeTransformResult<FirDeclaration> {
|
||||||
|
return resolvedTypeAlias.compose()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -143,7 +143,7 @@ class FirTypeResolveTransformer(val superTypesOnly: Boolean = false) : FirTransf
|
|||||||
classifier.superTypes.any { it.accept(this, data) }
|
classifier.superTypes.any { it.accept(this, data) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is FirTypeAlias -> classifier.abbreviatedType.accept(this, data)
|
is FirTypeAlias -> classifier.expandedType.accept(this, data)
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -48,7 +48,7 @@ class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver {
|
|||||||
ConeAbbreviatedTypeImpl(
|
ConeAbbreviatedTypeImpl(
|
||||||
abbreviationFqName = fqName,
|
abbreviationFqName = fqName,
|
||||||
typeArguments = parts.toTypeProjections(),
|
typeArguments = parts.toTypeProjections(),
|
||||||
directExpansion = (this.abbreviatedType as FirResolvedType).type
|
directExpansion = (this.expandedType as FirResolvedType).type
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,6 +155,11 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
visitClass(enumEntry)
|
visitClass(enumEntry)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun visitResolvedClass(resolvedClass: FirResolvedClass) {
|
||||||
|
print("(resolved) ")
|
||||||
|
visitClass(resolvedClass)
|
||||||
|
}
|
||||||
|
|
||||||
override fun visitClass(klass: FirClass) {
|
override fun visitClass(klass: FirClass) {
|
||||||
visitMemberDeclaration(klass)
|
visitMemberDeclaration(klass)
|
||||||
val attributes = listOfNotNull(
|
val attributes = listOfNotNull(
|
||||||
@@ -257,11 +262,16 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
println("}")
|
println("}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun visitResolvedTypeAlias(resolvedTypeAlias: FirResolvedTypeAlias) {
|
||||||
|
print("(resolved) ")
|
||||||
|
visitTypeAlias(resolvedTypeAlias)
|
||||||
|
}
|
||||||
|
|
||||||
override fun visitTypeAlias(typeAlias: FirTypeAlias) {
|
override fun visitTypeAlias(typeAlias: FirTypeAlias) {
|
||||||
typeAlias.annotations.renderAnnotations()
|
typeAlias.annotations.renderAnnotations()
|
||||||
visitMemberDeclaration(typeAlias)
|
visitMemberDeclaration(typeAlias)
|
||||||
print(" = ")
|
print(" = ")
|
||||||
typeAlias.abbreviatedType.accept(this)
|
typeAlias.expandedType.accept(this)
|
||||||
println()
|
println()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
|
* that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.fir.FirDescriptorOwner
|
||||||
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
|
interface FirResolvedTypeAlias : FirTypeAlias, FirDescriptorOwner<FirResolvedTypeAlias> {
|
||||||
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
|
visitor.visitResolvedTypeAlias(this, data)
|
||||||
|
}
|
||||||
@@ -9,13 +9,13 @@ import org.jetbrains.kotlin.fir.types.FirType
|
|||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirTypeAlias : FirMemberDeclaration {
|
interface FirTypeAlias : FirMemberDeclaration {
|
||||||
val abbreviatedType: FirType
|
val expandedType: FirType
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitTypeAlias(this, data)
|
visitor.visitTypeAlias(this, data)
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
super.acceptChildren(visitor, data)
|
super.acceptChildren(visitor, data)
|
||||||
abbreviatedType.accept(visitor, data)
|
expandedType.accept(visitor, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+4
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirBasedDescriptor
|
import org.jetbrains.kotlin.fir.FirBasedDescriptor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedClass
|
import org.jetbrains.kotlin.fir.declarations.FirResolvedClass
|
||||||
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
class FirResolvedClassImpl(val delegate: FirClass, override val descriptor: FirBasedDescriptor<FirResolvedClass>) :
|
class FirResolvedClassImpl(val delegate: FirClass, override val descriptor: FirBasedDescriptor<FirResolvedClass>) :
|
||||||
FirResolvedClass, FirClass by delegate {
|
FirResolvedClass, FirClass by delegate {
|
||||||
@@ -16,4 +17,7 @@ class FirResolvedClassImpl(val delegate: FirClass, override val descriptor: FirB
|
|||||||
descriptor.bind(this)
|
descriptor.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R {
|
||||||
|
return super<FirResolvedClass>.accept(visitor, data)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
|
* that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.fir.declarations.impl
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
class FirResolvedTypeAliasImpl(val delegate: FirTypeAlias, override val descriptor: FirBasedDescriptor<FirResolvedTypeAlias>) :
|
||||||
|
FirResolvedTypeAlias, FirTypeAlias by delegate {
|
||||||
|
|
||||||
|
init {
|
||||||
|
descriptor.bind(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R {
|
||||||
|
return super<FirResolvedTypeAlias>.accept(visitor, data)
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-2
@@ -21,10 +21,10 @@ class FirTypeAliasImpl(
|
|||||||
psi: PsiElement?,
|
psi: PsiElement?,
|
||||||
name: Name,
|
name: Name,
|
||||||
visibility: Visibility,
|
visibility: Visibility,
|
||||||
override var abbreviatedType: FirType
|
override var expandedType: FirType
|
||||||
) : FirAbstractMemberDeclaration(session, psi, name, visibility, Modality.FINAL), FirTypeAlias {
|
) : FirAbstractMemberDeclaration(session, psi, name, visibility, Modality.FINAL), FirTypeAlias {
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
||||||
abbreviatedType = abbreviatedType.transformSingle(transformer, data)
|
expandedType = expandedType.transformSingle(transformer, data)
|
||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-4
@@ -74,6 +74,10 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformMemberDeclaration(typeAlias, data)
|
return transformMemberDeclaration(typeAlias, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun transformResolvedTypeAlias(resolvedTypeAlias: FirResolvedTypeAlias, data: D): CompositeTransformResult<FirDeclaration> {
|
||||||
|
return transformTypeAlias(resolvedTypeAlias, data)
|
||||||
|
}
|
||||||
|
|
||||||
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirDeclaration> {
|
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirDeclaration> {
|
||||||
return transformNamedDeclaration(typeParameter, data)
|
return transformNamedDeclaration(typeParameter, data)
|
||||||
}
|
}
|
||||||
@@ -238,6 +242,10 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformType(type, data)
|
return transformType(type, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitTypeAlias(typeAlias: FirTypeAlias, data: D): CompositeTransformResult<FirElement> {
|
||||||
|
return transformTypeAlias(typeAlias, data)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitTypeProjection(typeProjection: FirTypeProjection, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitTypeProjection(typeProjection: FirTypeProjection, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformTypeProjection(typeProjection, data)
|
return transformTypeProjection(typeProjection, data)
|
||||||
}
|
}
|
||||||
@@ -314,10 +322,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformResolvedImport(resolvedImport, data)
|
return transformResolvedImport(resolvedImport, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitTypeAlias(typeAlias: FirTypeAlias, data: D): CompositeTransformResult<FirElement> {
|
|
||||||
return transformTypeAlias(typeAlias, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformTypeParameter(typeParameter, data)
|
return transformTypeParameter(typeParameter, data)
|
||||||
}
|
}
|
||||||
@@ -338,6 +342,10 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformImplicitType(implicitType, data)
|
return transformImplicitType(implicitType, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitResolvedTypeAlias(resolvedTypeAlias: FirResolvedTypeAlias, data: D): CompositeTransformResult<FirElement> {
|
||||||
|
return transformResolvedTypeAlias(resolvedTypeAlias, data)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitStarProjection(starProjection: FirStarProjection, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitStarProjection(starProjection: FirStarProjection, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformStarProjection(starProjection, data)
|
return transformStarProjection(starProjection, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,10 @@ abstract class FirVisitor<out R, in D> {
|
|||||||
return visitMemberDeclaration(typeAlias, data)
|
return visitMemberDeclaration(typeAlias, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun visitResolvedTypeAlias(resolvedTypeAlias: FirResolvedTypeAlias, data: D): R {
|
||||||
|
return visitTypeAlias(resolvedTypeAlias, data)
|
||||||
|
}
|
||||||
|
|
||||||
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R {
|
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R {
|
||||||
return visitNamedDeclaration(typeParameter, data)
|
return visitNamedDeclaration(typeParameter, data)
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-4
@@ -74,6 +74,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitMemberDeclaration(typeAlias, null)
|
visitMemberDeclaration(typeAlias, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun visitResolvedTypeAlias(resolvedTypeAlias: FirResolvedTypeAlias) {
|
||||||
|
visitTypeAlias(resolvedTypeAlias, null)
|
||||||
|
}
|
||||||
|
|
||||||
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
||||||
visitNamedDeclaration(typeParameter, null)
|
visitNamedDeclaration(typeParameter, null)
|
||||||
}
|
}
|
||||||
@@ -238,6 +242,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitType(type)
|
visitType(type)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitTypeAlias(typeAlias: FirTypeAlias, data: Nothing?) {
|
||||||
|
visitTypeAlias(typeAlias)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitTypeProjection(typeProjection: FirTypeProjection, data: Nothing?) {
|
final override fun visitTypeProjection(typeProjection: FirTypeProjection, data: Nothing?) {
|
||||||
visitTypeProjection(typeProjection)
|
visitTypeProjection(typeProjection)
|
||||||
}
|
}
|
||||||
@@ -314,10 +322,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitResolvedImport(resolvedImport)
|
visitResolvedImport(resolvedImport)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitTypeAlias(typeAlias: FirTypeAlias, data: Nothing?) {
|
|
||||||
visitTypeAlias(typeAlias)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
|
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
|
||||||
visitTypeParameter(typeParameter)
|
visitTypeParameter(typeParameter)
|
||||||
}
|
}
|
||||||
@@ -338,6 +342,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitImplicitType(implicitType)
|
visitImplicitType(implicitType)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitResolvedTypeAlias(resolvedTypeAlias: FirResolvedTypeAlias, data: Nothing?) {
|
||||||
|
visitResolvedTypeAlias(resolvedTypeAlias)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitStarProjection(starProjection: FirStarProjection, data: Nothing?) {
|
final override fun visitStarProjection(starProjection: FirStarProjection, data: Nothing?) {
|
||||||
visitStarProjection(starProjection)
|
visitStarProjection(starProjection)
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
FILE: F.kt
|
FILE: F.kt
|
||||||
unknown open class A() {
|
(resolved) unknown open class A() {
|
||||||
}
|
}
|
||||||
unknown final class B() : R/<root>.A/ {
|
(resolved) unknown final class B() : R/<root>.A/ {
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -1,11 +1,11 @@
|
|||||||
FILE: NestedOfAliasedType.kt
|
FILE: NestedOfAliasedType.kt
|
||||||
unknown abstract class A() {
|
(resolved) unknown abstract class A() {
|
||||||
unknown abstract class Nested() {
|
unknown abstract class Nested() {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
unknown final typealias TA = R/<root>.A/
|
(resolved) unknown final typealias TA = R/<root>.A/
|
||||||
unknown final class B() : R/<root>.TA = <root>.A/ {
|
(resolved) unknown final class B() : R/<root>.TA = <root>.A/ {
|
||||||
unknown final class NestedInB() : R/<root>.A.Nested/ {
|
unknown final class NestedInB() : R/<root>.A.Nested/ {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
FILE: NestedSuperType.kt
|
FILE: NestedSuperType.kt
|
||||||
unknown abstract class My() {
|
(resolved) unknown abstract class My() {
|
||||||
unknown abstract class NestedOne() : R/p.My/ {
|
unknown abstract class NestedOne() : R/p.My/ {
|
||||||
unknown abstract class NestedTwo() : R/p.My.NestedOne/ {
|
unknown abstract class NestedTwo() : R/p.My.NestedOne/ {
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,7 @@ FILE: NestedSuperType.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
unknown final class Your() : R/p.My/ {
|
(resolved) unknown final class Your() : R/p.My/ {
|
||||||
unknown final class NestedThree() : R/p.My.NestedOne/ {
|
unknown final class NestedThree() : R/p.My.NestedOne/ {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FILE: TwoDeclarationsInSameFile.kt
|
FILE: TwoDeclarationsInSameFile.kt
|
||||||
unknown open class A() {
|
(resolved) unknown open class A() {
|
||||||
}
|
}
|
||||||
unknown final class B() : R/p.A/ {
|
(resolved) unknown final class B() : R/p.A/ {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FILE: NestedSuperType.kt
|
FILE: NestedSuperType.kt
|
||||||
unknown final class A() : R/b.B/ {
|
(resolved) unknown final class A() : R/b.B/ {
|
||||||
unknown final class NestedInA1() : R/b.B.NestedInB/ {
|
unknown final class NestedInA1() : R/b.B.NestedInB/ {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
FILE: simpleAliasedImport.kt
|
FILE: simpleAliasedImport.kt
|
||||||
unknown final class YourClass() : R/b.MyClass/ {
|
(resolved) unknown final class YourClass() : R/b.MyClass/ {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
FILE: simpleImport.kt
|
FILE: simpleImport.kt
|
||||||
unknown final class YourClass() : R/b.MyClass/ {
|
(resolved) unknown final class YourClass() : R/b.MyClass/ {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
FILE: simpleImportNested.kt
|
FILE: simpleImportNested.kt
|
||||||
unknown final class YourClass() : R/a.MyClass.MyNested/ {
|
(resolved) unknown final class YourClass() : R/a.MyClass.MyNested/ {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
FILE: simpleImportOuter.kt
|
FILE: simpleImportOuter.kt
|
||||||
unknown final class My() : R/a.Outer.Nested/ {
|
(resolved) unknown final class My() : R/a.Outer.Nested/ {
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
FILE: simpleClass.kt
|
FILE: simpleClass.kt
|
||||||
unknown final interface SomeInterface() {
|
(resolved) unknown final interface SomeInterface() {
|
||||||
unknown final function foo(x: R/error: Failed to resolve qualified type/, y: R/error: Failed to resolve qualified type/): R/error: Failed to resolve qualified type/
|
unknown final function foo(x: R/error: Failed to resolve qualified type/, y: R/error: Failed to resolve qualified type/): R/error: Failed to resolve qualified type/
|
||||||
|
|
||||||
unknown final property bar(val): R/error: Failed to resolve qualified type/
|
unknown final property bar(val): R/error: Failed to resolve qualified type/
|
||||||
unknown get(): R/error: Failed to resolve qualified type/
|
unknown get(): R/error: Failed to resolve qualified type/
|
||||||
|
|
||||||
}
|
}
|
||||||
unknown final class SomeClass() : R/<root>.SomeInterface/ {
|
(resolved) unknown final class SomeClass() : R/<root>.SomeInterface/ {
|
||||||
private final property baz(val): R/error: Not supported: FirImplicitTypeImpl/ = STUB
|
private final property baz(val): R/error: Not supported: FirImplicitTypeImpl/ = STUB
|
||||||
unknown get(): R/error: Not supported: FirImplicitTypeImpl/
|
unknown get(): R/error: Not supported: FirImplicitTypeImpl/
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
FILE: simpleTypeAlias.kt
|
FILE: simpleTypeAlias.kt
|
||||||
unknown final interface B() {
|
(resolved) unknown final interface B() {
|
||||||
}
|
}
|
||||||
unknown final typealias C = R/<root>.B/
|
(resolved) unknown final typealias C = R/<root>.B/
|
||||||
unknown final class D() : R/<root>.C = <root>.B/ {
|
(resolved) unknown final class D() : R/<root>.C = <root>.B/ {
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user