Commit a78f431
committed
Remove nonsensical body for trait getter
This corrects an error in the change to the trait encoding
in scala#5003: getters in traits should have empty bodies and
be emitted as abstract.
```
% ~/scala/2.12.0-M4/bin/scalac sandbox/test.scala && javap -c T
Compiled from "test.scala"
public interface T {
public abstract void T$_setter_$x_$eq(int);
public int x();
Code:
0: aload_0
1: invokeinterface #15, 1 // InterfaceMethod x:()I
6: ireturn
public int y();
Code:
0: aload_0
1: invokeinterface #20, 1 // InterfaceMethod y:()I
6: ireturn
public void y_$eq(int);
Code:
0: aload_0
1: iload_1
2: invokeinterface #24, 2 // InterfaceMethod y_$eq:(I)V
7: return
public void $init$();
Code:
0: aload_0
1: bipush 42
3: invokeinterface #29, 2 // InterfaceMethod T$_setter_$x_$eq:(I)V
8: aload_0
9: bipush 24
11: invokeinterface #24, 2 // InterfaceMethod y_$eq:(I)V
16: return
}
% qscalac sandbox/test.scala && javap -c T
Compiled from "test.scala"
public interface T {
public abstract void T$_setter_$x_$eq(int);
public abstract int x();
public abstract int y();
public abstract void y_$eq(int);
public static void $init$(T);
Code:
0: aload_0
1: bipush 42
3: invokeinterface #21, 2 // InterfaceMethod T$_setter_$x_$eq:(I)V
8: aload_0
9: bipush 24
11: invokeinterface #23, 2 // InterfaceMethod y_$eq:(I)V
16: return
public void $init$();
Code:
0: aload_0
1: invokestatic #27 // Method $init$:(LT;)V
4: return
}
```1 parent 3bb7358 commit a78f431
1 file changed
+6
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1001 | 1001 | | |
1002 | 1002 | | |
1003 | 1003 | | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
1004 | 1009 | | |
1005 | | - | |
| 1010 | + | |
1006 | 1011 | | |
1007 | 1012 | | |
1008 | 1013 | | |
| |||
0 commit comments