mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 08:14:09 -08:00
parent
6af7250e3b
commit
065aef581d
|
@ -82,6 +82,9 @@ class JSTypeInference extends BaseTypeInference<JSType> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected JSType elementType(JSType jsType) {
|
protected JSType elementType(JSType jsType) {
|
||||||
|
if (jsType == JSType.NULL) {
|
||||||
|
return JSType.NULL;
|
||||||
|
}
|
||||||
return jsType instanceof JSType.ArrayType ? ((JSType.ArrayType) jsType).elementType : JSType.MIXED;
|
return jsType instanceof JSType.ArrayType ? ((JSType.ArrayType) jsType).elementType : JSType.MIXED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -657,6 +657,20 @@ public class VMTest {
|
||||||
assertEquals("ap", callA(new B()));
|
assertEquals("ap", callA(new B()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void typeInferenceForArrayMerge() {
|
||||||
|
int[][] a = falseBoolean() ? null : array();
|
||||||
|
assertEquals(23, a[0][0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean falseBoolean() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int[][] array() {
|
||||||
|
return new int[][] { { 23 } };
|
||||||
|
}
|
||||||
|
|
||||||
private static String callA(A a) {
|
private static String callA(A a) {
|
||||||
return a.a();
|
return a.a();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user