Skip to content

Commit 8abfbc2

Browse files
committed
Add support for pattern comprehension
1 parent 55f6f00 commit 8abfbc2

File tree

13 files changed

+276
-13
lines changed

13 files changed

+276
-13
lines changed

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/CypherParser.java

Lines changed: 53 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/CypherExpression.java

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/CypherPatternComprehension.java

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/CypherPropertyExpression.java

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/CypherTypes.java

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/CypherVisitor.java

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/impl/CypherExpressionImpl.java

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/impl/CypherPatternComprehensionImpl.java

Lines changed: 47 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/gen/com/neueda/jetbrains/plugin/graphdb/language/cypher/psi/impl/CypherPropertyExpressionImpl.java

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

language/cypher/src/main/java/com/neueda/jetbrains/plugin/graphdb/language/cypher/lexer/Cypher.bnf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ private Expression1 ::= NumberLiteral
378378
| MapLiteral
379379
| MapProjection
380380
| ListComprehension
381+
| PatternComprehension
381382
| ("[" Expression? ("," Expression)* "]")
382383
| FilterFunctionInvocation
383384
| ExtractFunctionInvocation
@@ -418,6 +419,8 @@ NoneFunctionInvocation ::= K_NONE "(" FilterExpression ")"
418419
SingleFunctionInvocation ::= K_SINGLE "(" FilterExpression ")"
419420
ExistsFunctionInvocation ::= K_EXISTS "(" Expression ")"
420421

422+
PatternComprehension ::= "[" RelationshipsPattern (K_WHERE Expression)? "|" Expression "]"
423+
421424
/*************************
422425
* Literals
423426
*/

testing/integration-neo4j/src/test/java/com/neueda/jetbrains/plugin/graphdb/test/integration/neo4j/tests/cypher/parsing/ExpressionsParsingTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,8 @@ public void testSpecialFunctions() {
3131
public void testMapProjection() {
3232
doTest(true);
3333
}
34+
35+
public void testPatternComprehension() {
36+
doTest(true);
37+
}
3438
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
RETURN [(n)-[]-() | n.property];
2+
RETURN [(n)-[]-() WHERE n.property = 2 | n.property];

0 commit comments

Comments
 (0)