mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 11:20:44 +07:00
feat(IDEA-353092): early markdown jdoc support
GitOrigin-RevId: 8c02012551f1a97d3f5d6aed021889911b138b28
This commit is contained in:
committed by
intellij-monorepo-bot
parent
dc5c78e7f9
commit
3825899d51
+439
-335
@@ -1,18 +1,16 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
// Generated by JFlex 1.9.1 http://jflex.de/ (tweaked for IntelliJ platform)
|
||||
// source: _JavaDocLexer.flex
|
||||
|
||||
/* It's an automatically generated code. Do not modify it. */
|
||||
package com.intellij.lang.java.lexer;
|
||||
package com.intellij.lang.java.lexer;
|
||||
|
||||
import com.intellij.lexer.DocCommentTokenTypes;
|
||||
import com.intellij.lexer.FlexLexer;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.lexer.DocCommentTokenTypes;
|
||||
import com.intellij.lexer.FlexLexer;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
|
||||
@SuppressWarnings("ALL")
|
||||
@SuppressWarnings("ALL")
|
||||
|
||||
final class _JavaDocLexer implements FlexLexer {
|
||||
class _JavaDocLexer implements FlexLexer {
|
||||
|
||||
/** This character denotes the end of file */
|
||||
public static final int YYEOF = -1;
|
||||
@@ -105,170 +103,170 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
"\1\0\1\6\1\7\1\10\2\0\1\11\1\12\1\13"+
|
||||
"\1\14\1\0\1\15\1\16\1\17\1\20\12\21\1\22"+
|
||||
"\1\0\1\23\1\24\1\25\1\0\1\26\32\10\1\27"+
|
||||
"\1\0\1\27\1\0\1\10\1\0\1\30\1\10\1\31"+
|
||||
"\1\32\1\33\3\10\1\34\2\10\1\35\1\36\1\37"+
|
||||
"\1\40\1\41\1\10\1\42\1\43\1\44\6\10\1\45"+
|
||||
"\1\0\1\46\7\0\1\3\34\0\4\10\4\0\1\10"+
|
||||
"\12\0\1\10\4\0\1\10\5\0\27\10\1\0\37\10"+
|
||||
"\1\0\u01ca\10\4\0\14\10\16\0\5\10\7\0\1\10"+
|
||||
"\1\0\1\10\201\0\5\10\1\0\2\10\2\0\4\10"+
|
||||
"\1\0\1\10\6\0\1\10\1\0\3\10\1\0\1\10"+
|
||||
"\1\0\24\10\1\0\123\10\1\0\213\10\10\0\246\10"+
|
||||
"\1\0\46\10\2\0\1\10\6\0\51\10\6\0\1\10"+
|
||||
"\100\0\33\10\4\0\4\10\30\0\1\10\24\0\53\10"+
|
||||
"\43\0\2\10\1\0\143\10\1\0\1\10\17\0\2\10"+
|
||||
"\7\0\2\10\12\0\3\10\2\0\1\10\20\0\1\10"+
|
||||
"\1\0\36\10\35\0\131\10\13\0\1\10\30\0\41\10"+
|
||||
"\11\0\2\10\4\0\1\10\3\0\30\10\4\0\1\10"+
|
||||
"\11\0\1\10\3\0\1\10\27\0\31\10\7\0\13\10"+
|
||||
"\65\0\25\10\1\0\22\10\74\0\66\10\3\0\1\10"+
|
||||
"\22\0\1\10\7\0\12\10\17\0\20\10\4\0\10\10"+
|
||||
"\2\0\2\10\2\0\26\10\1\0\7\10\1\0\1\10"+
|
||||
"\3\0\4\10\3\0\1\10\20\0\1\10\15\0\2\10"+
|
||||
"\1\0\3\10\16\0\4\10\7\0\2\10\10\0\6\10"+
|
||||
"\4\0\2\10\2\0\26\10\1\0\7\10\1\0\2\10"+
|
||||
"\1\0\2\10\1\0\2\10\37\0\4\10\1\0\1\10"+
|
||||
"\23\0\3\10\20\0\11\10\1\0\3\10\1\0\26\10"+
|
||||
"\1\0\7\10\1\0\2\10\1\0\5\10\3\0\1\10"+
|
||||
"\22\0\1\10\17\0\2\10\17\0\1\10\7\0\1\10"+
|
||||
"\13\0\10\10\2\0\2\10\2\0\26\10\1\0\7\10"+
|
||||
"\1\0\2\10\1\0\5\10\3\0\1\10\36\0\2\10"+
|
||||
"\1\0\3\10\17\0\1\10\21\0\1\10\1\0\6\10"+
|
||||
"\3\0\3\10\1\0\4\10\3\0\2\10\1\0\1\10"+
|
||||
"\1\0\2\10\3\0\2\10\3\0\3\10\3\0\14\10"+
|
||||
"\26\0\1\10\50\0\1\10\13\0\10\10\1\0\3\10"+
|
||||
"\1\0\27\10\1\0\20\10\3\0\1\10\32\0\3\10"+
|
||||
"\5\0\2\10\36\0\1\10\4\0\10\10\1\0\3\10"+
|
||||
"\1\0\27\10\1\0\12\10\1\0\5\10\3\0\1\10"+
|
||||
"\40\0\1\10\1\0\2\10\17\0\2\10\21\0\11\10"+
|
||||
"\1\0\3\10\1\0\51\10\2\0\1\10\20\0\1\10"+
|
||||
"\5\0\3\10\10\0\3\10\30\0\6\10\5\0\22\10"+
|
||||
"\3\0\30\10\1\0\11\10\1\0\1\10\2\0\7\10"+
|
||||
"\72\0\60\10\1\0\2\10\13\0\10\10\72\0\2\10"+
|
||||
"\1\0\1\10\1\0\5\10\1\0\30\10\1\0\1\10"+
|
||||
"\1\0\12\10\1\0\2\10\11\0\1\10\2\0\5\10"+
|
||||
"\1\0\1\10\25\0\4\10\40\0\1\10\77\0\10\10"+
|
||||
"\1\0\44\10\33\0\5\10\163\0\53\10\24\0\1\10"+
|
||||
"\20\0\6\10\4\0\4\10\3\0\1\10\3\0\2\10"+
|
||||
"\7\0\3\10\4\0\15\10\14\0\1\10\21\0\46\10"+
|
||||
"\1\0\1\10\5\0\1\10\2\0\53\10\1\0\115\10"+
|
||||
"\1\0\4\10\2\0\7\10\1\0\1\10\1\0\4\10"+
|
||||
"\2\0\51\10\1\0\4\10\2\0\41\10\1\0\4\10"+
|
||||
"\2\0\7\10\1\0\1\10\1\0\4\10\2\0\17\10"+
|
||||
"\1\0\71\10\1\0\4\10\2\0\103\10\45\0\20\10"+
|
||||
"\20\0\126\10\2\0\6\10\3\0\u016c\10\2\0\21\10"+
|
||||
"\1\0\32\10\5\0\113\10\3\0\13\10\7\0\15\10"+
|
||||
"\1\0\4\10\16\0\22\10\16\0\22\10\16\0\15\10"+
|
||||
"\1\0\3\10\17\0\64\10\43\0\1\10\3\0\2\10"+
|
||||
"\103\0\131\10\7\0\5\10\2\0\42\10\1\0\1\10"+
|
||||
"\5\0\106\10\12\0\37\10\61\0\36\10\2\0\5\10"+
|
||||
"\13\0\54\10\4\0\32\10\66\0\27\10\11\0\65\10"+
|
||||
"\122\0\1\10\135\0\57\10\21\0\7\10\67\0\36\10"+
|
||||
"\15\0\2\10\12\0\54\10\32\0\44\10\51\0\3\10"+
|
||||
"\12\0\44\10\2\0\11\10\7\0\53\10\2\0\3\10"+
|
||||
"\51\0\4\10\1\0\6\10\1\0\2\10\3\0\1\10"+
|
||||
"\5\0\300\10\100\0\26\10\2\0\6\10\2\0\46\10"+
|
||||
"\2\0\6\10\2\0\10\10\1\0\1\10\1\0\1\10"+
|
||||
"\1\0\1\10\1\0\37\10\2\0\65\10\1\0\7\10"+
|
||||
"\1\0\1\10\3\0\3\10\1\0\7\10\3\0\4\10"+
|
||||
"\2\0\6\10\4\0\15\10\5\0\3\10\1\0\7\10"+
|
||||
"\53\0\2\3\25\0\2\10\23\0\1\10\34\0\1\10"+
|
||||
"\15\0\1\10\20\0\15\10\3\0\40\10\102\0\1\10"+
|
||||
"\4\0\1\10\2\0\12\10\1\0\1\10\3\0\5\10"+
|
||||
"\6\0\1\10\1\0\1\10\1\0\1\10\1\0\4\10"+
|
||||
"\1\0\13\10\2\0\4\10\5\0\5\10\4\0\1\10"+
|
||||
"\21\0\51\10\u0177\0\57\10\1\0\57\10\1\0\205\10"+
|
||||
"\6\0\4\10\3\0\2\10\14\0\46\10\1\0\1\10"+
|
||||
"\5\0\1\10\2\0\70\10\7\0\1\10\20\0\27\10"+
|
||||
"\11\0\7\10\1\0\7\10\1\0\7\10\1\0\7\10"+
|
||||
"\1\0\7\10\1\0\7\10\1\0\7\10\1\0\7\10"+
|
||||
"\120\0\1\10\325\0\3\10\31\0\11\10\7\0\5\10"+
|
||||
"\2\0\5\10\4\0\126\10\6\0\3\10\1\0\132\10"+
|
||||
"\1\0\4\10\5\0\53\10\1\0\136\10\21\0\40\10"+
|
||||
"\60\0\u010d\10\3\0\215\10\103\0\56\10\2\0\15\10"+
|
||||
"\3\0\20\10\12\0\2\10\24\0\57\10\20\0\37\10"+
|
||||
"\2\0\120\10\47\0\11\10\2\0\147\10\2\0\65\10"+
|
||||
"\2\0\11\10\52\0\15\10\1\0\3\10\1\0\4\10"+
|
||||
"\1\0\27\10\25\0\1\10\7\0\64\10\16\0\62\10"+
|
||||
"\76\0\6\10\3\0\1\10\1\0\2\10\13\0\34\10"+
|
||||
"\12\0\27\10\31\0\35\10\7\0\57\10\34\0\1\10"+
|
||||
"\20\0\5\10\1\0\12\10\12\0\5\10\1\0\51\10"+
|
||||
"\27\0\3\10\1\0\10\10\24\0\27\10\3\0\1\10"+
|
||||
"\3\0\62\10\1\0\1\10\3\0\2\10\2\0\5\10"+
|
||||
"\2\0\1\10\1\0\1\10\30\0\3\10\2\0\13\10"+
|
||||
"\7\0\3\10\14\0\6\10\2\0\6\10\2\0\6\10"+
|
||||
"\11\0\7\10\1\0\7\10\1\0\53\10\1\0\16\10"+
|
||||
"\6\0\163\10\35\0\244\10\14\0\27\10\4\0\61\10"+
|
||||
"\4\0\u0100\3\156\10\2\0\152\10\46\0\7\10\14\0"+
|
||||
"\5\10\5\0\1\10\1\0\12\10\1\0\15\10\1\0"+
|
||||
"\5\10\1\0\1\10\1\0\2\10\1\0\2\10\1\0"+
|
||||
"\154\10\41\0\153\10\22\0\100\10\2\0\66\10\50\0"+
|
||||
"\15\10\66\0\2\10\30\0\3\10\31\0\1\10\6\0"+
|
||||
"\5\10\1\0\207\10\7\0\1\10\34\0\32\10\4\0"+
|
||||
"\1\10\1\0\32\10\13\0\131\10\3\0\6\10\2\0"+
|
||||
"\6\10\2\0\6\10\2\0\3\10\3\0\2\10\3\0"+
|
||||
"\2\10\31\0\14\10\1\0\32\10\1\0\23\10\1\0"+
|
||||
"\2\10\1\0\17\10\2\0\16\10\42\0\173\10\105\0"+
|
||||
"\65\10\u010b\0\35\10\3\0\61\10\57\0\40\10\15\0"+
|
||||
"\36\10\5\0\46\10\12\0\36\10\2\0\44\10\4\0"+
|
||||
"\10\10\1\0\5\10\52\0\236\10\22\0\44\10\4\0"+
|
||||
"\44\10\4\0\50\10\10\0\64\10\234\0\67\10\11\0"+
|
||||
"\26\10\12\0\10\10\230\0\6\10\2\0\1\10\1\0"+
|
||||
"\54\10\1\0\2\10\3\0\1\10\2\0\27\10\12\0"+
|
||||
"\27\10\11\0\37\10\101\0\23\10\1\0\2\10\12\0"+
|
||||
"\26\10\12\0\32\10\106\0\70\10\6\0\2\10\100\0"+
|
||||
"\1\10\17\0\4\10\1\0\3\10\1\0\35\10\52\0"+
|
||||
"\35\10\3\0\35\10\43\0\10\10\1\0\34\10\33\0"+
|
||||
"\66\10\12\0\26\10\12\0\23\10\15\0\22\10\156\0"+
|
||||
"\111\10\67\0\63\10\15\0\63\10\15\0\44\10\u015c\0"+
|
||||
"\52\10\6\0\2\10\116\0\35\10\12\0\1\10\10\0"+
|
||||
"\26\10\152\0\25\10\33\0\27\10\14\0\65\10\113\0"+
|
||||
"\55\10\40\0\31\10\32\0\44\10\35\0\1\10\2\0"+
|
||||
"\1\10\10\0\43\10\3\0\1\10\14\0\60\10\16\0"+
|
||||
"\4\10\25\0\1\10\1\0\1\10\43\0\22\10\1\0"+
|
||||
"\31\10\124\0\7\10\1\0\1\10\1\0\4\10\1\0"+
|
||||
"\17\10\1\0\12\10\7\0\57\10\46\0\10\10\2\0"+
|
||||
"\2\10\2\0\26\10\1\0\7\10\1\0\2\10\1\0"+
|
||||
"\5\10\3\0\1\10\22\0\1\10\14\0\5\10\236\0"+
|
||||
"\65\10\22\0\4\10\24\0\3\10\36\0\60\10\24\0"+
|
||||
"\2\10\1\0\1\10\270\0\57\10\51\0\4\10\44\0"+
|
||||
"\60\10\24\0\1\10\73\0\53\10\15\0\1\10\107\0"+
|
||||
"\33\10\345\0\54\10\164\0\100\10\37\0\10\10\2\0"+
|
||||
"\1\10\2\0\10\10\1\0\2\10\1\0\30\10\17\0"+
|
||||
"\1\10\1\0\1\10\136\0\10\10\2\0\47\10\20\0"+
|
||||
"\1\10\1\0\1\10\34\0\1\10\12\0\50\10\7\0"+
|
||||
"\1\10\25\0\1\10\13\0\56\10\23\0\1\10\42\0"+
|
||||
"\71\10\7\0\11\10\1\0\45\10\21\0\1\10\61\0"+
|
||||
"\36\10\160\0\7\10\1\0\2\10\1\0\46\10\25\0"+
|
||||
"\1\10\31\0\6\10\1\0\2\10\1\0\40\10\16\0"+
|
||||
"\1\10\u0147\0\23\10\275\0\1\10\54\0\4\10\37\0"+
|
||||
"\232\10\146\0\157\10\21\0\304\10\274\0\57\10\321\0"+
|
||||
"\107\10\271\0\71\10\7\0\37\10\161\0\36\10\22\0"+
|
||||
"\60\10\20\0\4\10\37\0\25\10\5\0\23\10\260\0"+
|
||||
"\100\10\200\0\113\10\5\0\1\10\102\0\15\10\100\0"+
|
||||
"\2\10\1\0\1\10\34\0\370\10\10\0\326\10\52\0"+
|
||||
"\11\10\367\0\37\10\61\0\3\10\21\0\4\10\10\0"+
|
||||
"\u018c\10\4\0\153\10\5\0\15\10\3\0\11\10\7\0"+
|
||||
"\12\10\146\0\125\10\1\0\107\10\1\0\2\10\2\0"+
|
||||
"\1\10\2\0\2\10\2\0\4\10\1\0\14\10\1\0"+
|
||||
"\1\10\1\0\7\10\1\0\101\10\1\0\4\10\2\0"+
|
||||
"\10\10\1\0\7\10\1\0\34\10\1\0\4\10\1\0"+
|
||||
"\5\10\1\0\1\10\3\0\7\10\1\0\u0154\10\2\0"+
|
||||
"\31\10\1\0\31\10\1\0\37\10\1\0\31\10\1\0"+
|
||||
"\37\10\1\0\31\10\1\0\37\10\1\0\31\10\1\0"+
|
||||
"\37\10\1\0\31\10\1\0\10\10\64\0\55\10\12\0"+
|
||||
"\7\10\20\0\1\10\u0171\0\54\10\23\0\306\10\73\0"+
|
||||
"\104\10\7\0\1\10\u0164\0\1\10\117\0\4\10\1\0"+
|
||||
"\33\10\1\0\2\10\1\0\1\10\2\0\1\10\1\0"+
|
||||
"\12\10\1\0\4\10\1\0\1\10\1\0\1\10\6\0"+
|
||||
"\1\10\4\0\1\10\1\0\1\10\1\0\1\10\1\0"+
|
||||
"\3\10\1\0\2\10\1\0\1\10\2\0\1\10\1\0"+
|
||||
"\1\10\1\0\1\10\1\0\1\10\1\0\1\10\1\0"+
|
||||
"\2\10\1\0\1\10\2\0\4\10\1\0\7\10\1\0"+
|
||||
"\4\10\1\0\4\10\1\0\1\10\1\0\12\10\1\0"+
|
||||
"\21\10\5\0\3\10\1\0\5\10\1\0\21\10\104\0"+
|
||||
"\336\10\42\0\65\10\13\0\336\10\2\0\u0182\10\16\0"+
|
||||
"\u0131\10\37\0\36\10\342\0\113\10\265\0";
|
||||
"\1\30\1\31\1\0\1\10\1\32\1\33\1\10\1\34"+
|
||||
"\1\35\1\36\3\10\1\37\2\10\1\40\1\41\1\42"+
|
||||
"\1\43\1\44\1\10\1\45\1\46\1\47\6\10\1\50"+
|
||||
"\1\0\1\51\1\52\6\0\1\3\34\0\4\10\4\0"+
|
||||
"\1\10\12\0\1\10\4\0\1\10\5\0\27\10\1\0"+
|
||||
"\37\10\1\0\u01ca\10\4\0\14\10\16\0\5\10\7\0"+
|
||||
"\1\10\1\0\1\10\201\0\5\10\1\0\2\10\2\0"+
|
||||
"\4\10\1\0\1\10\6\0\1\10\1\0\3\10\1\0"+
|
||||
"\1\10\1\0\24\10\1\0\123\10\1\0\213\10\10\0"+
|
||||
"\246\10\1\0\46\10\2\0\1\10\6\0\51\10\6\0"+
|
||||
"\1\10\100\0\33\10\4\0\4\10\30\0\1\10\24\0"+
|
||||
"\53\10\43\0\2\10\1\0\143\10\1\0\1\10\17\0"+
|
||||
"\2\10\7\0\2\10\12\0\3\10\2\0\1\10\20\0"+
|
||||
"\1\10\1\0\36\10\35\0\131\10\13\0\1\10\30\0"+
|
||||
"\41\10\11\0\2\10\4\0\1\10\3\0\30\10\4\0"+
|
||||
"\1\10\11\0\1\10\3\0\1\10\27\0\31\10\7\0"+
|
||||
"\13\10\65\0\25\10\1\0\22\10\74\0\66\10\3\0"+
|
||||
"\1\10\22\0\1\10\7\0\12\10\17\0\20\10\4\0"+
|
||||
"\10\10\2\0\2\10\2\0\26\10\1\0\7\10\1\0"+
|
||||
"\1\10\3\0\4\10\3\0\1\10\20\0\1\10\15\0"+
|
||||
"\2\10\1\0\3\10\16\0\4\10\7\0\2\10\10\0"+
|
||||
"\6\10\4\0\2\10\2\0\26\10\1\0\7\10\1\0"+
|
||||
"\2\10\1\0\2\10\1\0\2\10\37\0\4\10\1\0"+
|
||||
"\1\10\23\0\3\10\20\0\11\10\1\0\3\10\1\0"+
|
||||
"\26\10\1\0\7\10\1\0\2\10\1\0\5\10\3\0"+
|
||||
"\1\10\22\0\1\10\17\0\2\10\17\0\1\10\7\0"+
|
||||
"\1\10\13\0\10\10\2\0\2\10\2\0\26\10\1\0"+
|
||||
"\7\10\1\0\2\10\1\0\5\10\3\0\1\10\36\0"+
|
||||
"\2\10\1\0\3\10\17\0\1\10\21\0\1\10\1\0"+
|
||||
"\6\10\3\0\3\10\1\0\4\10\3\0\2\10\1\0"+
|
||||
"\1\10\1\0\2\10\3\0\2\10\3\0\3\10\3\0"+
|
||||
"\14\10\26\0\1\10\50\0\1\10\13\0\10\10\1\0"+
|
||||
"\3\10\1\0\27\10\1\0\20\10\3\0\1\10\32\0"+
|
||||
"\3\10\5\0\2\10\36\0\1\10\4\0\10\10\1\0"+
|
||||
"\3\10\1\0\27\10\1\0\12\10\1\0\5\10\3\0"+
|
||||
"\1\10\40\0\1\10\1\0\2\10\17\0\2\10\21\0"+
|
||||
"\11\10\1\0\3\10\1\0\51\10\2\0\1\10\20\0"+
|
||||
"\1\10\5\0\3\10\10\0\3\10\30\0\6\10\5\0"+
|
||||
"\22\10\3\0\30\10\1\0\11\10\1\0\1\10\2\0"+
|
||||
"\7\10\72\0\60\10\1\0\2\10\13\0\10\10\72\0"+
|
||||
"\2\10\1\0\1\10\1\0\5\10\1\0\30\10\1\0"+
|
||||
"\1\10\1\0\12\10\1\0\2\10\11\0\1\10\2\0"+
|
||||
"\5\10\1\0\1\10\25\0\4\10\40\0\1\10\77\0"+
|
||||
"\10\10\1\0\44\10\33\0\5\10\163\0\53\10\24\0"+
|
||||
"\1\10\20\0\6\10\4\0\4\10\3\0\1\10\3\0"+
|
||||
"\2\10\7\0\3\10\4\0\15\10\14\0\1\10\21\0"+
|
||||
"\46\10\1\0\1\10\5\0\1\10\2\0\53\10\1\0"+
|
||||
"\115\10\1\0\4\10\2\0\7\10\1\0\1\10\1\0"+
|
||||
"\4\10\2\0\51\10\1\0\4\10\2\0\41\10\1\0"+
|
||||
"\4\10\2\0\7\10\1\0\1\10\1\0\4\10\2\0"+
|
||||
"\17\10\1\0\71\10\1\0\4\10\2\0\103\10\45\0"+
|
||||
"\20\10\20\0\126\10\2\0\6\10\3\0\u016c\10\2\0"+
|
||||
"\21\10\1\0\32\10\5\0\113\10\3\0\13\10\7\0"+
|
||||
"\15\10\1\0\4\10\16\0\22\10\16\0\22\10\16\0"+
|
||||
"\15\10\1\0\3\10\17\0\64\10\43\0\1\10\3\0"+
|
||||
"\2\10\103\0\131\10\7\0\5\10\2\0\42\10\1\0"+
|
||||
"\1\10\5\0\106\10\12\0\37\10\61\0\36\10\2\0"+
|
||||
"\5\10\13\0\54\10\4\0\32\10\66\0\27\10\11\0"+
|
||||
"\65\10\122\0\1\10\135\0\57\10\21\0\7\10\67\0"+
|
||||
"\36\10\15\0\2\10\12\0\54\10\32\0\44\10\51\0"+
|
||||
"\3\10\12\0\44\10\2\0\11\10\7\0\53\10\2\0"+
|
||||
"\3\10\51\0\4\10\1\0\6\10\1\0\2\10\3\0"+
|
||||
"\1\10\5\0\300\10\100\0\26\10\2\0\6\10\2\0"+
|
||||
"\46\10\2\0\6\10\2\0\10\10\1\0\1\10\1\0"+
|
||||
"\1\10\1\0\1\10\1\0\37\10\2\0\65\10\1\0"+
|
||||
"\7\10\1\0\1\10\3\0\3\10\1\0\7\10\3\0"+
|
||||
"\4\10\2\0\6\10\4\0\15\10\5\0\3\10\1\0"+
|
||||
"\7\10\53\0\2\3\25\0\2\10\23\0\1\10\34\0"+
|
||||
"\1\10\15\0\1\10\20\0\15\10\3\0\40\10\102\0"+
|
||||
"\1\10\4\0\1\10\2\0\12\10\1\0\1\10\3\0"+
|
||||
"\5\10\6\0\1\10\1\0\1\10\1\0\1\10\1\0"+
|
||||
"\4\10\1\0\13\10\2\0\4\10\5\0\5\10\4\0"+
|
||||
"\1\10\21\0\51\10\u0177\0\57\10\1\0\57\10\1\0"+
|
||||
"\205\10\6\0\4\10\3\0\2\10\14\0\46\10\1\0"+
|
||||
"\1\10\5\0\1\10\2\0\70\10\7\0\1\10\20\0"+
|
||||
"\27\10\11\0\7\10\1\0\7\10\1\0\7\10\1\0"+
|
||||
"\7\10\1\0\7\10\1\0\7\10\1\0\7\10\1\0"+
|
||||
"\7\10\120\0\1\10\325\0\3\10\31\0\11\10\7\0"+
|
||||
"\5\10\2\0\5\10\4\0\126\10\6\0\3\10\1\0"+
|
||||
"\132\10\1\0\4\10\5\0\53\10\1\0\136\10\21\0"+
|
||||
"\40\10\60\0\u010d\10\3\0\215\10\103\0\56\10\2\0"+
|
||||
"\15\10\3\0\20\10\12\0\2\10\24\0\57\10\20\0"+
|
||||
"\37\10\2\0\120\10\47\0\11\10\2\0\147\10\2\0"+
|
||||
"\65\10\2\0\11\10\52\0\15\10\1\0\3\10\1\0"+
|
||||
"\4\10\1\0\27\10\25\0\1\10\7\0\64\10\16\0"+
|
||||
"\62\10\76\0\6\10\3\0\1\10\1\0\2\10\13\0"+
|
||||
"\34\10\12\0\27\10\31\0\35\10\7\0\57\10\34\0"+
|
||||
"\1\10\20\0\5\10\1\0\12\10\12\0\5\10\1\0"+
|
||||
"\51\10\27\0\3\10\1\0\10\10\24\0\27\10\3\0"+
|
||||
"\1\10\3\0\62\10\1\0\1\10\3\0\2\10\2\0"+
|
||||
"\5\10\2\0\1\10\1\0\1\10\30\0\3\10\2\0"+
|
||||
"\13\10\7\0\3\10\14\0\6\10\2\0\6\10\2\0"+
|
||||
"\6\10\11\0\7\10\1\0\7\10\1\0\53\10\1\0"+
|
||||
"\16\10\6\0\163\10\35\0\244\10\14\0\27\10\4\0"+
|
||||
"\61\10\4\0\u0100\3\156\10\2\0\152\10\46\0\7\10"+
|
||||
"\14\0\5\10\5\0\1\10\1\0\12\10\1\0\15\10"+
|
||||
"\1\0\5\10\1\0\1\10\1\0\2\10\1\0\2\10"+
|
||||
"\1\0\154\10\41\0\153\10\22\0\100\10\2\0\66\10"+
|
||||
"\50\0\15\10\66\0\2\10\30\0\3\10\31\0\1\10"+
|
||||
"\6\0\5\10\1\0\207\10\7\0\1\10\34\0\32\10"+
|
||||
"\4\0\1\10\1\0\32\10\13\0\131\10\3\0\6\10"+
|
||||
"\2\0\6\10\2\0\6\10\2\0\3\10\3\0\2\10"+
|
||||
"\3\0\2\10\31\0\14\10\1\0\32\10\1\0\23\10"+
|
||||
"\1\0\2\10\1\0\17\10\2\0\16\10\42\0\173\10"+
|
||||
"\105\0\65\10\u010b\0\35\10\3\0\61\10\57\0\40\10"+
|
||||
"\15\0\36\10\5\0\46\10\12\0\36\10\2\0\44\10"+
|
||||
"\4\0\10\10\1\0\5\10\52\0\236\10\22\0\44\10"+
|
||||
"\4\0\44\10\4\0\50\10\10\0\64\10\234\0\67\10"+
|
||||
"\11\0\26\10\12\0\10\10\230\0\6\10\2\0\1\10"+
|
||||
"\1\0\54\10\1\0\2\10\3\0\1\10\2\0\27\10"+
|
||||
"\12\0\27\10\11\0\37\10\101\0\23\10\1\0\2\10"+
|
||||
"\12\0\26\10\12\0\32\10\106\0\70\10\6\0\2\10"+
|
||||
"\100\0\1\10\17\0\4\10\1\0\3\10\1\0\35\10"+
|
||||
"\52\0\35\10\3\0\35\10\43\0\10\10\1\0\34\10"+
|
||||
"\33\0\66\10\12\0\26\10\12\0\23\10\15\0\22\10"+
|
||||
"\156\0\111\10\67\0\63\10\15\0\63\10\15\0\44\10"+
|
||||
"\u015c\0\52\10\6\0\2\10\116\0\35\10\12\0\1\10"+
|
||||
"\10\0\26\10\152\0\25\10\33\0\27\10\14\0\65\10"+
|
||||
"\113\0\55\10\40\0\31\10\32\0\44\10\35\0\1\10"+
|
||||
"\2\0\1\10\10\0\43\10\3\0\1\10\14\0\60\10"+
|
||||
"\16\0\4\10\25\0\1\10\1\0\1\10\43\0\22\10"+
|
||||
"\1\0\31\10\124\0\7\10\1\0\1\10\1\0\4\10"+
|
||||
"\1\0\17\10\1\0\12\10\7\0\57\10\46\0\10\10"+
|
||||
"\2\0\2\10\2\0\26\10\1\0\7\10\1\0\2\10"+
|
||||
"\1\0\5\10\3\0\1\10\22\0\1\10\14\0\5\10"+
|
||||
"\236\0\65\10\22\0\4\10\24\0\3\10\36\0\60\10"+
|
||||
"\24\0\2\10\1\0\1\10\270\0\57\10\51\0\4\10"+
|
||||
"\44\0\60\10\24\0\1\10\73\0\53\10\15\0\1\10"+
|
||||
"\107\0\33\10\345\0\54\10\164\0\100\10\37\0\10\10"+
|
||||
"\2\0\1\10\2\0\10\10\1\0\2\10\1\0\30\10"+
|
||||
"\17\0\1\10\1\0\1\10\136\0\10\10\2\0\47\10"+
|
||||
"\20\0\1\10\1\0\1\10\34\0\1\10\12\0\50\10"+
|
||||
"\7\0\1\10\25\0\1\10\13\0\56\10\23\0\1\10"+
|
||||
"\42\0\71\10\7\0\11\10\1\0\45\10\21\0\1\10"+
|
||||
"\61\0\36\10\160\0\7\10\1\0\2\10\1\0\46\10"+
|
||||
"\25\0\1\10\31\0\6\10\1\0\2\10\1\0\40\10"+
|
||||
"\16\0\1\10\u0147\0\23\10\275\0\1\10\54\0\4\10"+
|
||||
"\37\0\232\10\146\0\157\10\21\0\304\10\274\0\57\10"+
|
||||
"\321\0\107\10\271\0\71\10\7\0\37\10\161\0\36\10"+
|
||||
"\22\0\60\10\20\0\4\10\37\0\25\10\5\0\23\10"+
|
||||
"\260\0\100\10\200\0\113\10\5\0\1\10\102\0\15\10"+
|
||||
"\100\0\2\10\1\0\1\10\34\0\370\10\10\0\326\10"+
|
||||
"\52\0\11\10\367\0\37\10\61\0\3\10\21\0\4\10"+
|
||||
"\10\0\u018c\10\4\0\153\10\5\0\15\10\3\0\11\10"+
|
||||
"\7\0\12\10\146\0\125\10\1\0\107\10\1\0\2\10"+
|
||||
"\2\0\1\10\2\0\2\10\2\0\4\10\1\0\14\10"+
|
||||
"\1\0\1\10\1\0\7\10\1\0\101\10\1\0\4\10"+
|
||||
"\2\0\10\10\1\0\7\10\1\0\34\10\1\0\4\10"+
|
||||
"\1\0\5\10\1\0\1\10\3\0\7\10\1\0\u0154\10"+
|
||||
"\2\0\31\10\1\0\31\10\1\0\37\10\1\0\31\10"+
|
||||
"\1\0\37\10\1\0\31\10\1\0\37\10\1\0\31\10"+
|
||||
"\1\0\37\10\1\0\31\10\1\0\10\10\64\0\55\10"+
|
||||
"\12\0\7\10\20\0\1\10\u0171\0\54\10\23\0\306\10"+
|
||||
"\73\0\104\10\7\0\1\10\u0164\0\1\10\117\0\4\10"+
|
||||
"\1\0\33\10\1\0\2\10\1\0\1\10\2\0\1\10"+
|
||||
"\1\0\12\10\1\0\4\10\1\0\1\10\1\0\1\10"+
|
||||
"\6\0\1\10\4\0\1\10\1\0\1\10\1\0\1\10"+
|
||||
"\1\0\3\10\1\0\2\10\1\0\1\10\2\0\1\10"+
|
||||
"\1\0\1\10\1\0\1\10\1\0\1\10\1\0\1\10"+
|
||||
"\1\0\2\10\1\0\1\10\2\0\4\10\1\0\7\10"+
|
||||
"\1\0\4\10\1\0\4\10\1\0\1\10\1\0\12\10"+
|
||||
"\1\0\21\10\5\0\3\10\1\0\5\10\1\0\21\10"+
|
||||
"\104\0\336\10\42\0\65\10\13\0\336\10\2\0\u0182\10"+
|
||||
"\16\0\u0131\10\37\0\36\10\342\0\113\10\265\0";
|
||||
|
||||
private static int [] zzUnpackcmap_blocks() {
|
||||
int [] result = new int[29184];
|
||||
@@ -295,16 +293,19 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
private static final int [] ZZ_ACTION = zzUnpackAction();
|
||||
|
||||
private static final String ZZ_ACTION_PACKED_0 =
|
||||
"\17\0\3\1\1\2\1\3\2\2\1\4\1\5\1\6"+
|
||||
"\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
|
||||
"\1\17\1\13\1\20\1\1\2\21\1\22\1\21\1\23"+
|
||||
"\1\24\1\13\1\25\1\26\1\27\1\13\1\6\1\3"+
|
||||
"\1\30\1\31\1\13\1\3\1\32\1\5\1\13\1\3"+
|
||||
"\1\5\1\0\1\33\1\0\7\34\1\35\13\34\1\36"+
|
||||
"\3\34\1\37\1\34\1\37\3\34\1\40";
|
||||
"\17\0\3\1\1\2\1\3\1\4\1\5\1\6\2\2"+
|
||||
"\1\7\1\2\1\10\1\2\1\11\1\12\1\2\1\13"+
|
||||
"\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23"+
|
||||
"\1\24\1\20\1\25\1\1\2\26\1\27\1\26\1\30"+
|
||||
"\1\31\1\20\1\32\1\33\1\30\1\34\1\20\1\13"+
|
||||
"\1\3\1\35\1\36\1\20\1\3\1\37\1\12\1\20"+
|
||||
"\1\3\1\12\1\0\1\40\2\0\2\41\2\0\5\41"+
|
||||
"\1\0\1\42\1\43\1\41\2\44\4\41\1\45\1\41"+
|
||||
"\2\44\5\41\2\44\1\46\3\41\1\47\2\44\1\41"+
|
||||
"\1\47\1\41\2\44\2\41\2\44\1\50\27\44";
|
||||
|
||||
private static int [] zzUnpackAction() {
|
||||
int [] result = new int[92];
|
||||
int [] result = new int[142];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -329,21 +330,27 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
|
||||
|
||||
private static final String ZZ_ROWMAP_PACKED_0 =
|
||||
"\0\0\0\47\0\116\0\165\0\234\0\303\0\352\0\u0111"+
|
||||
"\0\u0138\0\u015f\0\u0186\0\u01ad\0\u01d4\0\u01fb\0\u0222\0\u0249"+
|
||||
"\0\u0270\0\u0297\0\u0249\0\u02be\0\u0270\0\u02e5\0\u0249\0\u0249"+
|
||||
"\0\u030c\0\u0333\0\u035a\0\u0381\0\u0249\0\u03a8\0\u0249\0\u0249"+
|
||||
"\0\u0249\0\u0249\0\u03cf\0\u0249\0\u03f6\0\u0249\0\u041d\0\u041d"+
|
||||
"\0\u0270\0\u0249\0\u0249\0\u0444\0\u0249\0\u0270\0\u0249\0\u0249"+
|
||||
"\0\u046b\0\u0492\0\u0249\0\u0249\0\u04b9\0\u04e0\0\u0249\0\u04b9"+
|
||||
"\0\u0507\0\u052e\0\u0507\0\u0270\0\u0249\0\u0555\0\u057c\0\u05a3"+
|
||||
"\0\u05ca\0\u05f1\0\u0618\0\u063f\0\u0666\0\u0249\0\u068d\0\u06b4"+
|
||||
"\0\u06db\0\u0702\0\u0729\0\u0750\0\u0777\0\u079e\0\u07c5\0\u07ec"+
|
||||
"\0\u0813\0\u05ca\0\u083a\0\u0861\0\u0888\0\u057c\0\u08af\0\u05ca"+
|
||||
"\0\u08d6\0\u08fd\0\u0924\0\u05ca";
|
||||
"\0\0\0\53\0\126\0\201\0\254\0\327\0\u0102\0\u012d"+
|
||||
"\0\u0158\0\u0183\0\u01ae\0\u01d9\0\u0204\0\u022f\0\u025a\0\u0285"+
|
||||
"\0\u02b0\0\u02db\0\u0285\0\u0306\0\u0285\0\u0285\0\u0285\0\u02b0"+
|
||||
"\0\u0331\0\u0285\0\u035c\0\u0285\0\u0387\0\u0285\0\u0285\0\u03b2"+
|
||||
"\0\u03dd\0\u0408\0\u0433\0\u045e\0\u0285\0\u0489\0\u0285\0\u0285"+
|
||||
"\0\u0285\0\u0285\0\u04b4\0\u0285\0\u04df\0\u0285\0\u050a\0\u050a"+
|
||||
"\0\u02b0\0\u0285\0\u0285\0\u0535\0\u0285\0\u02b0\0\u0560\0\u0285"+
|
||||
"\0\u0285\0\u058b\0\u05b6\0\u0285\0\u0285\0\u05e1\0\u060c\0\u0285"+
|
||||
"\0\u05e1\0\u0637\0\u0662\0\u0637\0\u02b0\0\u0285\0\u068d\0\u06b8"+
|
||||
"\0\u06e3\0\u070e\0\u0739\0\u0764\0\u078f\0\u07ba\0\u07e5\0\u0810"+
|
||||
"\0\u083b\0\u0866\0\u0285\0\u0285\0\u0891\0\u08bc\0\u08e7\0\u0912"+
|
||||
"\0\u093d\0\u0968\0\u0993\0\u0285\0\u09be\0\u09e9\0\u0a14\0\u0a3f"+
|
||||
"\0\u0a6a\0\u0a95\0\u0ac0\0\u0aeb\0\u0b16\0\u0b41\0\u078f\0\u0b6c"+
|
||||
"\0\u0b97\0\u0bc2\0\u06e3\0\u0bed\0\u0c18\0\u0c43\0\u078f\0\u0c6e"+
|
||||
"\0\u0c99\0\u0cc4\0\u0cef\0\u0d1a\0\u0d45\0\u0d70\0\u078f\0\u0d9b"+
|
||||
"\0\u0dc6\0\u0df1\0\u0e1c\0\u0e47\0\u0e72\0\u0e9d\0\u0ec8\0\u0ef3"+
|
||||
"\0\u0f1e\0\u0f49\0\u0f74\0\u0f9f\0\u0fca\0\u0ff5\0\u1020\0\u104b"+
|
||||
"\0\u1076\0\u10a1\0\u10cc\0\u10f7\0\u1122\0\u0285";
|
||||
|
||||
private static int [] zzUnpackRowMap() {
|
||||
int [] result = new int[92];
|
||||
int [] result = new int[142];
|
||||
int offset = 0;
|
||||
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -366,67 +373,84 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
private static final int [] ZZ_TRANS = zzUnpacktrans();
|
||||
|
||||
private static final String ZZ_TRANS_PACKED_0 =
|
||||
"\14\20\1\21\3\20\1\22\26\20\1\23\2\24\1\20"+
|
||||
"\2\24\6\23\1\25\11\23\1\26\16\23\1\27\1\30"+
|
||||
"\1\23\1\31\1\24\1\20\1\31\1\24\6\23\1\25"+
|
||||
"\30\23\1\27\1\30\1\20\2\32\1\20\2\32\6\20"+
|
||||
"\1\21\31\20\1\30\1\20\2\33\1\20\2\33\6\20"+
|
||||
"\1\21\32\20\1\23\2\34\1\20\2\34\1\23\1\35"+
|
||||
"\1\36\1\23\1\37\1\23\1\25\1\40\1\23\1\36"+
|
||||
"\1\23\1\36\1\23\1\41\3\23\16\36\1\23\1\30"+
|
||||
"\1\20\2\24\1\20\2\24\2\20\1\36\2\20\1\42"+
|
||||
"\1\21\1\40\1\20\1\36\1\20\1\36\5\20\16\36"+
|
||||
"\12\20\1\43\3\20\1\21\10\20\1\44\2\20\15\43"+
|
||||
"\16\20\1\21\11\20\1\45\20\20\1\46\1\47\1\50"+
|
||||
"\1\20\2\50\6\46\1\51\30\46\1\27\1\30\1\46"+
|
||||
"\1\47\1\50\1\20\2\50\6\46\1\51\31\46\1\30"+
|
||||
"\1\52\2\24\1\52\2\24\1\53\1\52\1\54\1\55"+
|
||||
"\2\52\1\56\5\52\1\57\1\52\1\60\3\52\15\54"+
|
||||
"\1\52\1\30\1\61\1\62\1\24\1\61\2\62\37\61"+
|
||||
"\1\63\1\64\1\65\1\66\1\24\1\65\2\66\1\67"+
|
||||
"\37\65\1\70\1\71\1\72\1\24\1\71\2\72\3\71"+
|
||||
"\1\67\34\71\1\73\63\0\1\74\3\0\1\75\42\0"+
|
||||
"\1\76\33\0\2\24\1\0\2\24\41\0\1\77\2\0"+
|
||||
"\1\77\2\0\33\77\1\100\5\77\1\0\1\31\2\0"+
|
||||
"\1\31\43\0\2\32\1\0\2\32\42\0\2\33\1\0"+
|
||||
"\2\33\42\0\2\34\1\0\2\34\51\0\1\36\6\0"+
|
||||
"\1\36\1\0\1\36\5\0\16\36\12\0\1\43\5\0"+
|
||||
"\2\43\1\0\2\43\5\0\15\43\2\0\1\101\2\0"+
|
||||
"\1\101\2\0\23\101\1\102\3\101\1\103\3\101\1\104"+
|
||||
"\1\101\1\105\2\101\2\0\2\50\1\0\2\50\51\0"+
|
||||
"\1\54\10\0\1\54\6\0\15\54\2\0\2\61\1\0"+
|
||||
"\42\61\2\0\1\61\1\62\1\24\1\61\2\62\37\61"+
|
||||
"\2\0\2\65\1\0\3\65\1\0\41\65\1\66\1\24"+
|
||||
"\1\65\2\66\1\0\40\65\2\71\1\0\6\71\1\0"+
|
||||
"\36\71\1\72\1\24\1\71\2\72\3\71\1\0\35\71"+
|
||||
"\14\0\1\106\32\0\1\77\2\0\1\77\2\0\42\77"+
|
||||
"\2\0\1\77\2\0\22\77\1\107\16\77\1\101\2\0"+
|
||||
"\1\101\2\0\40\101\1\0\1\101\2\0\1\101\2\0"+
|
||||
"\32\101\1\110\5\101\1\0\1\101\2\0\1\101\2\0"+
|
||||
"\26\101\1\111\11\101\1\0\1\101\2\0\1\101\2\0"+
|
||||
"\22\101\1\112\15\101\1\0\1\101\2\0\1\101\2\0"+
|
||||
"\31\101\1\113\6\101\1\0\1\77\2\0\1\77\2\0"+
|
||||
"\34\77\1\114\4\77\1\101\2\0\1\101\2\0\24\101"+
|
||||
"\1\115\13\101\1\0\1\101\2\0\1\101\2\0\36\101"+
|
||||
"\1\116\1\101\1\0\1\101\2\0\1\101\2\0\34\101"+
|
||||
"\1\117\3\101\1\0\1\101\2\0\1\101\2\0\26\101"+
|
||||
"\1\120\11\101\1\0\1\77\2\0\1\77\2\0\22\77"+
|
||||
"\1\121\16\77\1\101\2\0\1\101\2\0\25\101\1\122"+
|
||||
"\12\101\1\0\1\101\2\0\1\101\2\0\25\101\1\123"+
|
||||
"\12\101\1\0\1\101\2\0\1\101\2\0\22\101\1\124"+
|
||||
"\15\101\1\0\1\101\2\0\1\101\2\0\33\101\1\125"+
|
||||
"\4\101\1\0\1\77\2\0\1\77\2\0\30\77\1\126"+
|
||||
"\10\77\1\101\2\0\1\101\2\0\34\101\1\127\3\101"+
|
||||
"\1\0\1\101\2\0\1\101\2\0\30\101\1\130\7\101"+
|
||||
"\1\0\1\101\2\0\1\101\2\0\33\101\1\131\4\101"+
|
||||
"\1\0\1\101\2\0\1\101\2\0\22\101\1\132\15\101"+
|
||||
"\1\0\1\101\2\0\1\101\2\0\25\101\1\133\12\101"+
|
||||
"\1\0\1\101\2\0\1\101\2\0\27\101\1\122\10\101"+
|
||||
"\1\0\1\101\2\0\1\101\2\0\36\101\1\134\1\101"+
|
||||
"\1\0";
|
||||
"\14\20\1\21\3\20\1\22\32\20\1\23\2\24\1\20"+
|
||||
"\2\24\1\23\1\25\2\23\1\26\1\27\1\30\11\23"+
|
||||
"\1\31\1\32\1\33\1\34\1\35\15\23\1\36\1\37"+
|
||||
"\1\40\1\23\1\41\1\24\1\20\1\41\1\24\1\23"+
|
||||
"\1\25\2\23\1\26\1\27\1\30\12\23\1\32\1\33"+
|
||||
"\1\34\1\35\15\23\1\36\1\37\1\40\1\20\2\42"+
|
||||
"\1\20\2\42\6\20\1\21\34\20\1\37\2\20\2\43"+
|
||||
"\1\20\2\43\6\20\1\21\36\20\1\23\2\44\1\20"+
|
||||
"\2\44\1\23\1\45\1\46\1\23\1\47\1\23\1\30"+
|
||||
"\1\50\1\23\1\46\1\23\1\46\1\23\1\51\3\23"+
|
||||
"\1\46\1\23\1\46\1\23\15\46\1\23\1\37\1\23"+
|
||||
"\1\20\2\24\1\20\2\24\2\20\1\46\2\20\1\52"+
|
||||
"\1\21\1\50\1\20\1\46\1\20\1\46\5\20\1\46"+
|
||||
"\1\20\1\46\1\20\15\46\13\20\1\53\3\20\1\21"+
|
||||
"\10\20\1\54\5\20\15\53\17\20\1\21\11\20\1\55"+
|
||||
"\24\20\1\56\1\57\1\60\1\20\2\60\6\56\1\61"+
|
||||
"\33\56\1\36\1\37\2\56\1\57\1\60\1\20\2\60"+
|
||||
"\6\56\1\61\34\56\1\37\1\56\1\62\2\24\1\62"+
|
||||
"\2\24\1\63\1\62\1\64\1\65\2\62\1\66\3\62"+
|
||||
"\1\67\1\62\1\70\1\62\1\71\6\62\15\64\1\62"+
|
||||
"\1\37\1\62\1\72\1\73\1\24\1\72\2\73\42\72"+
|
||||
"\1\74\1\75\1\72\1\76\1\77\1\24\1\76\2\77"+
|
||||
"\1\100\42\76\1\101\1\76\1\102\1\103\1\24\1\102"+
|
||||
"\2\103\3\102\1\100\37\102\1\104\1\102\67\0\1\105"+
|
||||
"\3\0\1\106\46\0\1\107\3\0\1\110\33\0\2\24"+
|
||||
"\1\0\2\24\45\0\1\111\2\0\1\111\2\0\36\111"+
|
||||
"\1\112\6\111\12\0\2\23\13\0\1\23\1\0\1\23"+
|
||||
"\53\0\1\113\72\0\1\114\1\0\1\41\2\0\1\41"+
|
||||
"\47\0\2\42\1\0\2\42\46\0\2\43\1\0\2\43"+
|
||||
"\46\0\2\44\1\0\2\44\55\0\1\46\6\0\1\46"+
|
||||
"\1\0\1\46\5\0\1\46\1\0\1\46\1\0\15\46"+
|
||||
"\13\0\1\53\5\0\2\53\1\0\2\53\10\0\15\53"+
|
||||
"\3\0\1\115\2\0\1\115\2\0\26\115\1\116\3\115"+
|
||||
"\1\117\3\115\1\120\1\115\1\121\2\115\1\0\1\115"+
|
||||
"\1\0\2\60\1\0\2\60\55\0\1\64\10\0\1\64"+
|
||||
"\11\0\15\64\23\0\1\122\32\0\2\72\1\0\45\72"+
|
||||
"\2\0\2\72\1\73\1\24\1\72\2\73\42\72\2\0"+
|
||||
"\1\72\2\76\1\0\3\76\1\0\45\76\1\77\1\24"+
|
||||
"\1\76\2\77\1\0\44\76\2\102\1\0\6\102\1\0"+
|
||||
"\42\102\1\103\1\24\1\102\2\103\3\102\1\0\41\102"+
|
||||
"\14\0\1\123\56\0\1\124\32\0\1\111\2\0\1\111"+
|
||||
"\2\0\46\111\2\0\1\111\2\0\25\111\1\125\17\111"+
|
||||
"\32\0\1\126\72\0\1\127\1\115\2\0\1\115\2\0"+
|
||||
"\43\115\1\0\2\115\2\0\1\115\2\0\35\115\1\130"+
|
||||
"\5\115\1\0\2\115\2\0\1\115\2\0\31\115\1\131"+
|
||||
"\11\115\1\0\2\115\2\0\1\115\2\0\25\115\1\132"+
|
||||
"\15\115\1\0\2\115\2\0\1\115\2\0\34\115\1\133"+
|
||||
"\6\115\1\0\1\115\20\0\1\134\32\0\1\111\2\0"+
|
||||
"\1\111\2\0\37\111\1\135\5\111\32\0\1\136\72\0"+
|
||||
"\1\137\1\115\2\0\1\115\2\0\27\115\1\140\13\115"+
|
||||
"\1\0\2\115\2\0\1\115\2\0\41\115\1\141\1\115"+
|
||||
"\1\0\2\115\2\0\1\115\2\0\37\115\1\142\3\115"+
|
||||
"\1\0\2\115\2\0\1\115\2\0\31\115\1\143\11\115"+
|
||||
"\1\0\1\115\1\111\2\0\1\111\2\0\25\111\1\144"+
|
||||
"\17\111\32\0\1\145\72\0\1\146\1\115\2\0\1\115"+
|
||||
"\2\0\30\115\1\147\12\115\1\0\2\115\2\0\1\115"+
|
||||
"\2\0\30\115\1\150\12\115\1\0\2\115\2\0\1\115"+
|
||||
"\2\0\25\115\1\151\15\115\1\0\2\115\2\0\1\115"+
|
||||
"\2\0\36\115\1\152\4\115\1\0\1\115\1\111\2\0"+
|
||||
"\1\111\2\0\33\111\1\153\11\111\32\0\1\154\72\0"+
|
||||
"\1\155\1\115\2\0\1\115\2\0\37\115\1\156\3\115"+
|
||||
"\1\0\2\115\2\0\1\115\2\0\33\115\1\157\7\115"+
|
||||
"\1\0\2\115\2\0\1\115\2\0\36\115\1\160\4\115"+
|
||||
"\1\0\1\115\32\0\1\161\72\0\1\162\1\115\2\0"+
|
||||
"\1\115\2\0\25\115\1\163\15\115\1\0\2\115\2\0"+
|
||||
"\1\115\2\0\30\115\1\164\12\115\1\0\1\115\32\0"+
|
||||
"\1\165\72\0\1\166\1\115\2\0\1\115\2\0\32\115"+
|
||||
"\1\147\10\115\1\0\2\115\2\0\1\115\2\0\41\115"+
|
||||
"\1\167\1\115\1\0\1\115\32\0\1\170\72\0\1\171"+
|
||||
"\32\0\1\172\72\0\1\173\32\0\1\174\72\0\1\175"+
|
||||
"\32\0\1\176\72\0\1\177\32\0\1\200\72\0\1\201"+
|
||||
"\32\0\1\202\72\0\1\203\32\0\1\204\72\0\1\205"+
|
||||
"\32\0\1\206\72\0\1\207\32\0\1\210\72\0\1\211"+
|
||||
"\32\0\1\212\72\0\1\213\32\0\1\214\72\0\1\215"+
|
||||
"\32\0\1\216\72\0\1\216";
|
||||
|
||||
private static int [] zzUnpacktrans() {
|
||||
int [] result = new int[2379];
|
||||
int [] result = new int[4429];
|
||||
int offset = 0;
|
||||
offset = zzUnpacktrans(ZZ_TRANS_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -464,13 +488,15 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
|
||||
|
||||
private static final String ZZ_ATTRIBUTE_PACKED_0 =
|
||||
"\17\0\1\11\2\1\1\11\3\1\2\11\4\1\1\11"+
|
||||
"\1\1\4\11\1\1\1\11\1\1\1\11\3\1\2\11"+
|
||||
"\1\1\1\11\1\1\2\11\2\1\2\11\2\1\1\11"+
|
||||
"\4\1\1\0\1\11\1\0\7\1\1\11\26\1";
|
||||
"\17\0\1\11\2\1\1\11\1\1\3\11\2\1\1\11"+
|
||||
"\1\1\1\11\1\1\2\11\5\1\1\11\1\1\4\11"+
|
||||
"\1\1\1\11\1\1\1\11\3\1\2\11\1\1\1\11"+
|
||||
"\2\1\2\11\2\1\2\11\2\1\1\11\4\1\1\0"+
|
||||
"\1\11\2\0\2\1\2\0\5\1\1\0\2\11\7\1"+
|
||||
"\1\11\61\1\1\11";
|
||||
|
||||
private static int [] zzUnpackAttribute() {
|
||||
int [] result = new int[92];
|
||||
int [] result = new int[142];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -539,24 +565,31 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
|
||||
/* user code: */
|
||||
private boolean myJdk15Enabled;
|
||||
private DocCommentTokenTypes myTokenTypes;
|
||||
private int mySnippetBracesLevel = 0;
|
||||
private DocCommentTokenTypes myTokenTypes;
|
||||
private int mySnippetBracesLevel = 0;
|
||||
/* Enable markdown support for java 23 */
|
||||
private boolean myMarkdownMode = false;
|
||||
|
||||
public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
|
||||
this((java.io.Reader)null);
|
||||
myJdk15Enabled = isJdk15Enabled;
|
||||
myTokenTypes = tokenTypes;
|
||||
}
|
||||
public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
|
||||
this((java.io.Reader)null);
|
||||
myJdk15Enabled = isJdk15Enabled;
|
||||
myTokenTypes = tokenTypes;
|
||||
}
|
||||
|
||||
public boolean checkAhead(char c) {
|
||||
if (zzMarkedPos >= zzBuffer.length()) return false;
|
||||
return zzBuffer.charAt(zzMarkedPos) == c;
|
||||
}
|
||||
/** Should be called right after a reset */
|
||||
public void setMarkdownMode(boolean isEnabled) {
|
||||
myMarkdownMode = isEnabled;
|
||||
}
|
||||
|
||||
public void goTo(int offset) {
|
||||
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
|
||||
zzAtEOF = false;
|
||||
}
|
||||
public boolean checkAhead(char c) {
|
||||
if (zzMarkedPos >= zzBuffer.length()) return false;
|
||||
return zzBuffer.charAt(zzMarkedPos) == c;
|
||||
}
|
||||
|
||||
public void goTo(int offset) {
|
||||
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
|
||||
zzAtEOF = false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -804,18 +837,58 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
{ return myTokenTypes.badCharacter();
|
||||
}
|
||||
// fall through
|
||||
case 33: break;
|
||||
case 41: break;
|
||||
case 2:
|
||||
{ yybegin(COMMENT_DATA); return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 34: break;
|
||||
case 42: break;
|
||||
case 3:
|
||||
{ return myTokenTypes.space();
|
||||
}
|
||||
// fall through
|
||||
case 35: break;
|
||||
case 43: break;
|
||||
case 4:
|
||||
{ yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.sharp();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 44: break;
|
||||
case 5:
|
||||
{ yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.leftParenthesis();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 45: break;
|
||||
case 6:
|
||||
{ yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.rightParenthesis();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 46: break;
|
||||
case 7:
|
||||
{ yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.leftBracket();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 47: break;
|
||||
case 8:
|
||||
{ yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.rightBracket();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 48: break;
|
||||
case 9:
|
||||
{ if (checkAhead('@')) {
|
||||
yybegin(INLINE_TAG_NAME);
|
||||
return myTokenTypes.inlineTagStart();
|
||||
@@ -826,56 +899,56 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
}
|
||||
}
|
||||
// fall through
|
||||
case 36: break;
|
||||
case 5:
|
||||
case 49: break;
|
||||
case 10:
|
||||
{ yybegin(COMMENT_DATA); return myTokenTypes.inlineTagEnd();
|
||||
}
|
||||
// fall through
|
||||
case 37: break;
|
||||
case 6:
|
||||
case 50: break;
|
||||
case 11:
|
||||
{ return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 38: break;
|
||||
case 7:
|
||||
case 51: break;
|
||||
case 12:
|
||||
{ if (checkAhead('<') || checkAhead('\"')) yybegin(COMMENT_DATA);
|
||||
else if (checkAhead('\u007b')) yybegin(COMMENT_DATA); // lbrace - there's a error in JLex when typing lbrace directly
|
||||
else yybegin(DOC_TAG_VALUE);
|
||||
return myTokenTypes.space();
|
||||
}
|
||||
// fall through
|
||||
case 39: break;
|
||||
case 8:
|
||||
case 52: break;
|
||||
case 13:
|
||||
{ yybegin(DOC_TAG_VALUE); return myTokenTypes.space();
|
||||
}
|
||||
// fall through
|
||||
case 40: break;
|
||||
case 9:
|
||||
case 53: break;
|
||||
case 14:
|
||||
{ yybegin(COMMENT_DATA); return myTokenTypes.space();
|
||||
}
|
||||
// fall through
|
||||
case 41: break;
|
||||
case 10:
|
||||
case 54: break;
|
||||
case 15:
|
||||
{ return myTokenTypes.tagValueSharp();
|
||||
}
|
||||
// fall through
|
||||
case 42: break;
|
||||
case 11:
|
||||
case 55: break;
|
||||
case 16:
|
||||
{ return myTokenTypes.tagValueToken();
|
||||
}
|
||||
// fall through
|
||||
case 43: break;
|
||||
case 12:
|
||||
case 56: break;
|
||||
case 17:
|
||||
{ yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen();
|
||||
}
|
||||
// fall through
|
||||
case 44: break;
|
||||
case 13:
|
||||
case 57: break;
|
||||
case 18:
|
||||
{ return myTokenTypes.tagValueComma();
|
||||
}
|
||||
// fall through
|
||||
case 45: break;
|
||||
case 14:
|
||||
case 58: break;
|
||||
case 19:
|
||||
{ if (myJdk15Enabled) {
|
||||
yybegin(DOC_TAG_VALUE_IN_LTGT);
|
||||
return myTokenTypes.tagValueLT();
|
||||
@@ -886,58 +959,60 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
}
|
||||
}
|
||||
// fall through
|
||||
case 46: break;
|
||||
case 15:
|
||||
case 59: break;
|
||||
case 20:
|
||||
{ yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen();
|
||||
}
|
||||
// fall through
|
||||
case 47: break;
|
||||
case 16:
|
||||
case 60: break;
|
||||
case 21:
|
||||
{ yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT();
|
||||
}
|
||||
// fall through
|
||||
case 48: break;
|
||||
case 17:
|
||||
case 61: break;
|
||||
case 22:
|
||||
{ yybegin(CODE_TAG); return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 49: break;
|
||||
case 18:
|
||||
case 62: break;
|
||||
case 23:
|
||||
{ yybegin(CODE_TAG); return myTokenTypes.space();
|
||||
}
|
||||
// fall through
|
||||
case 50: break;
|
||||
case 19:
|
||||
case 63: break;
|
||||
case 24:
|
||||
{ yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 51: break;
|
||||
case 20:
|
||||
case 64: break;
|
||||
case 25:
|
||||
{ yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return myTokenTypes.tagValueQuote();
|
||||
}
|
||||
// fall through
|
||||
case 52: break;
|
||||
case 21:
|
||||
case 65: break;
|
||||
case 26:
|
||||
{ yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return myTokenTypes.tagValueQuote();
|
||||
}
|
||||
// fall through
|
||||
case 53: break;
|
||||
case 22:
|
||||
{ return myTokenTypes.commentLeadingAsterisks();
|
||||
case 66: break;
|
||||
case 27:
|
||||
{ if (myMarkdownMode)
|
||||
return myTokenTypes.commentData();
|
||||
return myTokenTypes.commentLeadingAsterisks();
|
||||
}
|
||||
// fall through
|
||||
case 54: break;
|
||||
case 23:
|
||||
case 67: break;
|
||||
case 28:
|
||||
{ yybegin(SNIPPET_TAG_BODY_DATA); return myTokenTypes.tagValueColon();
|
||||
}
|
||||
// fall through
|
||||
case 55: break;
|
||||
case 24:
|
||||
case 68: break;
|
||||
case 29:
|
||||
{ mySnippetBracesLevel++; return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 56: break;
|
||||
case 25:
|
||||
case 69: break;
|
||||
case 30:
|
||||
{ if (mySnippetBracesLevel > 0) {
|
||||
mySnippetBracesLevel--;
|
||||
return myTokenTypes.commentData();
|
||||
@@ -947,42 +1022,71 @@ final class _JavaDocLexer implements FlexLexer {
|
||||
}
|
||||
}
|
||||
// fall through
|
||||
case 57: break;
|
||||
case 26:
|
||||
case 70: break;
|
||||
case 31:
|
||||
{ yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagValueQuote();
|
||||
}
|
||||
// fall through
|
||||
case 58: break;
|
||||
case 27:
|
||||
{ return myTokenTypes.commentEnd();
|
||||
case 71: break;
|
||||
case 32:
|
||||
{ if(myMarkdownMode)
|
||||
return myTokenTypes.commentData();
|
||||
return myTokenTypes.commentEnd();
|
||||
}
|
||||
// fall through
|
||||
case 59: break;
|
||||
case 28:
|
||||
case 72: break;
|
||||
case 33:
|
||||
{ yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName();
|
||||
}
|
||||
// fall through
|
||||
case 60: break;
|
||||
case 29:
|
||||
{ yybegin(COMMENT_DATA_START); return myTokenTypes.commentStart();
|
||||
case 73: break;
|
||||
case 34:
|
||||
{ if(myMarkdownMode)
|
||||
return myTokenTypes.badCharacter();
|
||||
yybegin(COMMENT_DATA_START);
|
||||
return myTokenTypes.commentStart();
|
||||
}
|
||||
// fall through
|
||||
case 61: break;
|
||||
case 30:
|
||||
case 74: break;
|
||||
case 35:
|
||||
{ if(myMarkdownMode) {
|
||||
yybegin(COMMENT_DATA_START);
|
||||
return myTokenTypes.commentLeadingAsterisks();
|
||||
}
|
||||
return myTokenTypes.badCharacter();
|
||||
}
|
||||
// fall through
|
||||
case 75: break;
|
||||
case 36:
|
||||
{ yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.codeFence();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 76: break;
|
||||
case 37:
|
||||
{ if (myMarkdownMode)
|
||||
return myTokenTypes.commentLeadingAsterisks();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
// fall through
|
||||
case 77: break;
|
||||
case 38:
|
||||
{ yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName();
|
||||
}
|
||||
// fall through
|
||||
case 62: break;
|
||||
case 31:
|
||||
case 78: break;
|
||||
case 39:
|
||||
{ yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName();
|
||||
}
|
||||
// fall through
|
||||
case 63: break;
|
||||
case 32:
|
||||
case 79: break;
|
||||
case 40:
|
||||
{ yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagName();
|
||||
}
|
||||
// fall through
|
||||
case 64: break;
|
||||
case 80: break;
|
||||
default:
|
||||
zzScanError(ZZ_NO_MATCH);
|
||||
}
|
||||
|
||||
@@ -143,8 +143,22 @@ public class BasicJavaLexer extends LexerBase {
|
||||
int l1 = mySymbolLength;
|
||||
char nextChar = locateCharAt(myBufferIndex + l1);
|
||||
if (nextChar == '/') {
|
||||
myTokenType = JavaTokenType.END_OF_LINE_COMMENT;
|
||||
myTokenEndOffset = getLineTerminator(myBufferIndex + l1 + mySymbolLength);
|
||||
int l2 = mySymbolLength;
|
||||
if (myBufferIndex + l1 + l2 < myBufferEndOffset && locateCharAt(myBufferIndex + l1 + l2) == '/') {
|
||||
int l3 = mySymbolLength;
|
||||
if(myBufferIndex + l1 + l2 + l3 < myBufferEndOffset && locateCharAt(myBufferIndex + l1 + l2 + l3) == '/') {
|
||||
// Long end of line comment
|
||||
myTokenType = JavaTokenType.END_OF_LINE_COMMENT;
|
||||
myTokenEndOffset = getLineTerminator(myBufferIndex + l1 + l2);
|
||||
} else {
|
||||
// Java 23 Markdown comments
|
||||
myTokenType = myJavaDocElementTypeContainer.DOC_COMMENT;
|
||||
myTokenEndOffset = getClosingMarkdownComment(myBufferIndex + l1 + l2);
|
||||
}
|
||||
} else {
|
||||
myTokenType = JavaTokenType.END_OF_LINE_COMMENT;
|
||||
myTokenEndOffset = getLineTerminator(myBufferIndex + l1 + l2);
|
||||
}
|
||||
}
|
||||
else if (nextChar == '*') {
|
||||
int l2 = mySymbolLength;
|
||||
@@ -214,12 +228,28 @@ public class BasicJavaLexer extends LexerBase {
|
||||
}
|
||||
|
||||
private int getWhitespaces(int offset) {
|
||||
int pos = offset;
|
||||
return getChars(offset, " \t\n\r\f");
|
||||
}
|
||||
|
||||
private int getSimpleWhitespaces(int offset) {
|
||||
return getChars(offset, " \t");
|
||||
}
|
||||
|
||||
/** @return The new position if none of the chars were detected */
|
||||
private int getChars(int offset, CharSequence charsToDetect) {
|
||||
int pos = offset;
|
||||
while (pos < myBufferEndOffset) {
|
||||
boolean detected = false;
|
||||
char c = locateCharAt(pos);
|
||||
if (c != ' ' && c != '\t' && c != '\n' && c != '\r' && c != '\f') break;
|
||||
pos += mySymbolLength;
|
||||
for (int i= 0; i < charsToDetect.length(); i++) {
|
||||
if (charsToDetect.charAt(i) == c) {
|
||||
pos += mySymbolLength;
|
||||
detected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!detected) break;
|
||||
}
|
||||
|
||||
return pos;
|
||||
@@ -288,6 +318,21 @@ public class BasicJavaLexer extends LexerBase {
|
||||
return false;
|
||||
}
|
||||
|
||||
private int getClosingMarkdownComment(int offset) {
|
||||
int pos = offset;
|
||||
while(pos < myBufferEndOffset) {
|
||||
pos = getLineTerminator(pos);
|
||||
// Account for whitespaces beforehand
|
||||
int newPos = getSimpleWhitespaces(pos + mySymbolLength);
|
||||
|
||||
newPos = getCharSeqAt(newPos, "///");
|
||||
if(newPos == -1) break;
|
||||
pos = newPos;
|
||||
}
|
||||
|
||||
return pos;
|
||||
}
|
||||
|
||||
private int getClosingComment(int offset) {
|
||||
int pos = offset;
|
||||
|
||||
@@ -312,6 +357,20 @@ public class BasicJavaLexer extends LexerBase {
|
||||
return pos;
|
||||
}
|
||||
|
||||
/** @return The position after of the last char, -1 otherwise */
|
||||
private int getCharSeqAt(int offset, CharSequence charSequence) {
|
||||
int pos = offset;
|
||||
for(int i = 0; i < charSequence.length(); i++) {
|
||||
if(!isLocatedCharAt(pos, charSequence.charAt(i))) return -1;
|
||||
pos += mySymbolLength;
|
||||
}
|
||||
return pos;
|
||||
}
|
||||
|
||||
private boolean isLocatedCharAt(int offset, char charToDetect) {
|
||||
return (offset < myBufferEndOffset) && locateCharAt(offset) == charToDetect;
|
||||
}
|
||||
|
||||
private char charAt(int offset) {
|
||||
return myBufferArray != null ? myBufferArray[offset] : myBuffer.charAt(offset);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.intellij.lexer.DocCommentTokenTypes;
|
||||
import com.intellij.lexer.JavaDocTokenTypes;
|
||||
import com.intellij.lexer.LexerBase;
|
||||
import com.intellij.lexer.MergingLexerAdapter;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.util.text.CharArrayUtil;
|
||||
@@ -32,6 +33,7 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
private IElementType myTokenType;
|
||||
private boolean myAfterLineBreak;
|
||||
private boolean myInLeadingSpace;
|
||||
private boolean myMarkdownMode;
|
||||
|
||||
AsteriskStripperLexer(final _JavaDocLexer flex, final DocCommentTokenTypes tokenTypes) {
|
||||
myFlex = flex;
|
||||
@@ -45,7 +47,10 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
myBufferEndOffset = endOffset;
|
||||
myTokenType = null;
|
||||
myTokenEndOffset = startOffset;
|
||||
myAfterLineBreak = false;
|
||||
myInLeadingSpace = false;
|
||||
myFlex.reset(myBuffer, startOffset, endOffset, initialState);
|
||||
selectLexerMode(buffer, startOffset);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -97,6 +102,12 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
/** Enables markdown mode if necessary */
|
||||
private void selectLexerMode(@NotNull CharSequence buffer, int startOffset) {
|
||||
myMarkdownMode = StringUtil.startsWith(buffer, startOffset, "///");
|
||||
myFlex.setMarkdownMode(myMarkdownMode);
|
||||
}
|
||||
|
||||
private void _locateToken() {
|
||||
if (myTokenEndOffset == myBufferEndOffset) {
|
||||
myTokenType = null;
|
||||
@@ -108,9 +119,15 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
|
||||
if (myAfterLineBreak) {
|
||||
myAfterLineBreak = false;
|
||||
while (myTokenEndOffset < myBufferEndOffset && myBuffer.charAt(myTokenEndOffset) == '*' &&
|
||||
(myTokenEndOffset + 1 >= myBufferEndOffset || myBuffer.charAt(myTokenEndOffset + 1) != '/')) {
|
||||
myTokenEndOffset++;
|
||||
|
||||
if (myMarkdownMode) {
|
||||
while (detectLeadingSlashes()) {
|
||||
myTokenEndOffset += 3;
|
||||
}
|
||||
}else {
|
||||
while (detectLeadingAsterisks()) {
|
||||
myTokenEndOffset++;
|
||||
}
|
||||
}
|
||||
|
||||
myInLeadingSpace = true;
|
||||
@@ -152,6 +169,17 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
flexLocateToken();
|
||||
}
|
||||
|
||||
/** @return true for * or *\/ */
|
||||
private boolean detectLeadingAsterisks() {
|
||||
return myTokenEndOffset < myBufferEndOffset && myBuffer.charAt(myTokenEndOffset) == '*' &&
|
||||
(myTokenEndOffset + 1 >= myBufferEndOffset || myBuffer.charAt(myTokenEndOffset + 1) != '/');
|
||||
}
|
||||
|
||||
/** @return The current token is the start of three leading slashes */
|
||||
private boolean detectLeadingSlashes() {
|
||||
return myTokenEndOffset + 2 < myBufferEndOffset && StringUtil.startsWith(myBuffer, myTokenEndOffset, "///");
|
||||
}
|
||||
|
||||
private void flexLocateToken() {
|
||||
try {
|
||||
myState = myFlex.yystate();
|
||||
|
||||
@@ -1,33 +1,40 @@
|
||||
/* It's an automatically generated code. Do not modify it. */
|
||||
package com.intellij.lang.java.lexer;
|
||||
package com.intellij.lang.java.lexer;
|
||||
|
||||
import com.intellij.lexer.DocCommentTokenTypes;
|
||||
import com.intellij.lexer.FlexLexer;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.lexer.DocCommentTokenTypes;
|
||||
import com.intellij.lexer.FlexLexer;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
|
||||
@SuppressWarnings("ALL")
|
||||
@SuppressWarnings("ALL")
|
||||
%%
|
||||
|
||||
%{
|
||||
private boolean myJdk15Enabled;
|
||||
private DocCommentTokenTypes myTokenTypes;
|
||||
private int mySnippetBracesLevel = 0;
|
||||
private DocCommentTokenTypes myTokenTypes;
|
||||
private int mySnippetBracesLevel = 0;
|
||||
/* Enable markdown support for java 23 */
|
||||
private boolean myMarkdownMode = false;
|
||||
|
||||
public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
|
||||
this((java.io.Reader)null);
|
||||
myJdk15Enabled = isJdk15Enabled;
|
||||
myTokenTypes = tokenTypes;
|
||||
}
|
||||
public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
|
||||
this((java.io.Reader)null);
|
||||
myJdk15Enabled = isJdk15Enabled;
|
||||
myTokenTypes = tokenTypes;
|
||||
}
|
||||
|
||||
public boolean checkAhead(char c) {
|
||||
if (zzMarkedPos >= zzBuffer.length()) return false;
|
||||
return zzBuffer.charAt(zzMarkedPos) == c;
|
||||
}
|
||||
/** Should be called right after a reset */
|
||||
public void setMarkdownMode(boolean isEnabled) {
|
||||
myMarkdownMode = isEnabled;
|
||||
}
|
||||
|
||||
public void goTo(int offset) {
|
||||
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
|
||||
zzAtEOF = false;
|
||||
}
|
||||
public boolean checkAhead(char c) {
|
||||
if (zzMarkedPos >= zzBuffer.length()) return false;
|
||||
return zzBuffer.charAt(zzMarkedPos) == c;
|
||||
}
|
||||
|
||||
public void goTo(int offset) {
|
||||
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
|
||||
zzAtEOF = false;
|
||||
}
|
||||
%}
|
||||
|
||||
%class _JavaDocLexer
|
||||
@@ -60,9 +67,31 @@ IDENTIFIER={ALPHA}({ALPHA}|{DIGIT}|[":.-"])*
|
||||
TAG_IDENTIFIER=[^\ \t\f\n\r]+
|
||||
INLINE_TAG_IDENTIFIER=[^\ \t\f\n\r\}]+
|
||||
|
||||
// 20 should cover most fences. JFlex doesn't allow unlimited upper bound
|
||||
CODE_FENCE_BACKTICKS=(`{3, 20})
|
||||
CODE_FENCE_WAVES=(\~{3, 20})
|
||||
CODE_FENCE = ({CODE_FENCE_BACKTICKS}|{CODE_FENCE_WAVES})
|
||||
|
||||
START_COMMENT_HTML="/**"
|
||||
LEADING_TOKEN_HTML=\*
|
||||
LEADING_TOKEN_MARKDOWN="///"
|
||||
|
||||
%%
|
||||
|
||||
<YYINITIAL> "/**" { yybegin(COMMENT_DATA_START); return myTokenTypes.commentStart(); }
|
||||
<YYINITIAL> {START_COMMENT_HTML} {
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.badCharacter();
|
||||
yybegin(COMMENT_DATA_START);
|
||||
return myTokenTypes.commentStart();
|
||||
}
|
||||
<YYINITIAL> {LEADING_TOKEN_MARKDOWN} {
|
||||
if(myMarkdownMode) {
|
||||
yybegin(COMMENT_DATA_START);
|
||||
return myTokenTypes.commentLeadingAsterisks();
|
||||
}
|
||||
return myTokenTypes.badCharacter();
|
||||
}
|
||||
|
||||
<COMMENT_DATA_START> {WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space(); }
|
||||
<COMMENT_DATA> {WHITE_DOC_SPACE_NO_LR}+ { return myTokenTypes.commentData(); }
|
||||
<COMMENT_DATA> [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return myTokenTypes.space(); }
|
||||
@@ -91,6 +120,53 @@ INLINE_TAG_IDENTIFIER=[^\ \t\f\n\r\}]+
|
||||
<DOC_TAG_VALUE_IN_LTGT> {IDENTIFIER} { return myTokenTypes.tagValueToken(); }
|
||||
<DOC_TAG_VALUE_IN_LTGT> [\>] { yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT(); }
|
||||
|
||||
<COMMENT_DATA_START, COMMENT_DATA> {
|
||||
{CODE_FENCE} {
|
||||
yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.codeFence();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
|
||||
// According to the JFlex user guide, lookahead should be avoided.
|
||||
(\\\[) { yybegin(COMMENT_DATA); return myTokenTypes.commentData(); }
|
||||
(\\\]) { yybegin(COMMENT_DATA); return myTokenTypes.commentData(); }
|
||||
(\\\() { yybegin(COMMENT_DATA); return myTokenTypes.commentData(); }
|
||||
(\\\)) { yybegin(COMMENT_DATA); return myTokenTypes.commentData(); }
|
||||
|
||||
"#" {
|
||||
yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.sharp();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
|
||||
\[ {
|
||||
yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.leftBracket();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
\] {
|
||||
yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.rightBracket();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
\( {
|
||||
yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.leftParenthesis();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
\) {
|
||||
yybegin(COMMENT_DATA);
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.rightParenthesis();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
}
|
||||
|
||||
<COMMENT_DATA_START, COMMENT_DATA, CODE_TAG> "{" {
|
||||
if (checkAhead('@')) {
|
||||
yybegin(INLINE_TAG_NAME);
|
||||
@@ -131,9 +207,22 @@ SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES, SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON> "}"
|
||||
\" { yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return myTokenTypes.tagValueQuote(); }
|
||||
' { yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return myTokenTypes.tagValueQuote(); }
|
||||
: { yybegin(SNIPPET_TAG_BODY_DATA); return myTokenTypes.tagValueColon(); }
|
||||
\* { return myTokenTypes.commentLeadingAsterisks(); }
|
||||
|
||||
{LEADING_TOKEN_HTML} {
|
||||
if (myMarkdownMode)
|
||||
return myTokenTypes.commentData();
|
||||
return myTokenTypes.commentLeadingAsterisks();
|
||||
}
|
||||
{LEADING_TOKEN_MARKDOWN} {
|
||||
if (myMarkdownMode)
|
||||
return myTokenTypes.commentLeadingAsterisks();
|
||||
return myTokenTypes.commentData();
|
||||
}
|
||||
|
||||
{WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space(); }
|
||||
|
||||
[^\*] { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.commentData(); }
|
||||
[^\/\/\/] { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.commentData(); }
|
||||
}
|
||||
|
||||
<SNIPPET_TAG_BODY_DATA> {
|
||||
@@ -160,5 +249,9 @@ SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES, SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON> "}"
|
||||
|
||||
<CODE_TAG, CODE_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(CODE_TAG); return myTokenTypes.space(); }
|
||||
|
||||
"*"+"/" { return myTokenTypes.commentEnd(); }
|
||||
"*"+"/" {
|
||||
if(myMarkdownMode)
|
||||
return myTokenTypes.commentData();
|
||||
return myTokenTypes.commentEnd();
|
||||
}
|
||||
[^] { return myTokenTypes.badCharacter(); }
|
||||
|
||||
+183
@@ -11,6 +11,7 @@ import com.intellij.psi.impl.source.AbstractBasicJavaDocElementTypeFactory;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -161,11 +162,193 @@ public final class BasicJavaDocParser {
|
||||
parseSimpleTagValue(builder, javaDocElementTypeContainer);
|
||||
}
|
||||
}
|
||||
else if (tokenType == JavaDocTokenType.DOC_CODE_FENCE) {
|
||||
if (getBraceScope(builder) > 0) {
|
||||
builder.remapCurrentToken(JavaDocTokenType.DOC_COMMENT_DATA);
|
||||
builder.advanceLexer();
|
||||
return;
|
||||
}
|
||||
|
||||
char fenceStart = builder.getOriginalText().charAt(builder.getCurrentOffset());
|
||||
PsiBuilder.Marker tag = builder.mark();
|
||||
|
||||
while (!builder.eof()) {
|
||||
builder.advanceLexer();
|
||||
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_CODE_FENCE &&
|
||||
builder.getOriginalText().charAt(builder.getCurrentOffset()) == fenceStart) {
|
||||
break;
|
||||
}
|
||||
else {
|
||||
builder.remapCurrentToken(JavaDocTokenType.DOC_COMMENT_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
if (!builder.eof()) {
|
||||
builder.advanceLexer();
|
||||
}
|
||||
|
||||
tag.done(javaDocElementTypeContainer.DOC_MARKDOWN_CODE_BLOCK);
|
||||
}
|
||||
else if (tokenType == JavaDocTokenType.DOC_LBRACKET) {
|
||||
builder.setDebugMode(true);
|
||||
boolean hasLabel = true;
|
||||
PsiBuilder.Marker tag = builder.mark();
|
||||
|
||||
// Step 1 ensure that we have a label
|
||||
int leftBracketCount = 1;
|
||||
int rightBracketCount = 0;
|
||||
int startLabelOffset = builder.getCurrentOffset();
|
||||
int endLabelOffset;
|
||||
|
||||
while (!builder.eof()) {
|
||||
IElementType token = findInlineToken(builder, JavaDocTokenType.DOC_RBRACKET, JavaDocTokenType.DOC_LBRACKET, true);
|
||||
if (token == JavaDocTokenType.DOC_LBRACKET) {
|
||||
leftBracketCount++;
|
||||
continue;
|
||||
}
|
||||
if (token == JavaDocTokenType.DOC_RBRACKET) {
|
||||
rightBracketCount++;
|
||||
if (leftBracketCount == rightBracketCount) break;
|
||||
}
|
||||
}
|
||||
|
||||
endLabelOffset = builder.getCurrentOffset();
|
||||
boolean isShortRefEmpty = endLabelOffset - startLabelOffset <= 1;
|
||||
if (leftBracketCount != rightBracketCount || isShortRefEmpty) {
|
||||
tag.rollbackTo();
|
||||
builder.advanceLexer();
|
||||
return;
|
||||
}
|
||||
|
||||
IElementType firstReferenceToken = findInlineToken(builder, JavaDocTokenType.DOC_LBRACKET, JavaDocTokenType.DOC_SPACE, false);
|
||||
if (firstReferenceToken != JavaDocTokenType.DOC_LBRACKET) {
|
||||
if (leftBracketCount > 1 || firstReferenceToken == JavaDocTokenType.DOC_LPAREN) {
|
||||
tag.rollbackTo();
|
||||
builder.advanceLexer();
|
||||
return;
|
||||
}
|
||||
|
||||
hasLabel = false;
|
||||
}
|
||||
|
||||
// Step 2 get the reference for full reference link
|
||||
if (hasLabel) {
|
||||
if (findInlineToken(builder, JavaDocTokenType.DOC_RBRACKET, JavaDocTokenType.DOC_LBRACKET, true) != JavaDocTokenType.DOC_RBRACKET) {
|
||||
if (leftBracketCount > 1) {
|
||||
tag.rollbackTo();
|
||||
builder.advanceLexer();
|
||||
return;
|
||||
}
|
||||
|
||||
hasLabel = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Step 3, parse the content
|
||||
tag.rollbackTo();
|
||||
tag = builder.mark();
|
||||
if (hasLabel) {
|
||||
while (!builder.eof()) {
|
||||
builder.advanceLexer();
|
||||
if (builder.getCurrentOffset() < endLabelOffset) {
|
||||
builder.remapCurrentToken(JavaDocTokenType.DOC_COMMENT_DATA);
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
builder.advanceLexer();
|
||||
}
|
||||
|
||||
// Parse the reference itself
|
||||
builder.advanceLexer();
|
||||
parseMarkdownReference(builder, javaDocElementTypeContainer);
|
||||
builder.advanceLexer();
|
||||
|
||||
tag.done(javaDocElementTypeContainer.DOC_MARKDOWN_REFERENCE_LINK);
|
||||
}
|
||||
else {
|
||||
remapAndAdvance(builder);
|
||||
}
|
||||
}
|
||||
|
||||
private static void parseMarkdownReference(@NotNull PsiBuilder builder,
|
||||
@NotNull AbstractBasicJavaDocElementTypeFactory.JavaDocElementTypeContainer javaDocElementTypeContainer) {
|
||||
PsiBuilder.Marker refStart = builder.mark();
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_RBRACKET) {
|
||||
refStart.drop();
|
||||
return;
|
||||
}
|
||||
|
||||
if (getTokenType(builder) != JavaDocTokenType.DOC_SHARP) {
|
||||
builder.remapCurrentToken(javaDocElementTypeContainer.DOC_REFERENCE_HOLDER);
|
||||
builder.advanceLexer();
|
||||
}
|
||||
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_SHARP) {
|
||||
// Existing integration require this token for auto completion
|
||||
builder.remapCurrentToken(JavaDocTokenType.DOC_TAG_VALUE_SHARP_TOKEN);
|
||||
|
||||
// method/variable name
|
||||
builder.advanceLexer();
|
||||
builder.remapCurrentToken(JavaDocTokenType.DOC_TAG_VALUE_TOKEN);
|
||||
|
||||
// A method only has parenthesis and a single comment data token
|
||||
builder.advanceLexer();
|
||||
if (builder.getTokenType() == JavaDocTokenType.DOC_LPAREN) {
|
||||
builder.advanceLexer();
|
||||
PsiBuilder.Marker subValue = builder.mark();
|
||||
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_COMMENT_DATA) {
|
||||
builder.remapCurrentToken(javaDocElementTypeContainer.DOC_TYPE_HOLDER);
|
||||
builder.advanceLexer();
|
||||
}
|
||||
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_RPAREN) {
|
||||
subValue.done(javaDocElementTypeContainer.DOC_TAG_VALUE_ELEMENT);
|
||||
builder.advanceLexer();
|
||||
}
|
||||
else {
|
||||
subValue.drop();
|
||||
}
|
||||
}
|
||||
|
||||
refStart.done(javaDocElementTypeContainer.DOC_METHOD_OR_FIELD_REF);
|
||||
return;
|
||||
}
|
||||
refStart.drop();
|
||||
}
|
||||
|
||||
/** Look for the token provided by `needle`, taking into account markdown line break rules */
|
||||
@Contract(mutates = "param1")
|
||||
private static @Nullable IElementType findInlineToken(@NotNull PsiBuilder builder,
|
||||
IElementType needle,
|
||||
IElementType travelToken,
|
||||
boolean areDisallowed) {
|
||||
IElementType token = null;
|
||||
IElementType previousToken;
|
||||
while (!builder.eof()) {
|
||||
builder.advanceLexer();
|
||||
previousToken = token;
|
||||
token = getTokenType(builder);
|
||||
if (token == needle) {
|
||||
return token;
|
||||
}
|
||||
boolean travelTokenFound = travelToken == token;
|
||||
if ((areDisallowed && travelTokenFound) || (!areDisallowed && !travelTokenFound)) {
|
||||
break;
|
||||
}
|
||||
|
||||
// Markdown specific, check for EOL
|
||||
if (token == JavaDocTokenType.DOC_SPACE && previousToken == JavaDocTokenType.DOC_SPACE) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return builder.eof() ? null : token;
|
||||
}
|
||||
|
||||
private static void parseSnippetTagValue(@NotNull PsiBuilder builder,
|
||||
@NotNull AbstractBasicJavaDocElementTypeFactory.JavaDocElementTypeContainer javaDocElementTypeContainer) {
|
||||
// we are right after @snippet
|
||||
|
||||
+9
-1
@@ -35,6 +35,10 @@ public abstract class AbstractBasicJavaDocElementTypeFactory {
|
||||
|
||||
public final IElementType DOC_PARAMETER_REF;
|
||||
|
||||
public final IElementType DOC_MARKDOWN_CODE_BLOCK;
|
||||
|
||||
public final IElementType DOC_MARKDOWN_REFERENCE_LINK;
|
||||
|
||||
public JavaDocElementTypeContainer(IElementType DOC_TAG,
|
||||
IElementType DOC_COMMENT,
|
||||
IElementType DOC_SNIPPET_TAG,
|
||||
@@ -48,7 +52,9 @@ public abstract class AbstractBasicJavaDocElementTypeFactory {
|
||||
IElementType DOC_SNIPPET_ATTRIBUTE,
|
||||
IElementType DOC_METHOD_OR_FIELD_REF,
|
||||
IElementType DOC_TYPE_HOLDER,
|
||||
IElementType DOC_PARAMETER_REF) {
|
||||
IElementType DOC_PARAMETER_REF,
|
||||
IElementType DOC_MARKDOWN_CODE_BLOCK,
|
||||
IElementType DOC_MARKDOWN_REFERENCE_LINK) {
|
||||
this.DOC_TAG = DOC_TAG;
|
||||
this.DOC_COMMENT = DOC_COMMENT;
|
||||
this.DOC_SNIPPET_TAG = DOC_SNIPPET_TAG;
|
||||
@@ -63,6 +69,8 @@ public abstract class AbstractBasicJavaDocElementTypeFactory {
|
||||
this.DOC_METHOD_OR_FIELD_REF = DOC_METHOD_OR_FIELD_REF;
|
||||
this.DOC_TYPE_HOLDER = DOC_TYPE_HOLDER;
|
||||
this.DOC_PARAMETER_REF = DOC_PARAMETER_REF;
|
||||
this.DOC_MARKDOWN_CODE_BLOCK = DOC_MARKDOWN_CODE_BLOCK;
|
||||
this.DOC_MARKDOWN_REFERENCE_LINK = DOC_MARKDOWN_REFERENCE_LINK;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -43,6 +43,8 @@ public interface BasicJavaDocElementType {
|
||||
IElementType BASIC_DOC_TYPE_HOLDER = new IJavaDocElementType("DOC_TYPE_HOLDER");
|
||||
|
||||
IElementType BASIC_DOC_COMMENT = new IJavaDocElementType("DOC_COMMENT");
|
||||
IElementType BASIC_DOC_MARKDOWN_CODE_BLOCK = new IJavaDocElementType("DOC_CODE_BLOCK");
|
||||
IElementType BASIC_DOC_MARKDOWN_REFERENCE_LINK = new IJavaDocElementType("DOC_REFERENCE_LINK");
|
||||
|
||||
ParentAwareTokenSet BASIC_ALL_JAVADOC_ELEMENTS = ParentAwareTokenSet.create(
|
||||
BASIC_DOC_TAG, BASIC_DOC_INLINE_TAG, BASIC_DOC_METHOD_OR_FIELD_REF, BASIC_DOC_PARAMETER_REF, BASIC_DOC_TAG_VALUE_ELEMENT,
|
||||
|
||||
Reference in New Issue
Block a user