// 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 shaking1;

public class Used {

  public static int aStaticFieldThatIsNotUsedButKept = 42;

  private final String name;

  public Used(String name) {
    this.name = name;
  }

  public String method() {
    return "Hello, " + name;
  }

  public String aMethodThatIsNotUsedButKept() {
    return "Unused string";
  }
}
