Rewrite Java resolve to use static class scope instead of synthesized packages

#KT-4149 Fixed
 #KT-4839 Fixed
This commit is contained in:
Alexander Udalov
2014-09-03 14:42:03 +04:00
parent 75df4a9ad8
commit bcfb5f3b09
41 changed files with 217 additions and 419 deletions
@@ -2,17 +2,16 @@ package test
public open class RawSuperType {
public constructor RawSuperType()
public open inner class Derived : test.RawSuperType.Super<kotlin.Any?> {
public constructor Derived()
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any?): kotlin.Unit
}
public trait Super</*0*/ T> {
public abstract fun foo(/*0*/ p0: T?): kotlin.Unit
}
}
package test.RawSuperType {
public /*synthesized*/ fun </*0*/ T> Super(/*0*/ function: (T?) -> kotlin.Unit): test.RawSuperType.Super<T>
// Static members
public final /*synthesized*/ fun </*0*/ T> Super(/*0*/ function: (T?) -> kotlin.Unit): test.RawSuperType.Super<T>
}
@@ -4,17 +4,16 @@ public /*synthesized*/ fun TwoSuperclassesInconsistentGenericTypes(/*0*/ functio
public trait TwoSuperclassesInconsistentGenericTypes {
public abstract fun foo(): kotlin.MutableList<kotlin.String?>
public trait Other {
public abstract fun foo(): kotlin.MutableList<kotlin.String>?
}
public open class Sub : test.TwoSuperclassesInconsistentGenericTypes, test.TwoSuperclassesInconsistentGenericTypes.Other {
public constructor Sub()
public open override /*2*/ fun foo(): kotlin.MutableList<kotlin.String>
}
}
package test.TwoSuperclassesInconsistentGenericTypes {
public /*synthesized*/ fun Other(/*0*/ function: () -> kotlin.MutableList<kotlin.String>?): test.TwoSuperclassesInconsistentGenericTypes.Other
// Static members
public final /*synthesized*/ fun Other(/*0*/ function: () -> kotlin.MutableList<kotlin.String>?): test.TwoSuperclassesInconsistentGenericTypes.Other
}
@@ -1,22 +1,21 @@
package test
public trait TwoSuperclassesVarargAndNot {
public trait Sub : test.TwoSuperclassesVarargAndNot.Super1, test.TwoSuperclassesVarargAndNot.Super2 {
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ s: kotlin.Array<out kotlin.String?>?): kotlin.Unit
}
public trait Super1 {
public abstract fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
}
public trait Super2 {
public abstract fun foo(/*0*/ s: kotlin.Array<out kotlin.String?>?): kotlin.Unit
}
}
package test.TwoSuperclassesVarargAndNot {
public /*synthesized*/ fun Super1(/*0*/ function: (kotlin.Array<kotlin.String?>) -> kotlin.Unit): test.TwoSuperclassesVarargAndNot.Super1
public /*synthesized*/ fun Super2(/*0*/ function: (kotlin.Array<out kotlin.String?>?) -> kotlin.Unit): test.TwoSuperclassesVarargAndNot.Super2
// Static members
public final /*synthesized*/ fun Super1(/*0*/ function: (kotlin.Array<kotlin.String?>) -> kotlin.Unit): test.TwoSuperclassesVarargAndNot.Super1
public final /*synthesized*/ fun Super2(/*0*/ function: (kotlin.Array<out kotlin.String?>?) -> kotlin.Unit): test.TwoSuperclassesVarargAndNot.Super2
}