// Copyright (c) 2022, 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 j$.nio.file.attribute;

public class PosixFileAttributes extends BasicFileAttributes {
  public static java.nio.file.attribute.PosixFileAttributes wrap_convert(
      j$.nio.file.attribute.PosixFileAttributes fileAttributes) {
    return null;
  }

  public static j$.nio.file.attribute.PosixFileAttributes wrap_convert(
      java.nio.file.attribute.PosixFileAttributes fileAttributes) {
    return null;
  }
}
