Add type parameters to the KtConstructorSymbol

Yes, for kotlin classes there are not allowed. But unfortunately
they are for java classes
This commit is contained in:
Stanislav Erokhin
2021-01-07 01:23:51 +01:00
parent 732a997479
commit 96b6efd401
7 changed files with 33 additions and 1 deletions
@@ -42,7 +42,10 @@ abstract class KtFunctionSymbol : KtFunctionLikeSymbol(),
abstract override fun createPointer(): KtSymbolPointer<KtFunctionSymbol>
}
abstract class KtConstructorSymbol : KtFunctionLikeSymbol(), KtAnnotatedSymbol, KtSymbolWithVisibility {
abstract class KtConstructorSymbol : KtFunctionLikeSymbol(),
KtAnnotatedSymbol,
KtSymbolWithVisibility,
KtSymbolWithTypeParameters {
abstract val isPrimary: Boolean
abstract val containingClassIdIfNonLocal: ClassId?
@@ -59,6 +59,12 @@ internal class KtFirConstructorSymbol(
override val isPrimary: Boolean get() = firRef.withFir { it.isPrimary }
override val typeParameters by firRef.withFirAndCache { fir ->
fir.typeParameters.map { typeParameter ->
builder.buildTypeParameterSymbol(typeParameter.symbol.fir)
}
}
override fun createPointer(): KtSymbolPointer<KtConstructorSymbol> = withValidityAssertion {
KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it }
if (symbolKind == KtSymbolKind.LOCAL) {
@@ -1110,6 +1110,7 @@ KtFirConstructorSymbol:
isPrimary: true
origin: LIBRARY
symbolKind: MEMBER
typeParameters: []
valueParameters: []
visibility: PRIVATE
@@ -1124,6 +1124,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: []
visibility: PUBLIC
@@ -1134,6 +1135,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(original)]
visibility: PUBLIC
@@ -1144,6 +1146,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(value)]
visibility: PUBLIC
@@ -1154,6 +1157,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(value), KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(count)]
visibility: PUBLIC
@@ -1164,6 +1168,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(codePoints), KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(count)]
visibility: PUBLIC
@@ -1174,6 +1179,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(ascii), KtFirConstructorValueParameterSymbol(hibyte), KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(count)]
visibility: PUBLIC
@@ -1184,6 +1190,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(ascii), KtFirConstructorValueParameterSymbol(hibyte)]
visibility: PUBLIC
@@ -1194,6 +1201,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(bytes), KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(length), KtFirConstructorValueParameterSymbol(charsetName)]
visibility: PUBLIC
@@ -1204,6 +1212,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(bytes), KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(length), KtFirConstructorValueParameterSymbol(charset)]
visibility: PUBLIC
@@ -1214,6 +1223,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(bytes), KtFirConstructorValueParameterSymbol(charsetName)]
visibility: PUBLIC
@@ -1224,6 +1234,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(bytes), KtFirConstructorValueParameterSymbol(charset)]
visibility: PUBLIC
@@ -1234,6 +1245,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(bytes), KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(length)]
visibility: PUBLIC
@@ -1244,6 +1256,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(bytes)]
visibility: PUBLIC
@@ -1254,6 +1267,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(buffer)]
visibility: PUBLIC
@@ -1264,6 +1278,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(builder)]
visibility: PUBLIC
@@ -1274,6 +1289,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(value), KtFirConstructorValueParameterSymbol(share)]
visibility: UNKNOWN
@@ -1284,6 +1300,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: JAVA
symbolKind: MEMBER
typeParameters: []
valueParameters: [KtFirConstructorValueParameterSymbol(offset), KtFirConstructorValueParameterSymbol(count), KtFirConstructorValueParameterSymbol(value)]
visibility: UNKNOWN
@@ -9,6 +9,7 @@ KtFirConstructorSymbol:
isPrimary: true
origin: SOURCE
symbolKind: MEMBER
typeParameters: []
valueParameters: []
visibility: PUBLIC
@@ -11,6 +11,7 @@ KtFirConstructorSymbol:
isPrimary: true
origin: SOURCE
symbolKind: MEMBER
typeParameters: []
valueParameters: []
visibility: PUBLIC
@@ -30,6 +31,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: SOURCE
symbolKind: MEMBER
typeParameters: []
valueParameters: Could not render due to java.lang.ClassCastException: org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirFunctionValueParameterSymbol cannot be cast to org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirConstructorValueParameterSymbol
visibility: PUBLIC
@@ -58,6 +60,7 @@ KtFirConstructorSymbol:
isPrimary: false
origin: SOURCE
symbolKind: MEMBER
typeParameters: []
valueParameters: Could not render due to java.lang.ClassCastException: org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirFunctionValueParameterSymbol cannot be cast to org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirConstructorValueParameterSymbol
visibility: PUBLIC
@@ -36,6 +36,7 @@ KtFirConstructorSymbol:
isPrimary: true
origin: SOURCE
symbolKind: MEMBER
typeParameters: []
valueParameters: Could not render due to java.lang.ClassCastException: org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirFunctionValueParameterSymbol cannot be cast to org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirConstructorValueParameterSymbol
visibility: PUBLIC