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