Get rid of FirNamedDeclaration
This commit is contained in:
+2
-2
@@ -417,8 +417,8 @@ class KotlinDeserializedJvmSymbolsProvider(
|
|||||||
|
|
||||||
override fun getAllCallableNamesInClass(classId: ClassId): Set<Name> =
|
override fun getAllCallableNamesInClass(classId: ClassId): Set<Name> =
|
||||||
getClassDeclarations(classId)
|
getClassDeclarations(classId)
|
||||||
.filterIsInstance<FirNamedDeclaration>()
|
.filterIsInstance<FirMemberDeclaration>()
|
||||||
.mapTo(mutableSetOf(), FirNamedDeclaration::name)
|
.mapTo(mutableSetOf(), FirMemberDeclaration::name)
|
||||||
|
|
||||||
override fun getNestedClassesNamesInClass(classId: ClassId): Set<Name> {
|
override fun getNestedClassesNamesInClass(classId: ClassId): Set<Name> {
|
||||||
return getClassDeclarations(classId).filterIsInstance<FirRegularClass>().mapTo(mutableSetOf()) { it.name }
|
return getClassDeclarations(classId).filterIsInstance<FirRegularClass>().mapTo(mutableSetOf()) { it.name }
|
||||||
|
|||||||
+5
-5
@@ -125,7 +125,7 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
|
|||||||
storeVariableReturnType(variable)
|
storeVariableReturnType(variable)
|
||||||
}
|
}
|
||||||
variable.transformAccessors()
|
variable.transformAccessors()
|
||||||
localScopes.lastOrNull()?.storeDeclaration(variable)
|
localScopes.lastOrNull()?.storeVariable(variable)
|
||||||
variable.replaceResolvePhase(transformerPhase)
|
variable.replaceResolvePhase(transformerPhase)
|
||||||
dataFlowAnalyzer.exitVariableDeclaration(variable)
|
dataFlowAnalyzer.exitVariableDeclaration(variable)
|
||||||
return variable.compose()
|
return variable.compose()
|
||||||
@@ -223,7 +223,7 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult<FirStatement> {
|
override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult<FirStatement> {
|
||||||
localScopes.lastOrNull()?.storeDeclaration(regularClass)
|
localScopes.lastOrNull()?.storeClass(regularClass)
|
||||||
return withScopeCleanup(topLevelScopes) {
|
return withScopeCleanup(topLevelScopes) {
|
||||||
prepareTypeParameterOwnerForBodyResolve(regularClass)
|
prepareTypeParameterOwnerForBodyResolve(regularClass)
|
||||||
if (regularClass.symbol.classId.isLocal) {
|
if (regularClass.symbol.classId.isLocal) {
|
||||||
@@ -239,7 +239,7 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
|
|||||||
val constructor = regularClass.declarations.firstOrNull() as? FirConstructor
|
val constructor = regularClass.declarations.firstOrNull() as? FirConstructor
|
||||||
if (constructor?.isPrimary == true) {
|
if (constructor?.isPrimary == true) {
|
||||||
primaryConstructorParametersScope = FirLocalScope().apply {
|
primaryConstructorParametersScope = FirLocalScope().apply {
|
||||||
constructor.valueParameters.forEach { this.storeDeclaration(it) }
|
constructor.valueParameters.forEach { this.storeVariable(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
transformDeclaration(regularClass, data)
|
transformDeclaration(regularClass, data)
|
||||||
@@ -327,7 +327,7 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
|
|||||||
returnTypeRef: FirTypeRef
|
returnTypeRef: FirTypeRef
|
||||||
): CompositeTransformResult<F> {
|
): CompositeTransformResult<F> {
|
||||||
if (function is FirSimpleFunction) {
|
if (function is FirSimpleFunction) {
|
||||||
localScopes.lastOrNull()?.storeDeclaration(function)
|
localScopes.lastOrNull()?.storeFunction(function)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
@@ -383,7 +383,7 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun transformValueParameter(valueParameter: FirValueParameter, data: ResolutionMode): CompositeTransformResult<FirStatement> {
|
override fun transformValueParameter(valueParameter: FirValueParameter, data: ResolutionMode): CompositeTransformResult<FirStatement> {
|
||||||
localScopes.lastOrNull()?.storeDeclaration(valueParameter)
|
localScopes.lastOrNull()?.storeVariable(valueParameter)
|
||||||
if (valueParameter.returnTypeRef is FirImplicitTypeRef) {
|
if (valueParameter.returnTypeRef is FirImplicitTypeRef) {
|
||||||
valueParameter.replaceResolvePhase(transformerPhase)
|
valueParameter.replaceResolvePhase(transformerPhase)
|
||||||
return valueParameter.compose() // TODO
|
return valueParameter.compose() // TODO
|
||||||
|
|||||||
@@ -17,14 +17,18 @@ class FirLocalScope : FirScope() {
|
|||||||
val functions = mutableMapOf<Name, MutableList<FirFunctionSymbol<*>>>()
|
val functions = mutableMapOf<Name, MutableList<FirFunctionSymbol<*>>>()
|
||||||
val classes = mutableMapOf<Name, FirRegularClassSymbol>()
|
val classes = mutableMapOf<Name, FirRegularClassSymbol>()
|
||||||
|
|
||||||
fun storeDeclaration(declaration: FirNamedDeclaration) {
|
fun storeClass(klass: FirRegularClass) {
|
||||||
when (declaration) {
|
classes[klass.name] = klass.symbol
|
||||||
is FirVariable<*> -> properties[declaration.name] = declaration.symbol
|
}
|
||||||
is FirSimpleFunction -> functions.getOrPut(declaration.name) {
|
|
||||||
mutableListOf()
|
fun storeFunction(function: FirSimpleFunction) {
|
||||||
}.add(declaration.symbol as FirNamedFunctionSymbol)
|
functions.getOrPut(function.name) {
|
||||||
is FirRegularClass -> classes[declaration.name] = declaration.symbol
|
mutableListOf()
|
||||||
}
|
}.add(function.symbol as FirNamedFunctionSymbol)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun storeVariable(variable: FirVariable<*>) {
|
||||||
|
properties[variable.name] = variable.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
fun storeBackingField(property: FirProperty) {
|
fun storeBackingField(property: FirProperty) {
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
* DO NOT MODIFY IT MANUALLY
|
* DO NOT MODIFY IT MANUALLY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
interface FirMemberDeclaration : FirNamedDeclaration, FirAnnotationContainer {
|
interface FirMemberDeclaration : FirDeclaration, FirAnnotationContainer {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val session: FirSession
|
override val session: FirSession
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val name: Name
|
|
||||||
override val annotations: List<FirAnnotationCall>
|
override val annotations: List<FirAnnotationCall>
|
||||||
|
val name: Name
|
||||||
val typeParameters: List<FirTypeParameter>
|
val typeParameters: List<FirTypeParameter>
|
||||||
val status: FirDeclarationStatus
|
val status: FirDeclarationStatus
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* 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.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.*
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file was generated automatically
|
|
||||||
* DO NOT MODIFY IT MANUALLY
|
|
||||||
*/
|
|
||||||
|
|
||||||
interface FirNamedDeclaration : FirDeclaration {
|
|
||||||
override val source: FirSourceElement?
|
|
||||||
override val session: FirSession
|
|
||||||
override val resolvePhase: FirResolvePhase
|
|
||||||
val name: Name
|
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitNamedDeclaration(this, data)
|
|
||||||
}
|
|
||||||
@@ -24,8 +24,8 @@ interface FirRegularClass : FirMemberDeclaration, FirTypeParametersOwner, FirCla
|
|||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val session: FirSession
|
override val session: FirSession
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val name: Name
|
|
||||||
override val annotations: List<FirAnnotationCall>
|
override val annotations: List<FirAnnotationCall>
|
||||||
|
override val name: Name
|
||||||
override val typeParameters: List<FirTypeParameter>
|
override val typeParameters: List<FirTypeParameter>
|
||||||
override val status: FirDeclarationStatus
|
override val status: FirDeclarationStatus
|
||||||
override val classKind: ClassKind
|
override val classKind: ClassKind
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ abstract class FirSealedClass : FirPureAbstractElement(), FirRegularClass {
|
|||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val session: FirSession
|
abstract override val session: FirSession
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val name: Name
|
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
|
abstract override val name: Name
|
||||||
abstract override val typeParameters: List<FirTypeParameter>
|
abstract override val typeParameters: List<FirTypeParameter>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val classKind: ClassKind
|
abstract override val classKind: ClassKind
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
* DO NOT MODIFY IT MANUALLY
|
* DO NOT MODIFY IT MANUALLY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
abstract class FirTypeParameter : FirPureAbstractElement(), FirNamedDeclaration, FirSymbolOwner<FirTypeParameter>, FirAnnotationContainer {
|
abstract class FirTypeParameter : FirPureAbstractElement(), FirDeclaration, FirSymbolOwner<FirTypeParameter>, FirAnnotationContainer {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val session: FirSession
|
abstract override val session: FirSession
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val name: Name
|
abstract val name: Name
|
||||||
abstract override val symbol: FirTypeParameterSymbol
|
abstract override val symbol: FirTypeParameterSymbol
|
||||||
abstract val variance: Variance
|
abstract val variance: Variance
|
||||||
abstract val isReified: Boolean
|
abstract val isReified: Boolean
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
* DO NOT MODIFY IT MANUALLY
|
* DO NOT MODIFY IT MANUALLY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
interface FirVariable<F : FirVariable<F>> : FirCallableDeclaration<F>, FirNamedDeclaration, FirStatement {
|
interface FirVariable<F : FirVariable<F>> : FirCallableDeclaration<F>, FirDeclaration, FirStatement {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val session: FirSession
|
override val session: FirSession
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val returnTypeRef: FirTypeRef
|
override val returnTypeRef: FirTypeRef
|
||||||
override val receiverTypeRef: FirTypeRef?
|
override val receiverTypeRef: FirTypeRef?
|
||||||
override val name: Name
|
val name: Name
|
||||||
override val symbol: FirVariableSymbol<F>
|
override val symbol: FirVariableSymbol<F>
|
||||||
val initializer: FirExpression?
|
val initializer: FirExpression?
|
||||||
val delegate: FirExpression?
|
val delegate: FirExpression?
|
||||||
|
|||||||
+1
-1
@@ -30,8 +30,8 @@ interface FirModifiableRegularClass : FirRegularClass, FirModifiableClass<FirReg
|
|||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val session: FirSession
|
override val session: FirSession
|
||||||
override var resolvePhase: FirResolvePhase
|
override var resolvePhase: FirResolvePhase
|
||||||
override val name: Name
|
|
||||||
override val annotations: MutableList<FirAnnotationCall>
|
override val annotations: MutableList<FirAnnotationCall>
|
||||||
|
override val name: Name
|
||||||
override val typeParameters: MutableList<FirTypeParameter>
|
override val typeParameters: MutableList<FirTypeParameter>
|
||||||
override var status: FirDeclarationStatus
|
override var status: FirDeclarationStatus
|
||||||
override val classKind: ClassKind
|
override val classKind: ClassKind
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirNamedDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||||
@@ -203,10 +202,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformElement(callableDeclaration, data)
|
return transformElement(callableDeclaration, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun transformNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: D): CompositeTransformResult<FirDeclaration> {
|
|
||||||
return transformElement(namedDeclaration, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirDeclaration> {
|
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirDeclaration> {
|
||||||
return transformElement(typeParameter, data)
|
return transformElement(typeParameter, data)
|
||||||
}
|
}
|
||||||
@@ -663,10 +658,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformCallableDeclaration(callableDeclaration, data)
|
return transformCallableDeclaration(callableDeclaration, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: D): CompositeTransformResult<FirDeclaration> {
|
|
||||||
return transformNamedDeclaration(namedDeclaration, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirDeclaration> {
|
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): CompositeTransformResult<FirDeclaration> {
|
||||||
return transformTypeParameter(typeParameter, data)
|
return transformTypeParameter(typeParameter, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirNamedDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||||
@@ -165,8 +164,6 @@ abstract class FirVisitor<out R, in D> {
|
|||||||
|
|
||||||
open fun <F : FirCallableDeclaration<F>> visitCallableDeclaration(callableDeclaration: FirCallableDeclaration<F>, data: D): R = visitElement(callableDeclaration, data)
|
open fun <F : FirCallableDeclaration<F>> visitCallableDeclaration(callableDeclaration: FirCallableDeclaration<F>, data: D): R = visitElement(callableDeclaration, data)
|
||||||
|
|
||||||
open fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: D): R = visitElement(namedDeclaration, data)
|
|
||||||
|
|
||||||
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
|
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
|
||||||
|
|
||||||
open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data)
|
open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data)
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirNamedDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||||
@@ -201,10 +200,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitElement(callableDeclaration)
|
visitElement(callableDeclaration)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration) {
|
|
||||||
visitElement(namedDeclaration)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
||||||
visitElement(typeParameter)
|
visitElement(typeParameter)
|
||||||
}
|
}
|
||||||
@@ -661,10 +656,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitCallableDeclaration(callableDeclaration)
|
visitCallableDeclaration(callableDeclaration)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: Nothing?) {
|
|
||||||
visitNamedDeclaration(namedDeclaration)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
|
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
|
||||||
visitTypeParameter(typeParameter)
|
visitTypeParameter(typeParameter)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,8 +135,9 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
receiverType.accept(this)
|
receiverType.accept(this)
|
||||||
print(".")
|
print(".")
|
||||||
}
|
}
|
||||||
if (callableDeclaration is FirNamedDeclaration) {
|
when (callableDeclaration) {
|
||||||
print(callableDeclaration.name)
|
is FirMemberDeclaration -> print(callableDeclaration.name)
|
||||||
|
is FirVariable<*> -> print(callableDeclaration.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (callableDeclaration is FirFunction<*>) {
|
if (callableDeclaration is FirFunction<*>) {
|
||||||
@@ -238,20 +239,16 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
visitNamedDeclaration(memberDeclaration)
|
visitDeclaration(memberDeclaration)
|
||||||
}
|
if (memberDeclaration !is FirCallableDeclaration<*>) { // Handled by visitCallableDeclaration
|
||||||
|
print(" " + memberDeclaration.name)
|
||||||
override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration) {
|
if (memberDeclaration is FirTypeParametersOwner) {
|
||||||
visitDeclaration(namedDeclaration)
|
memberDeclaration.typeParameters.renderTypeParameters()
|
||||||
if (namedDeclaration !is FirCallableDeclaration<*>) { // Handled by visitCallableDeclaration
|
|
||||||
print(" " + namedDeclaration.name)
|
|
||||||
if (namedDeclaration is FirTypeParametersOwner) {
|
|
||||||
namedDeclaration.typeParameters.renderTypeParameters()
|
|
||||||
}
|
}
|
||||||
} else if (namedDeclaration is FirMemberDeclaration) {
|
} else {
|
||||||
if (namedDeclaration.typeParameters.isNotEmpty()) {
|
if (memberDeclaration.typeParameters.isNotEmpty()) {
|
||||||
print(" ")
|
print(" ")
|
||||||
namedDeclaration.typeParameters.renderTypeParameters()
|
memberDeclaration.typeParameters.renderTypeParameters()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -273,8 +270,6 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private fun List<FirDeclaration>.renderDeclarations() {
|
private fun List<FirDeclaration>.renderDeclarations() {
|
||||||
renderInBraces {
|
renderInBraces {
|
||||||
for (declaration in this) {
|
for (declaration in this) {
|
||||||
|
|||||||
+3
-4
@@ -30,13 +30,12 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
|||||||
val anonymousInitializer = element("AnonymousInitializer", Declaration, declaration)
|
val anonymousInitializer = element("AnonymousInitializer", Declaration, declaration)
|
||||||
val typedDeclaration = element("TypedDeclaration", Declaration, declaration, annotationContainer)
|
val typedDeclaration = element("TypedDeclaration", Declaration, declaration, annotationContainer)
|
||||||
val callableDeclaration = element("CallableDeclaration", Declaration, typedDeclaration, symbolOwner)
|
val callableDeclaration = element("CallableDeclaration", Declaration, typedDeclaration, symbolOwner)
|
||||||
val namedDeclaration = element("NamedDeclaration", Declaration, declaration)
|
val typeParameter = element("TypeParameter", Declaration, declaration, symbolOwner, annotationContainer)
|
||||||
val typeParameter = element("TypeParameter", Declaration, namedDeclaration, symbolOwner, annotationContainer)
|
|
||||||
val typeParametersOwner = element("TypeParametersOwner", Declaration)
|
val typeParametersOwner = element("TypeParametersOwner", Declaration)
|
||||||
val memberDeclaration = element("MemberDeclaration", Declaration, namedDeclaration, annotationContainer)
|
val memberDeclaration = element("MemberDeclaration", Declaration, declaration, annotationContainer)
|
||||||
val callableMemberDeclaration = element("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration)
|
val callableMemberDeclaration = element("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration)
|
||||||
|
|
||||||
val variable = element("Variable", Declaration, callableDeclaration, namedDeclaration, statement)
|
val variable = element("Variable", Declaration, callableDeclaration, declaration, statement)
|
||||||
val valueParameter = element("ValueParameter", Declaration, variable)
|
val valueParameter = element("ValueParameter", Declaration, variable)
|
||||||
val property = element("Property", Declaration, variable, controlFlowGraphOwner, typeParametersOwner, callableMemberDeclaration)
|
val property = element("Property", Declaration, variable, controlFlowGraphOwner, typeParametersOwner, callableMemberDeclaration)
|
||||||
val field = element("Field", Declaration, variable, callableMemberDeclaration)
|
val field = element("Field", Declaration, variable, callableMemberDeclaration)
|
||||||
|
|||||||
+3
-4
@@ -85,10 +85,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
+field("containerSource", type(DeserializedContainerSource::class), nullable = true)
|
+field("containerSource", type(DeserializedContainerSource::class), nullable = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
namedDeclaration.configure {
|
|
||||||
+name
|
|
||||||
}
|
|
||||||
|
|
||||||
function.configure {
|
function.configure {
|
||||||
withArg("F", "FirFunction<F>")
|
withArg("F", "FirFunction<F>")
|
||||||
parentArg(callableDeclaration, "F", "F")
|
parentArg(callableDeclaration, "F", "F")
|
||||||
@@ -103,6 +99,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
}
|
}
|
||||||
|
|
||||||
memberDeclaration.configure {
|
memberDeclaration.configure {
|
||||||
|
+name
|
||||||
+typeParameters
|
+typeParameters
|
||||||
+status.withTransform()
|
+status.withTransform()
|
||||||
}
|
}
|
||||||
@@ -255,6 +252,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
|
|
||||||
typeParameter.configure {
|
typeParameter.configure {
|
||||||
parentArg(symbolOwner, "F", typeParameter)
|
parentArg(symbolOwner, "F", typeParameter)
|
||||||
|
+name
|
||||||
+symbol("FirTypeParameterSymbol")
|
+symbol("FirTypeParameterSymbol")
|
||||||
+field(varianceType)
|
+field(varianceType)
|
||||||
+booleanField("isReified")
|
+booleanField("isReified")
|
||||||
@@ -333,6 +331,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
variable.configure {
|
variable.configure {
|
||||||
withArg("F", variable)
|
withArg("F", variable)
|
||||||
parentArg(callableDeclaration, "F", "F")
|
parentArg(callableDeclaration, "F", "F")
|
||||||
|
+name
|
||||||
+symbol("FirVariableSymbol", "F")
|
+symbol("FirVariableSymbol", "F")
|
||||||
+initializer.withTransform()
|
+initializer.withTransform()
|
||||||
+field("delegate", expression, nullable = true)
|
+field("delegate", expression, nullable = true)
|
||||||
|
|||||||
Reference in New Issue
Block a user