mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 00:04:10 -08:00
parent
6af7250e3b
commit
065aef581d
|
@ -82,6 +82,9 @@ class JSTypeInference extends BaseTypeInference<JSType> {
|
|||
|
||||
@Override
|
||||
protected JSType elementType(JSType jsType) {
|
||||
if (jsType == JSType.NULL) {
|
||||
return JSType.NULL;
|
||||
}
|
||||
return jsType instanceof JSType.ArrayType ? ((JSType.ArrayType) jsType).elementType : JSType.MIXED;
|
||||
}
|
||||
|
||||
|
|
|
@ -657,6 +657,20 @@ public class VMTest {
|
|||
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) {
|
||||
return a.a();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user