[FIR] Render full declaration header in diagnostic messages
This commit is contained in:
committed by
teamcity
parent
2fa6425965
commit
23af5510a6
@@ -64,6 +64,8 @@ open class FirRenderer(builder: StringBuilder, protected val mode: RenderMode =
|
||||
val renderDeclarationAttributes: Boolean = false,
|
||||
val renderDeclarationOrigin: Boolean = false,
|
||||
val renderPackageDirective: Boolean = false,
|
||||
val renderNestedDeclarations: Boolean = true,
|
||||
val renderDefaultParameterValues: Boolean = true,
|
||||
) {
|
||||
companion object {
|
||||
val Normal = RenderMode(
|
||||
@@ -109,6 +111,21 @@ open class FirRenderer(builder: StringBuilder, protected val mode: RenderMode =
|
||||
renderPropertyAccessors = false,
|
||||
)
|
||||
|
||||
val DeclarationHeader = RenderMode(
|
||||
renderLambdaBodies = false,
|
||||
renderCallArguments = false,
|
||||
renderCallableFqNames = false,
|
||||
renderDeclarationResolvePhase = false,
|
||||
renderAnnotation = true,
|
||||
renderBodies = false,
|
||||
renderPropertyAccessors = false,
|
||||
renderDeclarationAttributes = false,
|
||||
renderDeclarationOrigin = false,
|
||||
renderPackageDirective = false,
|
||||
renderNestedDeclarations = false,
|
||||
renderDefaultParameterValues = false,
|
||||
)
|
||||
|
||||
val WithDeclarationAttributes = RenderMode(
|
||||
renderLambdaBodies = true,
|
||||
renderCallArguments = true,
|
||||
@@ -477,7 +494,9 @@ open class FirRenderer(builder: StringBuilder, protected val mode: RenderMode =
|
||||
}
|
||||
|
||||
protected open fun renderClassDeclarations(regularClass: FirRegularClass) {
|
||||
regularClass.declarations.renderDeclarations()
|
||||
if (mode.renderNestedDeclarations) {
|
||||
regularClass.declarations.renderDeclarations()
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitEnumEntry(enumEntry: FirEnumEntry) {
|
||||
@@ -584,7 +603,7 @@ open class FirRenderer(builder: StringBuilder, protected val mode: RenderMode =
|
||||
constructor.returnTypeRef.accept(this)
|
||||
val body = constructor.body
|
||||
val delegatedConstructor = constructor.delegatedConstructor
|
||||
if (body == null) {
|
||||
if (body == null && mode.renderBodies) {
|
||||
if (delegatedConstructor != null) {
|
||||
renderInBraces {
|
||||
delegatedConstructor.accept(this)
|
||||
@@ -740,7 +759,11 @@ open class FirRenderer(builder: StringBuilder, protected val mode: RenderMode =
|
||||
valueParameter.returnTypeRef.accept(this)
|
||||
valueParameter.defaultValue?.let {
|
||||
print(" = ")
|
||||
it.accept(this)
|
||||
if (mode.renderDefaultParameterValues) {
|
||||
it.accept(this)
|
||||
} else {
|
||||
print("...")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user