KT-13961 REDECLARATION not reported on private-in-file 'foo' vs public 'foo' in different file

Private-in-file declarations conflict with public overload-equivalent declarations
in other files in the same package.

Move functions for grouping possible redeclarations to OverloadResolver
(since they are used only there).

Refactor redeclarations / conflicting overloads reporting.
This commit is contained in:
Dmitry Petrov
2016-09-21 18:12:24 +03:00
parent 0120085443
commit 06101dba52
42 changed files with 293 additions and 297 deletions
@@ -1,9 +1,14 @@
package
package a {
private val validProp: kotlin.Int = 1
private val validProp: kotlin.Int = 1
public val validProp: kotlin.Int = 1
private val invalidProp0: kotlin.Int = 1
private val invalidProp0: kotlin.Int = 1
public val invalidProp0: kotlin.Int = 1
private val validVal: kotlin.Int = 1
private val validVal: kotlin.Int = 1
private fun invalidFun0(): kotlin.Unit
private fun invalidFun0(): kotlin.Unit
public fun invalidFun0(): kotlin.Unit
private fun invalidFun1(): kotlin.Unit
private fun invalidFun1(): kotlin.Unit
private fun invalidFun2(): kotlin.Unit
@@ -13,9 +18,10 @@ package a {
internal fun invalidFun4(): kotlin.Unit
private fun invalidFun4(): kotlin.Unit
public fun invalidFun4(): kotlin.Unit
public fun useInvalidFun0(): [ERROR : Error function type]
public fun useInvalidProp0(): [ERROR : Error function type]
private fun validFun(): kotlin.Unit
private fun validFun(): kotlin.Unit
public fun validFun(): kotlin.Unit
public fun validFun2(/*0*/ a: a.A): a.A
public fun validFun2(/*0*/ b: a.B): a.B