[FIR] Add lValueTypeRef to FirVariableAssignment, fix tests with ASSIGNMENT_TYPE_MISMATCH

This commit is contained in:
Ivan Kochurkin
2021-05-13 17:06:04 +03:00
committed by TeamCityServer
parent e57108d4e8
commit c3b8f3e859
28 changed files with 127 additions and 87 deletions
@@ -495,5 +495,14 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
default(it, "FirImplicitTypeRefImpl(null)")
useTypes(implicitTypeRefType)
}
configureFieldInAllImplementations(
field = "lValueTypeRef",
implementationPredicate = { it.type in "FirVariableAssignmentImpl" },
fieldPredicate = { it.defaultValueInImplementation == null }
) {
default(it, "FirImplicitTypeRefImpl(null)")
useTypes(implicitTypeRefType)
}
}
}
@@ -521,6 +521,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
variableAssignment.configure {
+field("lValue", reference)
+field("lValueTypeRef", typeRef).withReplace()
+field("rValue", expression).withTransform()
}