Skip to content

Commit bc88ed5

Browse files
authored
(java) add Java 14 switch expression keyword yield (#3650)
1 parent f035aab commit bc88ed5

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

CHANGES.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Grammars:
1414
- fix(bash) recognize the `((` keyword [Nick Chambers][]
1515
- fix(nix) support escaped dollar signs in strings [h7x4][]
1616
- enh(cmake) support bracket comments [Hirse][]
17+
- enh(java) add yield keyword to java [MBoegers][]
1718
- enh(java) add permits keyword to java [MBoegers][]
1819

1920
[Josh Goebel]: https://github.com/joshgoebel

src/languages/java.js

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export default function(hljs) {
7373
'exports',
7474
'do',
7575
'sealed',
76+
'yield',
7677
'permits'
7778
];
7879

test/markup/java/switch.expect.txt

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<span class="hljs-keyword">switch</span>(a) {
2+
<span class="hljs-keyword">case</span> <span class="hljs-literal">null</span> -&gt; <span class="hljs-keyword">yield</span> <span class="hljs-string">&quot;n&quot;</span>;
3+
<span class="hljs-keyword">case</span> String s -&gt; <span class="hljs-keyword">yield</span> <span class="hljs-string">&quot;s&quot;</span>;
4+
<span class="hljs-keyword">case</span> Object o -&gt; <span class="hljs-keyword">yield</span> <span class="hljs-string">&quot;o&quot;</span>;
5+
<span class="hljs-keyword">default</span>: <span class="hljs-keyword">yield</span> <span class="hljs-string">&quot;d&quot;</span>,
6+
}
7+
8+
<span class="hljs-keyword">switch</span>(a) {
9+
<span class="hljs-keyword">case</span> <span class="hljs-literal">null</span>: <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;n&quot;</span>;
10+
<span class="hljs-keyword">case</span> <span class="hljs-string">&quot;s&quot;</span>: <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;s&quot;</span>;
11+
<span class="hljs-keyword">case</span> <span class="hljs-string">&quot;o&quot;</span>: <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;o&quot;</span>;
12+
<span class="hljs-keyword">default</span>: <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;d&quot;</span>;
13+
}

test/markup/java/switch.txt

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
switch(a) {
2+
case null -> yield "n";
3+
case String s -> yield "s";
4+
case Object o -> yield "o";
5+
default: yield "d",
6+
}
7+
8+
switch(a) {
9+
case null: return "n";
10+
case "s": return "s";
11+
case "o": return "o";
12+
default: return "d";
13+
}

0 commit comments

Comments
 (0)