blob: a985fe1ef0fed1ce72b5b37093ca8561d87f43dd [file] [log] [blame]
// Copyright (c) 2021, 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 com.android.tools.r8.retrace;
import com.android.tools.r8.Keep;
import java.util.List;
import java.util.function.Consumer;
import java.util.stream.Stream;
@Keep
public interface RetraceFrameElement extends RetraceElement<RetraceFrameResult> {
boolean isUnknown();
RetracedMethodReference getTopFrame();
RetraceClassElement getClassElement();
void forEach(Consumer<RetracedSingleFrame> consumer);
Stream<RetracedSingleFrame> stream();
void forEachRewritten(Consumer<RetracedSingleFrame> consumer);
Stream<RetracedSingleFrame> streamRewritten(RetraceStackTraceContext context);
RetracedSourceFile getSourceFile(RetracedClassMemberReference frame);
List<? extends RetracedMethodReference> getOuterFrames();
RetraceStackTraceContext getRetraceStackTraceContext();
}