blob: 865fa1402357a36845acb3f3c599343a3021b67e [file] [log] [blame]
// Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package interfaceinlining;
// This test ensures a check cast instruction is inserted IFF
// the expression "((DataI) other).field()" is inlined.
// Failing to do so will result in an ART verification error.
public class Main {
public interface DataI {
int field();
}
public static class Data implements DataI {
final int a;
public boolean equals(Object other) {
if (other instanceof DataI) {
return a == ((DataI) other).field();
}
return false;
}
Data(int a) {
this.a = a;
}
public int field() {
return a;
}
}
public static void main (String[] args) {
System.out.print(new Data(1).equals(new Data(1)));
}
}