[NI] Add initial constraint to IncorporationConstraintPosition

This commit is contained in:
Stanislav Erokhin
2017-05-04 00:22:45 +03:00
parent c767545d4c
commit cb494c46d7
5 changed files with 36 additions and 35 deletions
@@ -150,12 +150,13 @@ class DiagnosticReporterByTrackingStrategy(
when (diagnostic.javaClass) {
NewConstraintError::class.java -> {
val constraintError = diagnostic as NewConstraintError
(constraintError.position as? ArgumentConstraintPosition)?.let {
val position = constraintError.position.from
(position as? ArgumentConstraintPosition)?.let {
val expression = it.argument.psiExpression ?: return
if (reportConstantTypeMismatch(constraintError, expression)) return
trace.report(Errors.TYPE_MISMATCH.on(expression, constraintError.upperType, constraintError.lowerType))
}
(constraintError.position as? ExplicitTypeParameterConstraintPosition)?.let {
(position as? ExplicitTypeParameterConstraintPosition)?.let {
val typeArgumentReference = (it.typeArgument as SimpleTypeArgumentImpl).typeReference
trace.report(UPPER_BOUND_VIOLATED.on(typeArgumentReference, constraintError.upperType, constraintError.lowerType))
}