3b5fff5473
In general, overrides should not contain default values, and it's better to make fake overrides be close to proper overrides as much as possible. It will be important when we begin running `FirOverrideChecker` for fake overrides. ^KT-63879 Fixed ^KT-65534
21 lines
638 B
Kotlin
Vendored
21 lines
638 B
Kotlin
Vendored
// FILE: lib.kt
|
|
interface ResolutionScope {
|
|
fun getContributedDescriptors(s: String = "OK"): String
|
|
}
|
|
|
|
// processing deprecatedScopes.kt before scopes.kt should show that there is no problem in processing delegated members after fake overrides
|
|
|
|
// FILE: deprecatedScopes.kt
|
|
abstract class DeprecatedLexicalScope(a: LexicalScope) : LexicalScope by a
|
|
|
|
// FILE: scopes.kt
|
|
interface LexicalScope : ResolutionScope
|
|
|
|
// FILE: main.kt
|
|
class ScopeImpl : LexicalScope {
|
|
override fun getContributedDescriptors(s: String): String = s
|
|
}
|
|
class Impl : DeprecatedLexicalScope(ScopeImpl())
|
|
|
|
fun box(): String = Impl().getContributedDescriptors()
|