|  | // 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 minification; | 
|  |  | 
|  | public class Minification { | 
|  |  | 
|  | public static void main(String[] args) { | 
|  | SubClassA subClassA = new SubClassA(); | 
|  | exerciseA(subClassA); | 
|  | SubSubClassAB subSubClassAB = new SubSubClassAB(); | 
|  | exerciseA(subSubClassAB); | 
|  | exerciseB(subSubClassAB); | 
|  | SubClassB subClassB = new SubClassB(); | 
|  | exerciseB(subClassB); | 
|  | SubClassC subClassC = new SubClassC(); | 
|  | exerciseB(subClassC); | 
|  | exerciseC(subClassC); | 
|  | ClassD classD = new ClassD(); | 
|  | exerciseD(classD); | 
|  | } | 
|  |  | 
|  | private static void exerciseA(InterfaceA thing) { | 
|  | thing.functionFromIntToInt(thing.uniqueLittleMethodInA()); | 
|  | } | 
|  |  | 
|  | private static void exerciseB(InterfaceB thing) { | 
|  | thing.functionFromIntToInt(thing.uniqueLittleMethodInB()); | 
|  | } | 
|  |  | 
|  | private static void exerciseC(InterfaceC thing) { | 
|  | thing.functionFromIntToInt(thing.uniqueLittleMethodInC()); | 
|  | } | 
|  |  | 
|  | private static void exerciseD(InterfaceD thing) { | 
|  | thing.anotherFunctionFromIntToInt(42); | 
|  | thing.functionFromIntToInt(42); | 
|  | } | 
|  | } |