mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Cleanup (formatting)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2013 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -32,8 +32,7 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
}
|
||||
|
||||
private JavaDocLexer(DocCommentTokenTypes tokenTypes, boolean isJdk15Enabled) {
|
||||
super(new AsteriskStripperLexer(new _JavaDocLexer(isJdk15Enabled, tokenTypes), tokenTypes),
|
||||
tokenTypes.spaceCommentsTokenSet());
|
||||
super(new AsteriskStripperLexer(new _JavaDocLexer(isJdk15Enabled, tokenTypes), tokenTypes), tokenTypes.spaceCommentsTokenSet());
|
||||
}
|
||||
|
||||
private static class AsteriskStripperLexer extends LexerBase {
|
||||
@@ -56,7 +55,7 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
@Override
|
||||
public final void start(@NotNull CharSequence buffer, int startOffset, int endOffset, int initialState) {
|
||||
myBuffer = buffer;
|
||||
myBufferIndex = startOffset;
|
||||
myBufferIndex = startOffset;
|
||||
myBufferEndOffset = endOffset;
|
||||
myTokenType = null;
|
||||
myTokenEndOffset = startOffset;
|
||||
@@ -97,7 +96,6 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
return myTokenEndOffset;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public final void advance() {
|
||||
locateToken();
|
||||
@@ -154,18 +152,20 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
}
|
||||
|
||||
if (myBufferIndex < myTokenEndOffset) {
|
||||
myTokenType = lf || state == _JavaDocLexer.PARAM_TAG_SPACE || state == _JavaDocLexer.TAG_DOC_SPACE || state == _JavaDocLexer.INLINE_TAG_NAME || state == _JavaDocLexer.DOC_TAG_VALUE_IN_PAREN
|
||||
? myTokenTypes.space()
|
||||
: myTokenTypes.commentData();
|
||||
|
||||
myTokenType = lf ||
|
||||
state == _JavaDocLexer.PARAM_TAG_SPACE || state == _JavaDocLexer.TAG_DOC_SPACE ||
|
||||
state == _JavaDocLexer.INLINE_TAG_NAME || state == _JavaDocLexer.DOC_TAG_VALUE_IN_PAREN
|
||||
? myTokenTypes.space() : myTokenTypes.commentData();
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
flexLocateToken();
|
||||
}
|
||||
|
||||
private void flexLocateToken() {
|
||||
//noinspection Duplicates
|
||||
try {
|
||||
myState = myFlex.yystate();
|
||||
myFlex.goTo(myBufferIndex);
|
||||
@@ -177,4 +177,4 @@ public class JavaDocLexer extends MergingLexerAdapter {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,8 +19,8 @@ import com.intellij.psi.tree.IElementType;
|
||||
}
|
||||
|
||||
public boolean checkAhead(char c) {
|
||||
if (zzMarkedPos >= zzBuffer.length()) return false;
|
||||
return zzBuffer.charAt(zzMarkedPos) == c;
|
||||
if (zzMarkedPos >= zzBuffer.length()) return false;
|
||||
return zzBuffer.charAt(zzMarkedPos) == c;
|
||||
}
|
||||
|
||||
public void goTo(int offset) {
|
||||
@@ -58,8 +58,8 @@ INLINE_TAG_IDENTIFIER=[^\ \t\f\n\r\}]+
|
||||
|
||||
<YYINITIAL> "/**" { yybegin(COMMENT_DATA_START); return myTokenTypes.commentStart(); }
|
||||
<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(); }
|
||||
<COMMENT_DATA> {WHITE_DOC_SPACE_NO_LR}+ { return myTokenTypes.commentData(); }
|
||||
<COMMENT_DATA> [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return myTokenTypes.space(); }
|
||||
|
||||
<DOC_TAG_VALUE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(COMMENT_DATA); return myTokenTypes.space(); }
|
||||
<DOC_TAG_VALUE, DOC_TAG_VALUE_IN_PAREN> ({ALPHA}|[_0-9\."$"\[\]])+ { return myTokenTypes.tagValueToken(); }
|
||||
@@ -70,7 +70,7 @@ INLINE_TAG_IDENTIFIER=[^\ \t\f\n\r\}]+
|
||||
<DOC_TAG_VALUE_IN_PAREN> {WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space(); }
|
||||
|
||||
<INLINE_TAG_NAME, COMMENT_DATA_START> "@param" { yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName(); }
|
||||
<PARAM_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ {yybegin(DOC_TAG_VALUE); return myTokenTypes.space();}
|
||||
<PARAM_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ {yybegin(DOC_TAG_VALUE); return myTokenTypes.space(); }
|
||||
<DOC_TAG_VALUE> [\<] {
|
||||
if (myJdk15Enabled) {
|
||||
yybegin(DOC_TAG_VALUE_IN_LTGT);
|
||||
@@ -90,11 +90,12 @@ INLINE_TAG_IDENTIFIER=[^\ \t\f\n\r\}]+
|
||||
yybegin(INLINE_TAG_NAME);
|
||||
return myTokenTypes.inlineTagStart();
|
||||
}
|
||||
else{
|
||||
else {
|
||||
yybegin(COMMENT_DATA);
|
||||
return myTokenTypes.inlineTagStart();
|
||||
}
|
||||
}
|
||||
|
||||
<INLINE_TAG_NAME> "@code" { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName(); }
|
||||
<INLINE_TAG_NAME> "@literal" { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName(); }
|
||||
<INLINE_TAG_NAME> "@"{INLINE_TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName(); }
|
||||
@@ -102,19 +103,16 @@ INLINE_TAG_IDENTIFIER=[^\ \t\f\n\r\}]+
|
||||
|
||||
<COMMENT_DATA_START, COMMENT_DATA, DOC_TAG_VALUE> . { yybegin(COMMENT_DATA); return myTokenTypes.commentData(); }
|
||||
<CODE_TAG, CODE_TAG_SPACE> . { yybegin(CODE_TAG); return myTokenTypes.commentData(); }
|
||||
<COMMENT_DATA_START> "@"{TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName(); }
|
||||
<COMMENT_DATA_START> "@"{TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName(); }
|
||||
|
||||
<TAG_DOC_SPACE> {WHITE_DOC_SPACE_CHAR}+ {
|
||||
<TAG_DOC_SPACE> {WHITE_DOC_SPACE_CHAR}+ {
|
||||
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 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();
|
||||
}
|
||||
|
||||
<CODE_TAG, CODE_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ {
|
||||
yybegin(CODE_TAG);
|
||||
return myTokenTypes.space();
|
||||
}
|
||||
<CODE_TAG, CODE_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(CODE_TAG); return myTokenTypes.space(); }
|
||||
|
||||
"*"+"/" { return myTokenTypes.commentEnd(); }
|
||||
[^] { return myTokenTypes.badCharacter(); }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,7 +23,6 @@ import com.intellij.psi.TokenType;
|
||||
import com.intellij.psi.impl.source.tree.JavaDocElementType;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -38,24 +37,24 @@ public class JavadocParser {
|
||||
|
||||
public static final TokenSet SKIP_TOKENS = TokenSet.create(JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS);
|
||||
|
||||
@NonNls private static final String SEE_TAG = "@see";
|
||||
@NonNls private static final String LINK_TAG = "@link";
|
||||
@NonNls private static final String LINK_PLAIN_TAG = "@linkplain";
|
||||
@NonNls private static final String THROWS_TAG = "@throws";
|
||||
@NonNls private static final String EXCEPTION_TAG = "@exception";
|
||||
@NonNls private static final String PARAM_TAG = "@param";
|
||||
@NonNls private static final String VALUE_TAG = "@value";
|
||||
private static final String SEE_TAG = "@see";
|
||||
private static final String LINK_TAG = "@link";
|
||||
private static final String LINK_PLAIN_TAG = "@linkplain";
|
||||
private static final String THROWS_TAG = "@throws";
|
||||
private static final String EXCEPTION_TAG = "@exception";
|
||||
private static final String PARAM_TAG = "@param";
|
||||
private static final String VALUE_TAG = "@value";
|
||||
|
||||
private static final Key<Integer> BRACE_SCOPE_KEY = Key.create("Javadoc.Parser.Brace.Scope");
|
||||
private static Key<Integer> BRACE_SCOPE_KEY = Key.create("Javadoc.Parser.Brace.Scope");
|
||||
|
||||
private JavadocParser() { }
|
||||
|
||||
public static void parseJavadocReference(@NotNull final PsiBuilder builder) {
|
||||
public static void parseJavadocReference(@NotNull PsiBuilder builder) {
|
||||
JavaParser.INSTANCE.getReferenceParser().parseJavaCodeReference(builder, true, true, false, false);
|
||||
swallowTokens(builder);
|
||||
}
|
||||
|
||||
public static void parseJavadocType(@NotNull final PsiBuilder builder) {
|
||||
public static void parseJavadocType(@NotNull PsiBuilder builder) {
|
||||
JavaParser.INSTANCE.getReferenceParser().parseType(builder, ReferenceParser.EAT_LAST_DOT | ReferenceParser.ELLIPSIS | ReferenceParser.WILDCARD);
|
||||
swallowTokens(builder);
|
||||
}
|
||||
@@ -64,11 +63,11 @@ public class JavadocParser {
|
||||
while (!builder.eof()) builder.advanceLexer();
|
||||
}
|
||||
|
||||
public static void parseDocCommentText(@NotNull final PsiBuilder builder) {
|
||||
public static void parseDocCommentText(@NotNull PsiBuilder builder) {
|
||||
builder.enforceCommentTokens(SKIP_TOKENS);
|
||||
|
||||
while (!builder.eof()) {
|
||||
final IElementType tokenType = getTokenType(builder);
|
||||
IElementType tokenType = getTokenType(builder);
|
||||
if (tokenType == JavaDocTokenType.DOC_TAG_NAME) {
|
||||
parseTag(builder);
|
||||
}
|
||||
@@ -78,19 +77,19 @@ public class JavadocParser {
|
||||
}
|
||||
}
|
||||
|
||||
private static void parseTag(@NotNull final PsiBuilder builder) {
|
||||
final String tagName = builder.getTokenText();
|
||||
final PsiBuilder.Marker tag = builder.mark();
|
||||
private static void parseTag(PsiBuilder builder) {
|
||||
String tagName = builder.getTokenText();
|
||||
PsiBuilder.Marker tag = builder.mark();
|
||||
builder.advanceLexer();
|
||||
while (true) {
|
||||
final IElementType tokenType = getTokenType(builder);
|
||||
IElementType tokenType = getTokenType(builder);
|
||||
if (tokenType == null || tokenType == JavaDocTokenType.DOC_TAG_NAME || tokenType == JavaDocTokenType.DOC_COMMENT_END) break;
|
||||
parseDataItem(builder, tagName, false);
|
||||
}
|
||||
tag.done(JavaDocElementType.DOC_TAG);
|
||||
}
|
||||
|
||||
private static void parseDataItem(@NotNull final PsiBuilder builder, @Nullable final String tagName, final boolean isInline) {
|
||||
private static void parseDataItem(PsiBuilder builder, @Nullable String tagName, boolean isInline) {
|
||||
IElementType tokenType = getTokenType(builder);
|
||||
if (tokenType == JavaDocTokenType.DOC_INLINE_TAG_START) {
|
||||
int braceScope = getBraceScope(builder);
|
||||
@@ -101,7 +100,7 @@ public class JavadocParser {
|
||||
return;
|
||||
}
|
||||
|
||||
final PsiBuilder.Marker tag = builder.mark();
|
||||
PsiBuilder.Marker tag = builder.mark();
|
||||
builder.advanceLexer();
|
||||
|
||||
tokenType = getTokenType(builder);
|
||||
@@ -136,30 +135,24 @@ public class JavadocParser {
|
||||
}
|
||||
else if (TAG_VALUES_SET.contains(tokenType)) {
|
||||
if (SEE_TAG.equals(tagName) && !isInline ||
|
||||
LINK_TAG.equals(tagName) && isInline) {
|
||||
LINK_TAG.equals(tagName) && isInline ||
|
||||
JavaParserUtil.getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_4) && LINK_PLAIN_TAG.equals(tagName) && isInline) {
|
||||
parseSeeTagValue(builder, false);
|
||||
}
|
||||
else if (!isInline && (THROWS_TAG.equals(tagName) || EXCEPTION_TAG.equals(tagName))) {
|
||||
PsiBuilder.Marker tagValue = builder.mark();
|
||||
builder.remapCurrentToken(JavaDocElementType.DOC_REFERENCE_HOLDER);
|
||||
builder.advanceLexer();
|
||||
tagValue.done(JavaDocElementType.DOC_TAG_VALUE_ELEMENT);
|
||||
}
|
||||
else if (!isInline && tagName != null && tagName.equals(PARAM_TAG)) {
|
||||
parseSimpleTagValue(builder, true);
|
||||
}
|
||||
else if (JavaParserUtil.getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_5) && VALUE_TAG.equals(tagName) && isInline) {
|
||||
parseSeeTagValue(builder, true);
|
||||
}
|
||||
else {
|
||||
if (JavaParserUtil.getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_4) && LINK_PLAIN_TAG.equals(tagName) && isInline) {
|
||||
parseSeeTagValue(builder, false);
|
||||
}
|
||||
else if (!isInline && (THROWS_TAG.equals(tagName) || EXCEPTION_TAG.equals(tagName))) {
|
||||
final PsiBuilder.Marker tagValue = builder.mark();
|
||||
builder.remapCurrentToken(JavaDocElementType.DOC_REFERENCE_HOLDER);
|
||||
builder.advanceLexer();
|
||||
tagValue.done(JavaDocElementType.DOC_TAG_VALUE_ELEMENT);
|
||||
}
|
||||
else if (!isInline && tagName != null && tagName.equals(PARAM_TAG)) {
|
||||
parseSimpleTagValue(builder, true);
|
||||
}
|
||||
else {
|
||||
if (JavaParserUtil.getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_5) && VALUE_TAG.equals(tagName) && isInline) {
|
||||
parseSeeTagValue(builder, true);
|
||||
}
|
||||
else {
|
||||
parseSimpleTagValue(builder, false);
|
||||
}
|
||||
}
|
||||
parseSimpleTagValue(builder, false);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -167,13 +160,13 @@ public class JavadocParser {
|
||||
}
|
||||
}
|
||||
|
||||
private static void parseSeeTagValue(@NotNull final PsiBuilder builder, boolean allowBareFieldReference) {
|
||||
final IElementType tokenType = getTokenType(builder);
|
||||
private static void parseSeeTagValue(PsiBuilder builder, boolean allowBareFieldReference) {
|
||||
IElementType tokenType = getTokenType(builder);
|
||||
if (tokenType == JavaDocTokenType.DOC_TAG_VALUE_SHARP_TOKEN) {
|
||||
parseMethodRef(builder, builder.mark());
|
||||
}
|
||||
else if (tokenType == JavaDocTokenType.DOC_TAG_VALUE_TOKEN) {
|
||||
final PsiBuilder.Marker refStart = builder.mark();
|
||||
PsiBuilder.Marker refStart = builder.mark();
|
||||
builder.remapCurrentToken(JavaDocElementType.DOC_REFERENCE_HOLDER);
|
||||
builder.advanceLexer();
|
||||
|
||||
@@ -190,13 +183,13 @@ public class JavadocParser {
|
||||
}
|
||||
}
|
||||
else {
|
||||
final PsiBuilder.Marker tagValue = builder.mark();
|
||||
PsiBuilder.Marker tagValue = builder.mark();
|
||||
builder.advanceLexer();
|
||||
tagValue.done(JavaDocElementType.DOC_TAG_VALUE_ELEMENT);
|
||||
}
|
||||
}
|
||||
|
||||
private static void parseMethodRef(@NotNull final PsiBuilder builder, @NotNull final PsiBuilder.Marker refStart) {
|
||||
private static void parseMethodRef(PsiBuilder builder, PsiBuilder.Marker refStart) {
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_TAG_VALUE_SHARP_TOKEN) {
|
||||
builder.advanceLexer();
|
||||
}
|
||||
@@ -209,7 +202,7 @@ public class JavadocParser {
|
||||
if (getTokenType(builder) == JavaDocTokenType.DOC_TAG_VALUE_LPAREN) {
|
||||
builder.advanceLexer();
|
||||
|
||||
final PsiBuilder.Marker subValue = builder.mark();
|
||||
PsiBuilder.Marker subValue = builder.mark();
|
||||
|
||||
IElementType tokenType;
|
||||
while (TAG_VALUES_SET.contains(tokenType = getTokenType(builder))) {
|
||||
@@ -239,8 +232,8 @@ public class JavadocParser {
|
||||
refStart.done(JavaDocElementType.DOC_METHOD_OR_FIELD_REF);
|
||||
}
|
||||
|
||||
private static void parseSimpleTagValue(@NotNull final PsiBuilder builder, final boolean parameter) {
|
||||
final PsiBuilder.Marker tagValue = builder.mark();
|
||||
private static void parseSimpleTagValue(PsiBuilder builder, boolean parameter) {
|
||||
PsiBuilder.Marker tagValue = builder.mark();
|
||||
while (TAG_VALUES_SET.contains(getTokenType(builder))) {
|
||||
builder.advanceLexer();
|
||||
}
|
||||
@@ -248,7 +241,7 @@ public class JavadocParser {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static IElementType getTokenType(@NotNull final PsiBuilder builder) {
|
||||
private static IElementType getTokenType(PsiBuilder builder) {
|
||||
IElementType tokenType;
|
||||
while ((tokenType = builder.getTokenType()) == JavaDocTokenType.DOC_SPACE) {
|
||||
builder.remapCurrentToken(TokenType.WHITE_SPACE);
|
||||
@@ -257,19 +250,19 @@ public class JavadocParser {
|
||||
return tokenType;
|
||||
}
|
||||
|
||||
private static int getBraceScope(@NotNull final PsiBuilder builder) {
|
||||
final Integer braceScope = builder.getUserDataUnprotected(BRACE_SCOPE_KEY);
|
||||
private static int getBraceScope(PsiBuilder builder) {
|
||||
Integer braceScope = builder.getUserDataUnprotected(BRACE_SCOPE_KEY);
|
||||
return braceScope != null ? braceScope : 0;
|
||||
}
|
||||
|
||||
private static void setBraceScope(@NotNull final PsiBuilder builder, final int braceScope) {
|
||||
private static void setBraceScope(PsiBuilder builder, int braceScope) {
|
||||
builder.putUserDataUnprotected(BRACE_SCOPE_KEY, braceScope);
|
||||
}
|
||||
|
||||
private static void remapAndAdvance(@NotNull final PsiBuilder builder) {
|
||||
private static void remapAndAdvance(PsiBuilder builder) {
|
||||
if (INLINE_TAG_BORDERS_SET.contains(builder.getTokenType()) && getBraceScope(builder) != 1) {
|
||||
builder.remapCurrentToken(JavaDocTokenType.DOC_COMMENT_DATA);
|
||||
}
|
||||
builder.advanceLexer();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
class Test {
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
* @throws java.lang.Exception an exception
|
||||
*/
|
||||
public void foo() {}
|
||||
public void foo() {}
|
||||
}
|
||||
@@ -21,7 +21,7 @@ PsiJavaFile:Exception0.java
|
||||
PsiDocToken:DOC_COMMENT_START('/**')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*')
|
||||
PsiDocToken:DOC_COMMENT_DATA(' ')
|
||||
PsiDocToken:DOC_COMMENT_DATA(' ')
|
||||
PsiDocTag:@throws
|
||||
PsiDocToken:DOC_TAG_NAME('@throws')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -41,9 +41,11 @@ PsiJavaFile:Exception0.java
|
||||
PsiIdentifier:Exception('Exception')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiDocToken:DOC_COMMENT_DATA('an exception')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiDocToken:DOC_COMMENT_END('*/')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiModifierList:public
|
||||
PsiKeyword:public('public')
|
||||
PsiTypeParameterList
|
||||
|
||||
Reference in New Issue
Block a user