// 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); } }