[FIR] Switch names of FirDiagnostic and ConeDiagnostic

This commit is contained in:
Dmitriy Novozhilov
2020-03-23 14:11:38 +03:00
parent e6102599ce
commit 1a3fef5fa1
54 changed files with 248 additions and 254 deletions
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock
@@ -33,7 +33,7 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction<FirError
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val valueParameters: List<FirValueParameter>
abstract override val body: FirBlock?
abstract override val diagnostic: FirDiagnostic
abstract override val diagnostic: ConeDiagnostic
abstract override val symbol: FirErrorFunctionSymbol
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorFunction(this, data)
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.impl.FirErrorFunctionImpl
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
@@ -38,7 +38,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
lateinit var diagnostic: FirDiagnostic
lateinit var diagnostic: ConeDiagnostic
lateinit var symbol: FirErrorFunctionSymbol
override fun build(): FirErrorFunction {
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
@@ -33,7 +33,7 @@ internal class FirErrorFunctionImpl(
override val annotations: MutableList<FirAnnotationCall>,
override val typeParameters: MutableList<FirTypeParameter>,
override val valueParameters: MutableList<FirValueParameter>,
override val diagnostic: FirDiagnostic,
override val diagnostic: ConeDiagnostic,
override val symbol: FirErrorFunctionSymbol,
) : FirErrorFunction() {
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic)
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.visitors.*
interface FirDiagnosticHolder : FirElement {
override val source: FirSourceElement?
val diagnostic: FirDiagnostic
val diagnostic: ConeDiagnostic
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDiagnosticHolder(this, data)
}
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.expressions
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.*
@@ -20,7 +20,7 @@ abstract class FirErrorExpression : FirExpression(), FirDiagnosticHolder {
abstract override val source: FirSourceElement?
abstract override val typeRef: FirTypeRef
abstract override val annotations: List<FirAnnotationCall>
abstract override val diagnostic: FirDiagnostic
abstract override val diagnostic: ConeDiagnostic
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorExpression(this, data)
}
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.expressions
import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
import org.jetbrains.kotlin.fir.visitors.*
@@ -22,7 +22,7 @@ abstract class FirErrorLoop : FirLoop(), FirDiagnosticHolder {
abstract override val block: FirBlock
abstract override val condition: FirExpression
abstract override val label: FirLabel?
abstract override val diagnostic: FirDiagnostic
abstract override val diagnostic: ConeDiagnostic
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorLoop(this, data)
@@ -9,7 +9,7 @@ import kotlin.contracts.*
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirErrorExpression
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
class FirErrorExpressionBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
override var source: FirSourceElement? = null
lateinit var diagnostic: FirDiagnostic
lateinit var diagnostic: ConeDiagnostic
override fun build(): FirErrorExpression {
return FirErrorExpressionImpl(
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirErrorLoop
@@ -29,7 +29,7 @@ class FirErrorLoopBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
var label: FirLabel? = null
lateinit var diagnostic: FirDiagnostic
lateinit var diagnostic: ConeDiagnostic
override fun build(): FirErrorLoop {
return FirErrorLoopImpl(
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirErrorExpression
import org.jetbrains.kotlin.fir.types.FirTypeRef
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirErrorExpressionImpl(
override val source: FirSourceElement?,
override val diagnostic: FirDiagnostic,
override val diagnostic: ConeDiagnostic,
) : FirErrorExpression() {
override var typeRef: FirTypeRef = FirErrorTypeRefImpl(source, diagnostic)
override val annotations: List<FirAnnotationCall> get() = emptyList()
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.expressions.impl
import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirErrorLoop
@@ -24,7 +24,7 @@ internal class FirErrorLoopImpl(
override val source: FirSourceElement?,
override val annotations: MutableList<FirAnnotationCall>,
override var label: FirLabel?,
override val diagnostic: FirDiagnostic,
override val diagnostic: ConeDiagnostic,
) : FirErrorLoop() {
override var block: FirBlock = FirEmptyExpressionBlock()
override var condition: FirExpression = FirErrorExpressionImpl(source, diagnostic)
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.references
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name
@@ -21,7 +21,7 @@ abstract class FirErrorNamedReference : FirNamedReference(), FirDiagnosticHolder
abstract override val source: FirSourceElement?
abstract override val name: Name
abstract override val candidateSymbol: AbstractFirBasedSymbol<*>?
abstract override val diagnostic: FirDiagnostic
abstract override val diagnostic: ConeDiagnostic
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorNamedReference(this, data)
}
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.references.builder
import kotlin.contracts.*
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl
class FirErrorNamedReferenceBuilder {
var source: FirSourceElement? = null
lateinit var diagnostic: FirDiagnostic
lateinit var diagnostic: ConeDiagnostic
fun build(): FirErrorNamedReference {
return FirErrorNamedReferenceImpl(
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirErrorNamedReferenceImpl(
override val source: FirSourceElement?,
override val diagnostic: FirDiagnostic,
override val diagnostic: ConeDiagnostic,
) : FirErrorNamedReference() {
override val name: Name = Name.special("<${diagnostic.reason}>")
override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.types
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.visitors.*
@@ -21,7 +21,7 @@ abstract class FirErrorTypeRef : FirResolvedTypeRef(), FirDiagnosticHolder {
abstract override val annotations: List<FirAnnotationCall>
abstract override val type: ConeKotlinType
abstract override val delegatedTypeRef: FirTypeRef?
abstract override val diagnostic: FirDiagnostic
abstract override val diagnostic: ConeDiagnostic
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorTypeRef(this, data)
}
@@ -9,7 +9,7 @@ import kotlin.contracts.*
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
import org.jetbrains.kotlin.fir.types.ConeKotlinType
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
class FirErrorTypeRefBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null
lateinit var diagnostic: FirDiagnostic
lateinit var diagnostic: ConeDiagnostic
override fun build(): FirErrorTypeRef {
return FirErrorTypeRefImpl(
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
import org.jetbrains.kotlin.fir.types.ConeKotlinType
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirErrorTypeRefImpl(
override val source: FirSourceElement?,
override val diagnostic: FirDiagnostic,
override val diagnostic: ConeDiagnostic,
) : FirErrorTypeRef() {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val type: ConeKotlinType = ConeClassErrorType(diagnostic.reason)
@@ -5,10 +5,10 @@
package org.jetbrains.kotlin.fir.diagnostics
abstract class FirDiagnostic {
abstract class ConeDiagnostic {
abstract val reason: String
}
class FirStubDiagnostic(val original: FirDiagnostic) : FirDiagnostic() {
class ConeStubDiagnostic(val original: ConeDiagnostic) : ConeDiagnostic() {
override val reason: String get() = original.reason
}
@@ -5,9 +5,13 @@
package org.jetbrains.kotlin.fir.diagnostics
class FirSimpleDiagnostic(override val reason: String, val kind: DiagnosticKind = DiagnosticKind.Other) : FirDiagnostic()
class ConeSimpleDiagnostic(override val reason: String, val kind: DiagnosticKind = DiagnosticKind.Other) : ConeDiagnostic()
class FirDiagnosticWithParameters1<A>(override val reason: String, val a: A, val kind: DiagnosticKind = DiagnosticKind.Other) : FirDiagnostic()
class ConeSimpleDiagnosticWithParameters1<A>(
override val reason: String,
val a: A,
val kind: DiagnosticKind = DiagnosticKind.Other
) : ConeDiagnostic()
enum class DiagnosticKind {
Syntax,
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.expressions
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.builder.buildConstExpression
import org.jetbrains.kotlin.fir.expressions.builder.buildErrorExpression
import org.jetbrains.kotlin.fir.expressions.builder.buildErrorLoop
@@ -28,7 +28,7 @@ inline val FirAnnotationCall.coneClassLikeType: ConeClassLikeType?
inline val FirAnnotationCall.classId: ClassId?
get() = coneClassLikeType?.lookupTag?.classId
fun <T> buildConstOrErrorExpression(source: FirSourceElement?, kind: FirConstKind<T>, value: T?, diagnostic: FirDiagnostic): FirExpression =
fun <T> buildConstOrErrorExpression(source: FirSourceElement?, kind: FirConstKind<T>, value: T?, diagnostic: ConeDiagnostic): FirExpression =
value?.let {
buildConstExpression(source, kind, it)
} ?: buildErrorExpression {
@@ -51,14 +51,14 @@ fun FirExpression.toResolvedCallableSymbol(): FirCallableSymbol<*>? {
return toResolvedCallableReference()?.resolvedSymbol as FirCallableSymbol<*>?
}
fun buildErrorLoop(source: FirSourceElement?, diagnostic: FirDiagnostic): FirErrorLoop {
fun buildErrorLoop(source: FirSourceElement?, diagnostic: ConeDiagnostic): FirErrorLoop {
return buildErrorLoop {
this.source = source
this.diagnostic = diagnostic
}
}
fun buildErrorExpression(source: FirSourceElement?, diagnostic: FirDiagnostic): FirErrorExpression {
fun buildErrorExpression(source: FirSourceElement?, diagnostic: ConeDiagnostic): FirErrorExpression {
return buildErrorExpression {
this.source = source
this.diagnostic = diagnostic
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.fir.tree.generator
import org.jetbrains.kotlin.descriptors.effectiveVisibility
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.annotations
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.arguments
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.body
@@ -58,7 +57,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
}
diagnosticHolder.configure {
+field("diagnostic", firDiagnosticType)
+field("diagnostic", coneDiagnosticType)
}
declaration.configure {
@@ -64,7 +64,7 @@ val firScopeProviderType = type("fir.scopes", "FirScopeProvider")
val pureAbstractElementType = generatedType("FirPureAbstractElement")
val effectDeclarationType = type("fir.contracts.description", "ConeEffectDeclaration")
val emptyContractDescriptionType = generatedType("contracts.impl", "FirEmptyContractDescription")
val firDiagnosticType = generatedType("diagnostics", "FirDiagnostic")
val coneDiagnosticType = generatedType("diagnostics", "ConeDiagnostic")
val dslBuilderAnnotationType = generatedType("builder", "FirBuilderDsl")
val firImplementationDetailType = generatedType("FirImplementationDetail")