Failing test, now really need to generate getters instead of calls to a getfield
This commit is contained in:
@@ -207,8 +207,9 @@ public class ClassCodegen {
|
|||||||
JetType superType = bindingContext.resolveTypeReference(specifier.getTypeReference());
|
JetType superType = bindingContext.resolveTypeReference(specifier.getTypeReference());
|
||||||
ClassDescriptor superClassDescriptor = (ClassDescriptor) superType.getConstructor().getDeclarationDescriptor();
|
ClassDescriptor superClassDescriptor = (ClassDescriptor) superType.getConstructor().getDeclarationDescriptor();
|
||||||
String delegateField = "$delegate_" + n;
|
String delegateField = "$delegate_" + n;
|
||||||
v.visitField(Opcodes.ACC_PRIVATE, delegateField, JetTypeMapper.jvmNameForInterface(superClassDescriptor), /*TODO*/null, null);
|
String fieldDesc = JetTypeMapper.jetInterfaceType(superClassDescriptor).getDescriptor();
|
||||||
iv.putfield(classname, delegateField, JetTypeMapper.jetInterfaceType(superClassDescriptor).getDescriptor());
|
v.visitField(Opcodes.ACC_PRIVATE, delegateField, fieldDesc, /*TODO*/null, null);
|
||||||
|
iv.putfield(classname, delegateField, fieldDesc);
|
||||||
}
|
}
|
||||||
|
|
||||||
n++;
|
n++;
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ class Point(x : Int, y : Int) : X(x), Y(y) {}
|
|||||||
|
|
||||||
class Abstract {}
|
class Abstract {}
|
||||||
|
|
||||||
class P1(x : Int, y : Y) : Abstract, X(x), Y by y {}
|
class P1(x : Int, yy : Y) : Abstract, X(x), Y by yy {}
|
||||||
class P2(x : Int, y : Y) : X(x), Abstract, Y by y {}
|
class P2(x : Int, yy : Y) : X(x), Abstract, Y by yy {}
|
||||||
class P3(x : Int, y : Y) : X(x), Y by y, Abstract {}
|
class P3(x : Int, yy : Y) : X(x), Y by yy, Abstract {}
|
||||||
class P4(x : Int, y : Y) : Y by y, Abstract, X(x) {}
|
class P4(x : Int, yy : Y) : Y by yy, Abstract, X(x) {}
|
||||||
|
|
||||||
fun box() : String {
|
fun box() : String {
|
||||||
if (new X(239).x != 239) return "FAIL #1"
|
if (new X(239).x != 239) return "FAIL #1"
|
||||||
|
|||||||
Reference in New Issue
Block a user