blob: 40992ae2a4423bfbf52f880989087c686d6a1229 [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.stacktraces;
import com.android.tools.r8.utils.StringUtils;
import java.util.Arrays;
import java.util.List;
public class IdentityMappingStackTrace implements StackTraceForTest {
@Override
public List<String> obfuscatedStackTrace() {
return Arrays.asList(
"java.lang.IndexOutOfBoundsException", "\tat a.a(:10)", "\tat b.a(:11)", "\tat c.a(:12)");
}
@Override
public String mapping() {
return StringUtils.lines(
"com.android.tools.r8.One -> a:",
" 10:10:void foo(int) -> a",
"com.android.tools.r8.Other -> b:",
" 11:11:void bar(int, int) -> a", // This is an inline frame
" 11:11:boolean baz(int, int) -> a",
"com.android.tools.r8.Third -> c:",
" 12:12:void qux(int) -> a", // This is also an inline frame
" 12:12:void other(int, int) -> b",
" 12:12:boolean quux(int, int) -> a");
}
@Override
public List<String> retracedStackTrace() {
return Arrays.asList(
"java.lang.IndexOutOfBoundsException",
"\tat com.android.tools.r8.One.foo(One.java:10)",
"\tat com.android.tools.r8.Other.bar(Other.java:11)",
"\tat com.android.tools.r8.Other.baz(Other.java:11)",
"\tat com.android.tools.r8.Third.qux(Third.java:12)",
"\tat com.android.tools.r8.Third.quux(Third.java:12)");
}
@Override
public List<String> retraceVerboseStackTrace() {
return Arrays.asList(
"java.lang.IndexOutOfBoundsException",
"\tat com.android.tools.r8.One.void foo(int)(One.java:10)",
"\tat com.android.tools.r8.Other.void bar(int,int)(Other.java:11)",
"\tat com.android.tools.r8.Other.boolean baz(int,int)(Other.java:11)",
"\tat com.android.tools.r8.Third.void qux(int)(Third.java:12)",
"\tat com.android.tools.r8.Third.boolean quux(int,int)(Third.java:12)");
}
@Override
public int expectedWarnings() {
return 0;
}
}