mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[java-psi] Add implicit classes to preceding comment set
Fixes IDEA-355602 Implicit class parsing: Javadoc is not attached to the method GitOrigin-RevId: bd18f57e8106618aa741203e6cb3f4cd8cffe13d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
23e3c13432
commit
013d13142d
@@ -17,7 +17,8 @@ import static com.intellij.psi.tree.ParentAwareTokenSet.orSet;
|
||||
public class WhiteSpaceAndCommentSetHolder {
|
||||
public static final WhiteSpaceAndCommentSetHolder INSTANCE = new WhiteSpaceAndCommentSetHolder();
|
||||
private static final ParentAwareTokenSet PRECEDING_COMMENT_SET =
|
||||
orSet(create(BasicJavaElementType.BASIC_MODULE), BasicElementTypes.BASIC_FULL_MEMBER_BIT_SET);
|
||||
orSet(create(BasicJavaElementType.BASIC_MODULE, BasicJavaElementType.BASIC_IMPLICIT_CLASS),
|
||||
BasicElementTypes.BASIC_FULL_MEMBER_BIT_SET);
|
||||
|
||||
private static final ParentAwareTokenSet TRAILING_COMMENT_SET =
|
||||
orSet(create(BasicJavaElementType.BASIC_PACKAGE_STATEMENT), BasicElementTypes.BASIC_IMPORT_STATEMENT_BASE_BIT_SET,
|
||||
|
||||
@@ -139,4 +139,7 @@ public abstract class AbstractBasicClassParsingTest extends AbstractBasicJavaPar
|
||||
public void testImplicitClass5() {
|
||||
doTest(true);
|
||||
}
|
||||
public void testImplicitClassJavaDoc() {
|
||||
doTest(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import java.util.Objects;// "Convert record to class" "true-preview"
|
||||
import java.util.Objects;
|
||||
|
||||
// "Convert record to class" "true-preview"
|
||||
final class Point {
|
||||
private final double x;
|
||||
private final double y;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import java.util.Objects;// "Convert record to class" "true-preview"
|
||||
import java.util.Objects;
|
||||
|
||||
// "Convert record to class" "true-preview"
|
||||
public final class Point {
|
||||
private final int x;
|
||||
private final int y;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* Main method
|
||||
*/
|
||||
public static void main() {
|
||||
System.out.println("Hello");
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
PsiJavaFile:ImplicitClassJavaDoc.java
|
||||
PsiImportList
|
||||
<empty list>
|
||||
PsiImplicitClass
|
||||
PsiMethod:main
|
||||
PsiDocComment
|
||||
PsiDocToken:DOC_COMMENT_START('/**')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*')
|
||||
PsiDocToken:DOC_COMMENT_DATA(' Main method')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiDocToken:DOC_COMMENT_END('*/')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiModifierList:public static
|
||||
PsiKeyword:public('public')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiKeyword:static('static')
|
||||
PsiTypeParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTypeElement:void
|
||||
PsiKeyword:void('void')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:main('main')
|
||||
PsiParameterList:()
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiExpressionStatement
|
||||
PsiMethodCallExpression:System.out.println("Hello")
|
||||
PsiReferenceExpression:System.out.println
|
||||
PsiReferenceExpression:System.out
|
||||
PsiReferenceExpression:System
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:System('System')
|
||||
PsiJavaToken:DOT('.')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:out('out')
|
||||
PsiJavaToken:DOT('.')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:println('println')
|
||||
PsiExpressionList
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiLiteralExpression:"Hello"
|
||||
PsiJavaToken:STRING_LITERAL('"Hello"')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiJavaToken:SEMICOLON(';')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,57 @@
|
||||
java.FILE
|
||||
IMPORT_LIST
|
||||
<empty list>
|
||||
IMPLICIT_CLASS
|
||||
METHOD
|
||||
DOC_COMMENT
|
||||
DOC_COMMENT_START
|
||||
WHITE_SPACE
|
||||
DOC_COMMENT_LEADING_ASTERISKS
|
||||
DOC_COMMENT_DATA
|
||||
WHITE_SPACE
|
||||
DOC_COMMENT_END
|
||||
WHITE_SPACE
|
||||
MODIFIER_LIST
|
||||
PUBLIC_KEYWORD
|
||||
WHITE_SPACE
|
||||
STATIC_KEYWORD
|
||||
TYPE_PARAMETER_LIST
|
||||
<empty list>
|
||||
WHITE_SPACE
|
||||
TYPE
|
||||
VOID_KEYWORD
|
||||
WHITE_SPACE
|
||||
IDENTIFIER
|
||||
PARAMETER_LIST
|
||||
LPARENTH
|
||||
RPARENTH
|
||||
THROWS_LIST
|
||||
<empty list>
|
||||
WHITE_SPACE
|
||||
CODE_BLOCK
|
||||
LBRACE
|
||||
WHITE_SPACE
|
||||
EXPRESSION_STATEMENT
|
||||
METHOD_CALL_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
REFERENCE_PARAMETER_LIST
|
||||
<empty list>
|
||||
IDENTIFIER
|
||||
DOT
|
||||
REFERENCE_PARAMETER_LIST
|
||||
<empty list>
|
||||
IDENTIFIER
|
||||
DOT
|
||||
REFERENCE_PARAMETER_LIST
|
||||
<empty list>
|
||||
IDENTIFIER
|
||||
EXPRESSION_LIST
|
||||
LPARENTH
|
||||
LITERAL_EXPRESSION
|
||||
STRING_LITERAL
|
||||
RPARENTH
|
||||
SEMICOLON
|
||||
WHITE_SPACE
|
||||
RBRACE
|
||||
Reference in New Issue
Block a user