blob: e18c6e6f5365ee05647ea54f52d51a351ce1c23d [file] [log] [blame]
// Copyright (c) 2020, 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.Diagnostic;
import com.android.tools.r8.Keep;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.position.Position;
import com.android.tools.r8.position.TextPosition;
@Keep
public class RetraceInvalidStackTraceLineDiagnostics implements Diagnostic {
private static final String NULL_STACK_TRACE_LINE_MESSAGE = "The stack trace line is <null>";
private final int lineNumber;
private final String message;
private RetraceInvalidStackTraceLineDiagnostics(int lineNumber, String message) {
this.lineNumber = lineNumber;
this.message = message;
}
@Override
public Origin getOrigin() {
return Origin.unknown();
}
@Override
public Position getPosition() {
return new TextPosition(0, lineNumber, TextPosition.UNKNOWN_COLUMN);
}
@Override
public String getDiagnosticMessage() {
return message;
}
public static RetraceInvalidStackTraceLineDiagnostics createNull(int lineNumber) {
return new RetraceInvalidStackTraceLineDiagnostics(lineNumber, NULL_STACK_TRACE_LINE_MESSAGE);
}
}