diff --git a/java/java-impl/src/com/intellij/unscramble/ThreadDumpParser.java b/java/java-impl/src/com/intellij/unscramble/ThreadDumpParser.java index 30a818b5efbf..49fab01e7815 100644 --- a/java/java-impl/src/com/intellij/unscramble/ThreadDumpParser.java +++ b/java/java-impl/src/com/intellij/unscramble/ThreadDumpParser.java @@ -204,9 +204,8 @@ public class ThreadDumpParser { line = StringUtil.replace(line, " [DAEMON]", ""); } - m = ourYourkitThreadStartPattern.matcher(line); - if (!m.matches()) m = ourYourkitThreadStartPattern2.matcher(line); - if (m.matches()) { + m = matchYourKit(line); + if (m != null) { ThreadState state = new ThreadState(m.group(1), m.group(2)); state.setDaemon(daemon); return state; @@ -214,6 +213,17 @@ public class ThreadDumpParser { return null; } + @Nullable + private static Matcher matchYourKit(String line) { + Matcher m = ourYourkitThreadStartPattern.matcher(line); + if (m.matches()) return m; + + m = ourYourkitThreadStartPattern2.matcher(line); + if (m.matches()) return m; + + return null; + } + private static boolean tryParseThreadState(final String line, final ThreadState threadState) { Matcher m = ourThreadStatePattern.matcher(line); if (m.find()) {