equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
36 import static jdk.test.lib.Asserts.*; |
36 import static jdk.test.lib.Asserts.*; |
37 |
37 |
38 /* |
38 /* |
39 * Proof of concept test for the test utility class RedefineClassHelper |
39 * Proof of concept test for the test utility class RedefineClassHelper |
40 */ |
40 */ |
|
41 |
|
42 // package access top-level class to avoid problem with RedefineClassHelper |
|
43 // and nested types. |
|
44 class RedefineClassTest_A { |
|
45 public int Method() { |
|
46 return 1; |
|
47 } |
|
48 } |
|
49 |
41 public class RedefineClassTest { |
50 public class RedefineClassTest { |
42 |
51 |
43 public static String newClass = "class RedefineClassTest$A { public int Method() { return 2; } }"; |
52 public static String newClass = "class RedefineClassTest_A { public int Method() { return 2; } }"; |
44 public static void main(String[] args) throws Exception { |
53 public static void main(String[] args) throws Exception { |
45 A a = new A(); |
54 RedefineClassTest_A a = new RedefineClassTest_A(); |
46 assertTrue(a.Method() == 1); |
55 assertTrue(a.Method() == 1); |
47 RedefineClassHelper.redefineClass(A.class, newClass); |
56 RedefineClassHelper.redefineClass(RedefineClassTest_A.class, newClass); |
48 assertTrue(a.Method() == 2); |
57 assertTrue(a.Method() == 2); |
49 } |
58 } |
50 |
|
51 static class A { |
|
52 public int Method() { |
|
53 return 1; |
|
54 } |
|
55 } |
|
56 } |
59 } |