1 // Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file 2 // for details. All rights reserved. Use of this source code is governed by a 3 // BSD-style license that can be found in the LICENSE file. 4 package shaking2; 5 6 public class SubClass1 extends SuperClass { 7 private int used; 8 private int alsoUsed; 9 private boolean usedBoolean; 10 private byte usedByte; 11 private char usedChar; 12 private Object usedObject; 13 private short usedShort; 14 private double usedDouble; 15 16 private int unused; 17 18 public SubClass1(int used) { 19 this.used = used; 20 } 21 22 public SubClass1(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { 23 this.used = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8; 24 } 25 26 @Override 27 public void virtualMethod() { 28 System.out.println("SubClass1::virtualMethod"); 29 } 30 31 @Override 32 public void virtualMethod2(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { 33 System.out.println("SubClass1::virtualMethod2 " + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)); 34 } 35 36 @Override 37 public void virtualMethod3() { 38 super.virtualMethod3(); 39 System.out.println("SubClass1::virtualMethod3"); 40 } 41 42 @Override 43 public void virtualMethod4(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { 44 super.virtualMethod4(a1, a2, a3, a4, a5, a6, a7, a8); 45 System.out.println("SubClass1::virtualMethod4 " + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)); 46 } 47 48 @Override 49 public void unusedVirtualMethod() { 50 System.out.println("SubClass1::unusedVirtualMethod"); 51 } 52 53 @Override 54 public void interfaceMethod() { 55 System.out.println("SubClass1::interfaceMethod"); 56 } 57 58 @Override 59 public void interfaceMethod2() { 60 System.out.println("SubClass1::interfaceMethod2"); 61 } 62 63 @Override 64 public void interfaceMethod3() { 65 System.out.println("SubClass1::interfaceMethod3"); 66 } 67 68 @Override 69 public void interfaceMethod4() { 70 System.out.println("SubClass1::interfaceMethod4"); 71 } 72 73 @Override 74 public void interfaceMethod5(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { 75 System.out.println("SubClass1::interfaceMethod5 " + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)); 76 } 77 78 @Override 79 public void accessFields() { 80 super.accessFields(); 81 System.out.println("SubClass1::fields: " + used + " " + alsoUsed + " " + usedBoolean + 82 " " + usedByte + " " + usedChar + " " + usedObject + " " + usedShort + " " + usedDouble); 83 used = 1; 84 alsoUsed = 2; 85 usedBoolean = true; 86 usedByte = 3; 87 usedChar = '?'; 88 usedObject = new Object(); 89 usedShort = 4; 90 usedDouble = 42.42; 91 } 92 } 93