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