Skip to content

Commit 32bf0f0

Browse files
Add colon token to MatchStatement and CaseBlock interfaces
1 parent 67167a1 commit 32bf0f0

File tree

5 files changed

+16
-0
lines changed

5 files changed

+16
-0
lines changed

python-frontend/src/main/java/org/sonar/plugins/python/api/tree/CaseBlock.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public interface CaseBlock extends Tree {
4141
@CheckForNull
4242
Guard guard();
4343

44+
Token colon();
45+
4446
StatementList body();
4547

4648
}

python-frontend/src/main/java/org/sonar/plugins/python/api/tree/MatchStatement.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,7 @@ public interface MatchStatement extends Statement {
3838

3939
Expression subjectExpression();
4040

41+
Token colon();
42+
4143
List<CaseBlock> caseBlocks();
4244
}

python-frontend/src/main/java/org/sonar/python/tree/CaseBlockImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@ public Guard guard() {
7777
return guard;
7878
}
7979

80+
@Override
81+
public Token colon() {
82+
return colon;
83+
}
84+
8085
@Override
8186
public StatementList body() {
8287
return body;

python-frontend/src/main/java/org/sonar/python/tree/MatchStatementImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ public Expression subjectExpression() {
6161
return subjectExpression;
6262
}
6363

64+
@Override
65+
public Token colon() {
66+
return colon;
67+
}
68+
6469
@Override
6570
public List<CaseBlock> caseBlocks() {
6671
return caseBlocks;

python-frontend/src/test/java/org/sonar/python/tree/PythonTreeMakerMatchStatementTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,15 @@ public void match_statement() {
6565
assertThat(matchStatement.getKind()).isEqualTo(Kind.MATCH_STMT);
6666
assertThat(matchStatement.matchKeyword().value()).isEqualTo("match");
6767
assertThat(matchStatement.subjectExpression().getKind()).isEqualTo(Kind.NAME);
68+
assertThat(matchStatement.colon().value()).isEqualTo(":");
6869
assertThat(matchStatement.caseBlocks()).hasSize(1);
6970
assertThat(matchStatement.children()).extracting(Tree::getKind)
7071
.containsExactly(Kind.TOKEN, Kind.NAME, Kind.TOKEN, Kind.TOKEN, Kind.TOKEN, Kind.CASE_BLOCK, Kind.TOKEN);
7172

7273
CaseBlock caseBlock = matchStatement.caseBlocks().get(0);
7374
assertThat(caseBlock.caseKeyword().value()).isEqualTo("case");
7475
assertThat(caseBlock.guard()).isNull();
76+
assertThat(caseBlock.colon().value()).isEqualTo(":");
7577
assertThat(caseBlock.body().statements()).extracting(Tree::getKind).containsExactly(Kind.EXPRESSION_STMT);
7678
assertThat(caseBlock.children()).extracting(Tree::getKind)
7779
.containsExactly(Kind.TOKEN, Kind.NUMERIC_LITERAL_PATTERN, Kind.TOKEN, Kind.STATEMENT_LIST);

0 commit comments

Comments
 (0)