|  | // Copyright (c) 2016, 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 shaking2; | 
|  |  | 
|  | public class SubClass1 extends SuperClass { | 
|  | private int used; | 
|  | private int alsoUsed; | 
|  | private boolean usedBoolean; | 
|  | private byte usedByte; | 
|  | private char usedChar; | 
|  | private Object usedObject; | 
|  | private short usedShort; | 
|  | private double usedDouble; | 
|  |  | 
|  | private int unused; | 
|  |  | 
|  | public SubClass1(int used) { | 
|  | this.used = used; | 
|  | } | 
|  |  | 
|  | public SubClass1(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { | 
|  | this.used = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void virtualMethod() { | 
|  | System.out.println("SubClass1::virtualMethod"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void virtualMethod2(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { | 
|  | System.out.println("SubClass1::virtualMethod2 " + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void virtualMethod3() { | 
|  | super.virtualMethod3(); | 
|  | System.out.println("SubClass1::virtualMethod3"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void virtualMethod4(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { | 
|  | super.virtualMethod4(a1, a2, a3, a4, a5, a6, a7, a8); | 
|  | System.out.println("SubClass1::virtualMethod4 " + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void unusedVirtualMethod() { | 
|  | System.out.println("SubClass1::unusedVirtualMethod"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void interfaceMethod() { | 
|  | System.out.println("SubClass1::interfaceMethod"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void interfaceMethod2() { | 
|  | System.out.println("SubClass1::interfaceMethod2"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void interfaceMethod3() { | 
|  | System.out.println("SubClass1::interfaceMethod3"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void interfaceMethod4() { | 
|  | System.out.println("SubClass1::interfaceMethod4"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void interfaceMethod5(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { | 
|  | System.out.println("SubClass1::interfaceMethod5 " + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void accessFields() { | 
|  | super.accessFields(); | 
|  | System.out.println("SubClass1::fields: " + used + " " + alsoUsed + " " + usedBoolean + | 
|  | " " + usedByte + " " + usedChar + " " + usedObject + " " + usedShort + " " + usedDouble); | 
|  | used = 1; | 
|  | alsoUsed = 2; | 
|  | usedBoolean = true; | 
|  | usedByte = 3; | 
|  | usedChar = '?'; | 
|  | usedObject = new Object(); | 
|  | usedShort = 4; | 
|  | usedDouble = 42.42; | 
|  | } | 
|  | } |