blob: 0489ca47a320a6d5f01325eef634ac54e13ea8c5 [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 adaptclassstrings;
public class Main {
public static void main(String[] args) throws Exception {
assert false;
int f = 3;
A a = new A(f);
AA aa = new AA(f);
assert a.foo() != aa.foo();
a.bar();
Object a_foo =
Class.forName("adaptclassstrings.A").getMethod("foo").invoke(a);
Object aa_foo =
Class.forName("adaptclassstrings.AA").getMethod("foo").invoke(aa);
assert !a_foo.equals(aa_foo);
Object c_to_a_foo =
Class.forName((String)
Class.forName("adaptclassstrings.C").getField("OTHER").get(null))
.getMethod("foo").invoke(a);
assert a_foo.equals(c_to_a_foo);
String cName = (String) Class.forName(C.ITSELF).getField("ITSELF").get(null);
boolean b = cName.equals(A.OTHER);
assert b;
}
}