blob: 95e5185c875faa8525837693c09edd341730671e [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 OutlineInOutlineStackTrace implements StackTraceForTest {
@Override
public List<String> obfuscatedStackTrace() {
return Arrays.asList(
"java.io.IOException: INVALID_SENDER", "\tat a.a(:4)", "\tat b.a(:6)", "\tat c.a(:28)");
}
@Override
public String mapping() {
return StringUtils.lines(
"# { id: 'com.android.tools.r8.mapping', version: '2.0' }",
"outline1.Class -> a:",
" 4:4:int outline():0:0 -> a",
"# { 'id':'com.android.tools.r8.outline' }",
"outline2.Class -> b:",
" 6:6:int outline():0:0 -> a",
"# { 'id':'com.android.tools.r8.outlineCallsite', 'positions': { '4': 43 } }",
" 42:43:int outline():0:0 -> a",
"# { 'id':'com.android.tools.r8.outline' }",
"some.Class -> c:",
" 1:1:void foo.bar.Baz.qux():42:42 -> a",
" 10:11:int outlineCaller(int):98:98 -> a",
" 28:28:int outlineCaller(int):0:0 -> a",
"# { 'id':'com.android.tools.r8.outlineCallsite', 'positions': { '42': 10, '43': 11 } }");
}
@Override
public List<String> retracedStackTrace() {
return Arrays.asList(
"java.io.IOException: INVALID_SENDER", "\tat some.Class.outlineCaller(Class.java:98)");
}
@Override
public List<String> retraceVerboseStackTrace() {
return Arrays.asList(
"java.io.IOException: INVALID_SENDER",
"\tat some.Class.int outlineCaller(int)(Class.java:98)");
}
@Override
public int expectedWarnings() {
return 0;
}
}