# Copyright (c) 2017, 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.

.class public LSuper;
.super Ljava/lang/Object;
.implements LIface;

.method public foo()V
    .locals 0
    return-void
.end method

