NIT: Cleanup warnings in RN Android

Summary: Easy diff that removes warnings in RN Android code related to JSResponder

Reviewed By: sahrens

Differential Revision: D16019255

fbshipit-source-id: dca8836be848feedbe19ce8a8356ea73ca5b7681
This commit is contained in:
David Vacca
2019-07-02 14:40:01 -07:00
committed by Facebook Github Bot
parent 57d1f8ae15
commit 9c20f8ae4d
4 changed files with 28 additions and 18 deletions
@@ -14,27 +14,31 @@ import java.util.regex.Pattern;
public class JSStackTrace {
private static final String LINE_NUMBER_KEY = "lineNumber";
private static final Pattern FILE_ID_PATTERN =
Pattern.compile("\\b((?:seg-\\d+(?:_\\d+)?|\\d+)\\.js)");
private static final String FILE_KEY = "file";
private static final String COLUMN_KEY = "column";
private static final String METHOD_NAME_KEY = "methodName";
public static String format(String message, ReadableArray stack) {
StringBuilder stringBuilder = new StringBuilder(message).append(", stack:\n");
for (int i = 0; i < stack.size(); i++) {
ReadableMap frame = stack.getMap(i);
stringBuilder.append(frame.getString("methodName")).append("@").append(parseFileId(frame));
stringBuilder.append(frame.getString(METHOD_NAME_KEY)).append("@").append(parseFileId(frame));
if (frame.hasKey("lineNumber")
&& !frame.isNull("lineNumber")
&& frame.getType("lineNumber") == ReadableType.Number) {
stringBuilder.append(frame.getInt("lineNumber"));
if (frame.hasKey(LINE_NUMBER_KEY)
&& !frame.isNull(LINE_NUMBER_KEY)
&& frame.getType(LINE_NUMBER_KEY) == ReadableType.Number) {
stringBuilder.append(frame.getInt(LINE_NUMBER_KEY));
} else {
stringBuilder.append(-1);
}
if (frame.hasKey("column")
&& !frame.isNull("column")
&& frame.getType("column") == ReadableType.Number) {
stringBuilder.append(":").append(frame.getInt("column"));
if (frame.hasKey(COLUMN_KEY)
&& !frame.isNull(COLUMN_KEY)
&& frame.getType(COLUMN_KEY) == ReadableType.Number) {
stringBuilder.append(":").append(frame.getInt(COLUMN_KEY));
}
stringBuilder.append("\n");
@@ -50,12 +54,15 @@ public class JSStackTrace {
// stack traces with a single source map file.
// NOTE: The ".js" suffix is kept to avoid ambiguities between "module-id:line" and "line:column".
private static String parseFileId(ReadableMap frame) {
if (frame.hasKey("file")
&& !frame.isNull("file")
&& frame.getType("file") == ReadableType.String) {
final Matcher matcher = FILE_ID_PATTERN.matcher(frame.getString("file"));
if (matcher.find()) {
return matcher.group(1) + ":";
if (frame.hasKey(FILE_KEY)
&& !frame.isNull(FILE_KEY)
&& frame.getType(FILE_KEY) == ReadableType.String) {
String file = frame.getString(FILE_KEY);
if (file != null) {
final Matcher matcher = FILE_ID_PATTERN.matcher(file);
if (matcher.find()) {
return matcher.group(1) + ":";
}
}
}
return "";