| // 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 memberrebinding2; | |
| import memberrebinding2.subpackage.PublicClass; | |
| public class Memberrebinding { | |
| public static void main(String[] args) { | |
| ClassAtBottomOfChain bottomInstance = new ClassAtBottomOfChain(); | |
| PublicClass instance = new PublicClass(); | |
| int x = 0; | |
| bottomInstance.bottomField = 1; | |
| bottomInstance.middleField = 2; | |
| bottomInstance.superField = 3; | |
| instance.field = 4; | |
| bottomInstance.staticBottomField = 5; | |
| bottomInstance.staticMiddleField = 6; | |
| bottomInstance.staticSuperField = 7; | |
| instance.staticField = 8; | |
| x += bottomInstance.bottomField; | |
| x += bottomInstance.middleField; | |
| x += bottomInstance.superField; | |
| x += instance.field; | |
| x += bottomInstance.staticBottomField; | |
| x += bottomInstance.staticMiddleField; | |
| x += bottomInstance.staticSuperField; | |
| x += instance.staticField; | |
| System.out.println(x); | |
| } | |
| } |