Skip to content

Commit daca2db

Browse files
committed
Extracted literals to own PSI nodes
1 parent ba45a7c commit daca2db

24 files changed

+86
-41
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/expressionLanguage/ExpressionLanguage.bnf

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,12 @@ simple_ref_expr ::= identifier {extends=ref_expr elementType=ref_expr}
136136
qualification_expr ::= expr '.' identifier {extends=ref_expr elementType=ref_expr}
137137
array_access_expr ::= expr L_SQUARE_BRACKET expr R_SQUARE_BRACKET {extends=ref_expr elementType=ref_expr}
138138

139-
literal_expr ::= number | string | true | false | null
139+
literal_expr ::= number_literal | string_literal | boolean_literal | null_literal
140+
string_literal ::= string
141+
number_literal ::= number
142+
boolean_literal ::= true | false
143+
null_literal ::= null
144+
140145
array_expr ::= L_SQUARE_BRACKET expr_list? R_SQUARE_BRACKET
141146
hash_expr ::= L_CURLY_BRACKET hash_entries? R_CURLY_BRACKET
142147

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/testData/ArrayLiteral.txt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ Expression Language File
22
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
33
PsiElement( ExpressionLanguageType.[)('[')
44
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
5-
PsiElement( ExpressionLanguageType.number)('1')
5+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
6+
PsiElement( ExpressionLanguageType.number)('1')
67
PsiElement( ExpressionLanguageType.syntax)(',')
78
PsiWhiteSpace(' ')
89
ExpressionLanguageRefExprImpl(REF_EXPR)
@@ -11,7 +12,8 @@ Expression Language File
1112
PsiElement( ExpressionLanguageType.syntax)(',')
1213
PsiWhiteSpace(' ')
1314
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
14-
PsiElement( ExpressionLanguageType.string)('"string"')
15+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
16+
PsiElement( ExpressionLanguageType.string)('"string"')
1517
PsiElement( ExpressionLanguageType.syntax)(',')
1618
PsiWhiteSpace(' ')
1719
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
@@ -22,15 +24,18 @@ Expression Language File
2224
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
2325
PsiElement( ExpressionLanguageType.[)('[')
2426
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
25-
PsiElement( ExpressionLanguageType.number)('1')
27+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
28+
PsiElement( ExpressionLanguageType.number)('1')
2629
PsiElement( ExpressionLanguageType.syntax)(',')
2730
PsiWhiteSpace(' ')
2831
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
29-
PsiElement( ExpressionLanguageType.number)('2')
32+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
33+
PsiElement( ExpressionLanguageType.number)('2')
3034
PsiElement( ExpressionLanguageType.syntax)(',')
3135
PsiWhiteSpace(' ')
3236
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
33-
PsiElement( ExpressionLanguageType.number)('3')
37+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
38+
PsiElement( ExpressionLanguageType.number)('3')
3439
PsiElement( ExpressionLanguageType.])(']')
3540
PsiElement( ExpressionLanguageType.syntax)(',')
3641
PsiWhiteSpace(' ')
@@ -47,15 +52,17 @@ Expression Language File
4752
PsiElement( ExpressionLanguageType.syntax)(':')
4853
PsiWhiteSpace(' ')
4954
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
50-
PsiElement( ExpressionLanguageType.string)('"Foo"')
55+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
56+
PsiElement( ExpressionLanguageType.string)('"Foo"')
5157
PsiElement( ExpressionLanguageType.syntax)(',')
5258
PsiWhiteSpace(' ')
5359
ExpressionLanguageIdentifierImpl(IDENTIFIER)
5460
PsiElement( ExpressionLanguageType.id)('bar')
5561
PsiElement( ExpressionLanguageType.syntax)(':')
5662
PsiWhiteSpace(' ')
5763
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
58-
PsiElement( ExpressionLanguageType.string)('"Bar"')
64+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
65+
PsiElement( ExpressionLanguageType.string)('"Bar"')
5966
PsiWhiteSpace(' ')
6067
PsiElement( ExpressionLanguageType.})('}')
6168
PsiElement( ExpressionLanguageType.])(']')
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Expression Language File
22
ExpressionLanguageDivExprImpl(DIV_EXPR)
33
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
4-
PsiElement( ExpressionLanguageType.number)('4')
4+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
5+
PsiElement( ExpressionLanguageType.number)('4')
56
PsiWhiteSpace(' ')
67
PsiElement( ExpressionLanguageType./)('/')
78
PsiWhiteSpace(' ')
89
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
9-
PsiElement( ExpressionLanguageType.number)('2')
10+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
11+
PsiElement( ExpressionLanguageType.number)('2')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.string)('""')
3+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
4+
PsiElement( ExpressionLanguageType.string)('""')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.string)('''')
3+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
4+
PsiElement( ExpressionLanguageType.string)('''')

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/testData/ExpExpr.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ Expression Language File
55
PsiElement( ExpressionLanguageType.id)('a')
66
PsiElement( ExpressionLanguageType.**)('**')
77
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
8-
PsiElement( ExpressionLanguageType.number)('2')
8+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
9+
PsiElement( ExpressionLanguageType.number)('2')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.number)('1.99E+3')
3+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
4+
PsiElement( ExpressionLanguageType.number)('1.99E+3')
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.false)('false')
3+
ExpressionLanguageBooleanLiteralImpl(BOOLEAN_LITERAL)
4+
PsiElement( ExpressionLanguageType.false)('false')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.false)('FALSE')
3+
ExpressionLanguageBooleanLiteralImpl(BOOLEAN_LITERAL)
4+
PsiElement( ExpressionLanguageType.false)('FALSE')

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/testData/HashLiteral.txt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,17 @@ Expression Language File
77
PsiElement( ExpressionLanguageType.syntax)(':')
88
PsiWhiteSpace(' ')
99
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
10-
PsiElement( ExpressionLanguageType.number)('1')
10+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
11+
PsiElement( ExpressionLanguageType.number)('1')
1112
PsiElement( ExpressionLanguageType.syntax)(',')
1213
PsiWhiteSpace(' ')
1314
ExpressionLanguageIdentifierImpl(IDENTIFIER)
1415
PsiElement( ExpressionLanguageType.id)('b')
1516
PsiElement( ExpressionLanguageType.syntax)(':')
1617
PsiWhiteSpace(' ')
1718
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
18-
PsiElement( ExpressionLanguageType.string)('"string"')
19+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
20+
PsiElement( ExpressionLanguageType.string)('"string"')
1921
PsiElement( ExpressionLanguageType.syntax)(',')
2022
PsiWhiteSpace(' ')
2123
ExpressionLanguageIdentifierImpl(IDENTIFIER)
@@ -48,15 +50,17 @@ Expression Language File
4850
PsiElement( ExpressionLanguageType.syntax)(':')
4951
PsiWhiteSpace(' ')
5052
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
51-
PsiElement( ExpressionLanguageType.number)('1')
53+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
54+
PsiElement( ExpressionLanguageType.number)('1')
5255
PsiElement( ExpressionLanguageType.syntax)(',')
5356
PsiWhiteSpace(' ')
5457
ExpressionLanguageIdentifierImpl(IDENTIFIER)
5558
PsiElement( ExpressionLanguageType.id)('bar')
5659
PsiElement( ExpressionLanguageType.syntax)(':')
5760
PsiWhiteSpace(' ')
5861
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
59-
PsiElement( ExpressionLanguageType.string)('"bar"')
62+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
63+
PsiElement( ExpressionLanguageType.string)('"bar"')
6064
PsiWhiteSpace(' ')
6165
PsiElement( ExpressionLanguageType.})('}')
6266
PsiElement( ExpressionLanguageType.syntax)(',')
@@ -77,15 +81,18 @@ Expression Language File
7781
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
7882
PsiElement( ExpressionLanguageType.[)('[')
7983
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
80-
PsiElement( ExpressionLanguageType.number)('1')
84+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
85+
PsiElement( ExpressionLanguageType.number)('1')
8186
PsiElement( ExpressionLanguageType.syntax)(',')
8287
PsiWhiteSpace(' ')
8388
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
84-
PsiElement( ExpressionLanguageType.number)('2')
89+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
90+
PsiElement( ExpressionLanguageType.number)('2')
8591
PsiElement( ExpressionLanguageType.syntax)(',')
8692
PsiWhiteSpace(' ')
8793
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
88-
PsiElement( ExpressionLanguageType.number)('3')
94+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
95+
PsiElement( ExpressionLanguageType.number)('3')
8996
PsiElement( ExpressionLanguageType.])(']')
9097
PsiWhiteSpace(' ')
9198
PsiElement( ExpressionLanguageType.})('}')
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Expression Language File
22
ExpressionLanguageMinusExprImpl(MINUS_EXPR)
33
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
4-
PsiElement( ExpressionLanguageType.number)('5')
4+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
5+
PsiElement( ExpressionLanguageType.number)('5')
56
PsiWhiteSpace(' ')
67
PsiElement( ExpressionLanguageType.-)('-')
78
PsiWhiteSpace(' ')
89
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
9-
PsiElement( ExpressionLanguageType.number)('1')
10+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
11+
PsiElement( ExpressionLanguageType.number)('1')
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Expression Language File
22
ExpressionLanguageModExprImpl(MOD_EXPR)
33
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
4-
PsiElement( ExpressionLanguageType.number)('17')
4+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
5+
PsiElement( ExpressionLanguageType.number)('17')
56
PsiWhiteSpace(' ')
67
PsiElement( ExpressionLanguageType.%)('%')
78
PsiWhiteSpace(' ')
89
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
9-
PsiElement( ExpressionLanguageType.number)('10')
10+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
11+
PsiElement( ExpressionLanguageType.number)('10')
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Expression Language File
22
ExpressionLanguageMulExprImpl(MUL_EXPR)
33
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
4-
PsiElement( ExpressionLanguageType.number)('2')
4+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
5+
PsiElement( ExpressionLanguageType.number)('2')
56
PsiWhiteSpace(' ')
67
PsiElement( ExpressionLanguageType.*)('*')
78
PsiWhiteSpace(' ')
89
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
9-
PsiElement( ExpressionLanguageType.number)('2')
10+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
11+
PsiElement( ExpressionLanguageType.number)('2')
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.null)('null')
3+
ExpressionLanguageNullLiteralImpl(NULL_LITERAL)
4+
PsiElement( ExpressionLanguageType.null)('null')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.null)('NULL')
3+
ExpressionLanguageNullLiteralImpl(NULL_LITERAL)
4+
PsiElement( ExpressionLanguageType.null)('NULL')
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.number)('2')
3+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
4+
PsiElement( ExpressionLanguageType.number)('2')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.number)('2.123')
3+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
4+
PsiElement( ExpressionLanguageType.number)('2.123')
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Expression Language File
22
ExpressionLanguagePlusExprImpl(PLUS_EXPR)
33
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
4-
PsiElement( ExpressionLanguageType.number)('5')
4+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
5+
PsiElement( ExpressionLanguageType.number)('5')
56
PsiWhiteSpace(' ')
67
PsiElement( ExpressionLanguageType.+)('+')
78
PsiWhiteSpace(' ')
89
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
9-
PsiElement( ExpressionLanguageType.number)('1')
10+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
11+
PsiElement( ExpressionLanguageType.number)('1')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.string)('"Hello World!"')
3+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
4+
PsiElement( ExpressionLanguageType.string)('"Hello World!"')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.string)(''Hello World!'')
3+
ExpressionLanguageStringLiteralImpl(STRING_LITERAL)
4+
PsiElement( ExpressionLanguageType.string)(''Hello World!'')
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.true)('true')
3+
ExpressionLanguageBooleanLiteralImpl(BOOLEAN_LITERAL)
4+
PsiElement( ExpressionLanguageType.true)('true')
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Expression Language File
22
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3-
PsiElement( ExpressionLanguageType.true)('TRUE')
3+
ExpressionLanguageBooleanLiteralImpl(BOOLEAN_LITERAL)
4+
PsiElement( ExpressionLanguageType.true)('TRUE')

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/testData/UnaryMinus.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ Expression Language File
22
ExpressionLanguageUnaryMinExprImpl(UNARY_MIN_EXPR)
33
PsiElement( ExpressionLanguageType.-)('-')
44
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
5-
PsiElement( ExpressionLanguageType.number)('1')
5+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
6+
PsiElement( ExpressionLanguageType.number)('1')

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/testData/UnaryPlus.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ Expression Language File
22
ExpressionLanguageUnaryPlusExprImpl(UNARY_PLUS_EXPR)
33
PsiElement( ExpressionLanguageType.+)('+')
44
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
5-
PsiElement( ExpressionLanguageType.number)('1')
5+
ExpressionLanguageNumberLiteralImpl(NUMBER_LITERAL)
6+
PsiElement( ExpressionLanguageType.number)('1')

0 commit comments

Comments
 (0)