Enable missing checkers for frontend:

* Forbid super-calls with default arguments as in JVM;
* Forbid passing incorrect types for reified parameters.

Also suppress revealed errors with passing non-reified type to
array constructor
This commit is contained in:
Svyatoslav Scherbina
2018-01-10 11:40:42 +03:00
committed by SvyatoslavScherbina
parent 7bebb8d960
commit 8d4bedfef6
5 changed files with 11 additions and 4 deletions
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.container.StorageComponentContainer
import org.jetbrains.kotlin.container.useInstance
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.calls.checkers.ReifiedTypeParameterSubstitutionChecker
import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator
import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker
import org.jetbrains.kotlin.resolve.lazy.DelegationFilter
@@ -32,7 +33,10 @@ import org.jetbrains.kotlin.types.DynamicTypesSettings
object KonanPlatformConfigurator : PlatformConfigurator(
DynamicTypesSettings(),
additionalDeclarationCheckers = listOf(ExpectedActualDeclarationChecker),
additionalCallCheckers = listOf(),
additionalCallCheckers = listOf(
org.jetbrains.kotlin.resolve.jvm.checkers.SuperCallWithDefaultArgumentsChecker(),
ReifiedTypeParameterSubstitutionChecker()
),
additionalTypeCheckers = listOf(),
additionalClassifierUsageCheckers = listOf(),
additionalAnnotationCheckers = listOf(),