// Copyright 2015 The Bazel Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/**
 * A heavily annotated class used for testing.
 */
@Annotations.RuntimeInvisible
@Annotations.RuntimeVisible
final class AnnotatedClass {
  @Annotations.RuntimeInvisible
  @Annotations.RuntimeVisible
  String field;

  @Annotations.RuntimeInvisible
  @Annotations.RuntimeVisible
  private AnnotatedClass() {}

  @Annotations.RuntimeInvisible
  @Annotations.RuntimeVisible
  public static void publicStaticMethod(
      @Annotations.RuntimeInvisible @Annotations.RuntimeVisible String param) {
    @Annotations.RuntimeInvisible
    @Annotations.RuntimeVisible
    String local = "Hello " + param + "!";
    System.out.println(local);
  }
}
