Search in sources :

Example 31 with LineRule

use of com.ibm.dtfj.javacore.parser.framework.tag.LineRule in project openj9 by eclipse.

the class ThreadTagParser method initThreadBlockTag.

/**
 * J9 R2.6+ only
 */
private void initThreadBlockTag() {
    // 3XMTHREADBLOCK     Blocked on: java/lang/String@0x4D8C90F8 Owned by: "main" (J9VMThread:0x00129100, java/lang/Thread:0x00DD4798)
    ILineRule lineRule = new LineRule() {

        public void processLine(String source, int startingOffset) {
            consumeUntilFirstMatch(CommonPatternMatchers.colon);
            consumeUntilFirstMatch(CommonPatternMatchers.whitespace);
            /*
				 * BLOCKER_OBJECT_FULL_JAVA_NAME
				 */
            addAllCharactersAsTokenAndConsumeFirstMatch(IThreadTypes.BLOCKER_OBJECT_FULL_JAVA_NAME, CommonPatternMatchers.at_symbol);
            /*
				 * BLOCKER_OBJECT_ADDRESS
				 */
            addPrefixedHexToken(IThreadTypes.BLOCKER_OBJECT_ADDRESS);
        }
    };
    addTag(IThreadTypes.T_3XMTHREADBLOCK, lineRule);
}
Also used : LineRule(com.ibm.dtfj.javacore.parser.framework.tag.LineRule) PointerSizeLineRule(com.ibm.dtfj.javacore.parser.j9.section.common.PointerSizeLineRule) ILineRule(com.ibm.dtfj.javacore.parser.framework.tag.ILineRule) ILineRule(com.ibm.dtfj.javacore.parser.framework.tag.ILineRule)

Aggregations

ILineRule (com.ibm.dtfj.javacore.parser.framework.tag.ILineRule)31 LineRule (com.ibm.dtfj.javacore.parser.framework.tag.LineRule)31 PointerSizeLineRule (com.ibm.dtfj.javacore.parser.j9.section.common.PointerSizeLineRule)5 IParserToken (com.ibm.dtfj.javacore.parser.framework.scanner.IParserToken)1 Matcher (java.util.regex.Matcher)1