[FIR] Add error nodes to default transformer and visitors

This commit is contained in:
Dmitriy Novozhilov
2019-10-31 13:52:41 +03:00
parent a501e514c9
commit 0428916d3c
3 changed files with 55 additions and 1 deletions
@@ -5,10 +5,12 @@
package org.jetbrains.kotlin.fir.visitors
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirSealedClass
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirReference
import org.jetbrains.kotlin.fir.types.*
abstract class FirDefaultTransformer<D> : FirTransformer<D>() {
@@ -90,5 +92,21 @@ abstract class FirDefaultTransformer<D> : FirTransformer<D>() {
override fun transformSealedClass(sealedClass: FirSealedClass, data: D): CompositeTransformResult<FirStatement> {
return transformRegularClass(sealedClass, data)
}
override fun transformErrorExpression(errorExpression: FirErrorExpression, data: D): CompositeTransformResult<FirStatement> {
return transformExpression(errorExpression, data)
}
override fun transformErrorLoop(errorLoop: FirErrorLoop, data: D): CompositeTransformResult<FirStatement> {
return transformLoop(errorLoop, data)
}
override fun transformErrorNamedReference(errorNamedReference: FirErrorNamedReference, data: D): CompositeTransformResult<FirReference> {
return transformNamedReference(errorNamedReference, data)
}
override fun transformErrorFunction(errorFunction: FirErrorFunction, data: D): CompositeTransformResult<FirStatement> {
return transformFunction(errorFunction, data)
}
}
@@ -6,8 +6,10 @@
package org.jetbrains.kotlin.fir.visitors
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirSealedClass
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.types.*
abstract class FirDefaultVisitor<R, D> : FirVisitor<R, D>() {
@@ -86,5 +88,21 @@ abstract class FirDefaultVisitor<R, D> : FirVisitor<R, D>() {
override fun visitSealedClass(sealedClass: FirSealedClass, data: D): R {
return visitRegularClass(sealedClass, data)
}
override fun visitErrorExpression(errorExpression: FirErrorExpression, data: D): R {
return visitExpression(errorExpression, data)
}
override fun visitErrorLoop(errorLoop: FirErrorLoop, data: D): R {
return visitLoop(errorLoop, data)
}
override fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference, data: D): R {
return visitNamedReference(errorNamedReference, data)
}
override fun visitErrorFunction(errorFunction: FirErrorFunction, data: D): R {
return visitFunction(errorFunction, data)
}
}
@@ -6,8 +6,10 @@
package org.jetbrains.kotlin.fir.visitors
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirSealedClass
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.types.*
abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
@@ -86,4 +88,20 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
override fun visitSealedClass(sealedClass: FirSealedClass) {
return visitRegularClass(sealedClass)
}
override fun visitErrorExpression(errorExpression: FirErrorExpression) {
return visitExpression(errorExpression)
}
override fun visitErrorLoop(errorLoop: FirErrorLoop) {
return visitLoop(errorLoop)
}
override fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference) {
return visitNamedReference(errorNamedReference)
}
override fun visitErrorFunction(errorFunction: FirErrorFunction) {
return visitFunction(errorFunction)
}
}