mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
DeclarationParser: allow local record declarations
GitOrigin-RevId: f829792d6849fd3af59f587664e0fc8b2e3d7839
This commit is contained in:
committed by
intellij-monorepo-bot
parent
158abe45b8
commit
18e6f7ba1f
@@ -0,0 +1,5 @@
|
||||
class A {
|
||||
void test() {
|
||||
record A(String s) { }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
PsiJavaFile:LocalRecord.java
|
||||
PsiImportList
|
||||
<empty list>
|
||||
PsiClass:A
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiKeyword:class('class')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:A('A')
|
||||
PsiTypeParameterList
|
||||
<empty list>
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiMethod:test
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeParameterList
|
||||
<empty list>
|
||||
PsiTypeElement:void
|
||||
PsiKeyword:void('void')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:test('test')
|
||||
PsiParameterList:()
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiDeclarationStatement
|
||||
PsiClass:A
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiKeyword:record('record')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:A('A')
|
||||
PsiTypeParameterList
|
||||
<empty list>
|
||||
PsiRecordHeader
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiRecordComponent:s
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeElement:String
|
||||
PsiJavaCodeReferenceElement:String
|
||||
PsiIdentifier:String('String')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:s('s')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class A {
|
||||
void test() {
|
||||
record
|
||||
record.
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -35,18 +35,18 @@ PsiJavaFile:RecordInCodeBlock.java
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiExpressionStatement
|
||||
PsiReferenceExpression:record
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:record('record')
|
||||
PsiErrorElement:';' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiExpressionStatement
|
||||
PsiMethodCallExpression:foo()
|
||||
PsiReferenceExpression:foo
|
||||
PsiMethodCallExpression:record.
|
||||
foo()
|
||||
PsiReferenceExpression:record.
|
||||
foo
|
||||
PsiReferenceExpression:record
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:record('record')
|
||||
PsiJavaToken:DOT('.')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiIdentifier:foo('foo')
|
||||
PsiExpressionList
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
|
||||
+1
@@ -51,6 +51,7 @@ public class ClassParsingTest extends JavaParsingTestCase {
|
||||
public void testRecordNoClosingTypeBracket() { doTest(true); }
|
||||
public void testRecordWithModifiers() { doTest(true); }
|
||||
public void testRecordInCodeBlock() { doTest(true); }
|
||||
public void testLocalRecord() { doTest(true); }
|
||||
public void testCompactConstructor0() { doTest(true); }
|
||||
public void testCompactConstructor1() { doTest(true); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user