runtime(java): Include element values in non-marker annotations (#14979)

Commit: 
https://github.com/vim/vim/commit/902b766858fad89ab30b4e0a92ddd1244b2a4cbe
Author: Aliaksei Budavei <[email protected]>
Date:   Thu Jun 13 18:30:09 2024 +0300

    runtime(java): Include element values in non-marker annotations 
(https://github.com/vim/vim/issues/14979)
    
    Make a formal definition for normal and single-element kinds
    of annotations that otherwise require for their containment
    to repeat each time all syntax groups that describe element
    values.
    
    Reference:
    https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.7
    
    Signed-off-by: Aliaksei Budavei <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/runtime/syntax/java.vim b/runtime/syntax/java.vim
index f5910a855..1f71f9e4e 100644
--- a/runtime/syntax/java.vim
+++ b/runtime/syntax/java.vim
@@ -3,7 +3,7 @@
 " Maintainer:          Aliaksei Budavei <0x000c70 AT gmail DOT com>
 " Former Maintainer:   Claudio Fleiner <[email protected]>
 " Repository:          https://github.com/zzzyxwvut/java-vim.git
-" Last Change:         2024 Jun 08
+" Last Change:         2024 Jun 10
 
 " Please check :help java.vim for comments on some of the options available.
 
@@ -99,6 +99,7 @@ syn match   javaClassDecl     "\<record\>\%(\s*(\)\@!"
 syn match   javaClassDecl      "^class\>"
 syn match   javaClassDecl      "[^.]\s*\<class\>"ms=s+1
 syn match   javaAnnotation     "@\%(\K\k*\.\)*\K\k*\>"
+syn region  javaAnnotation     transparent matchgroup=javaAnnotationStart 
start=/@\%(\K\k*\.\)*\K\k*(/ end=/)/ skip=/\/\*.\{-}\*\/\|\/\/.*$/ 
contains=javaAnnotation,javaParenT,javaBraces,javaString,javaBoolean,javaNumber,javaTypedef,javaComment,javaLineComment
 syn match   javaClassDecl      "@interface\>"
 syn keyword javaBranch         break continue nextgroup=javaUserLabelRef 
skipwhite
 syn match   javaUserLabelRef   "\k\+" contained
@@ -497,6 +498,7 @@ hi def link javaConstant            Constant
 hi def link javaTypedef                Typedef
 hi def link javaTodo                   Todo
 hi def link javaAnnotation             PreProc
+hi def link javaAnnotationStart                javaAnnotation
 
 hi def link javaCommentTitle           SpecialComment
 hi def link javaDocTags                Special
diff --git a/runtime/syntax/testdir/dumps/java_annotations_00.dump 
b/runtime/syntax/testdir/dumps/java_annotations_00.dump
new file mode 100644
index 000000000..d9139c804
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/java_annotations_00.dump
@@ -0,0 +1,20 @@
+>/+0#0000e05#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| 
|g|:|j|a|v|a|_|h|i|g|h|l|i|g|h|t|_|f|u|n|c|t|i|o|n|s| |=| |'|s|t|y|l|e|'| 
+0#0000000&@16
+@75
+@75
+|i+0#e000e06&|m|p|o|r|t| 
+0#0000000&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|E|l|e|m|e|n|t|T|y|p|e|;| 
@34
+|i+0#e000e06&|m|p|o|r|t| 
+0#0000000&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|;| @39
+@75
+|c+0#00e0003&|l|a|s@1| +0#0000000&|A|n@1|o|t|a|t|i|o|n|s|T|e|s|t|s| @52
+|{+0#00e0e07&| +0#0000000&@73
+@4|@+0#e000e06&|T|a|r|g|e|t|(|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|T|Y|P|E|_|U|S|E|)+0#e000e06&|
 +0#0000000&@41
+@4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|a|g| @56
+@4|{+0#00e0e07&| +0#0000000&@69
+| +0#00e0e07&@7|S|t|r|i|n|g| |v|a|l|u|e|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| +0#0000000&|"+0#e000002&@1|;+0#0000000&| 
@40
+| +0#00e0e07&@7|S|t|r|i|n|g| |k|i|n|d|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| +0#0000000&|"+0#e000002&@1|;+0#0000000&| 
@41
+@4|}+0#00e0e07&| +0#0000000&@69
+@75
+@4|@+0#e000e06&|T|a|r|g|e|t|(|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|T|Y|P|E|_|U|S|E|)+0#e000e06&|
 +0#0000000&@41
+@4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|e|x|t| @55
+@4|{+0#00e0e07&| +0#0000000&@69
+| +0#00e0e07&@7|S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|{+0#00e0e07&|"+0#e000002&@1|}+0#00e0e07&|;+0#0000000&| @36
+@57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/java_annotations_01.dump 
b/runtime/syntax/testdir/dumps/java_annotations_01.dump
new file mode 100644
index 000000000..7459bde71
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/java_annotations_01.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@3|}+0#00e0e07&| +0#0000000&@69
+@75
+@4|@+0#e000e06&|T|a|r|g|e|t|(|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|T|Y|P|E|_|U|S|E|)+0#e000e06&|
 +0#0000000&@41
+@4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|e|x|t| @55
+@4|{+0#00e0e07&| +0#0000000&@69
+| +0#00e0e07&@7>S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|{+0#00e0e07&|"+0#e000002&@1|}+0#00e0e07&|;+0#0000000&| @36
+@4|}+0#00e0e07&| +0#0000000&@69
+@75
+@4|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&| +0#0000000&@61
+@8|E|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,| @47
+@8|E|l|e|m|e|n|t|T|y|p|e|.|P|A|R|A|M|E|T|E|R|,| @44
+@8|E|l|e|m|e|n|t|T|y|p|e|.|T|Y|P|E|,| @49
+@4|}+0#00e0e07&|)+0#e000e06&| +0#0000000&@68
+@4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|L|a|b|e|l|s| @53
+@4|{+0#00e0e07&| +0#0000000&@69
+| +0#00e0e07&@7|L|a|b|e|l|[|]| |v|a|l|u|e|(|)|;+0#0000000&| @50
+@4|}+0#00e0e07&| +0#0000000&@69
+@75
+@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|(|{+0#00e0e07&|
 +0#0000000&@40
+@57|1|9|,|3|-|9| @7|2@1|%| 
diff --git a/runtime/syntax/testdir/dumps/java_annotations_02.dump 
b/runtime/syntax/testdir/dumps/java_annotations_02.dump
new file mode 100644
index 000000000..3ec693352
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/java_annotations_02.dump
@@ -0,0 +1,20 @@
+| 
+0&#ffffff0@3|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|(|{+0#00e0e07&|
 +0#0000000&@40
+@8|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|E|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 @26
+@8|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|E|l|e|m|e|n|t|T|y|p|e|.|P|A|R|A|M|E|T|E|R|,|
 @23
+@8|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|E|l|e|m|e|n|t|T|y|p|e|.|T|Y|P|E|,|
 @28
+@4|}+0#00e0e07&|)+0#e000e06&| +0#0000000&@68
+@4>@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|L+0#0000000&|a|b|e|l|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@24
+@4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|L|a|b|e|l| @54
+@4|{+0#00e0e07&| +0#0000000&@69
+| +0#00e0e07&@7|S|t|r|i|n|g| |v|a|l|u|e|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| +0#0000000&|"+0#e000002&@1|;+0#0000000&| 
@40
+| +0#00e0e07&@7|C|l|a|s@1|<|?|>| |t|y|p|e|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|L|a|b|e|l|.|c+0#00e0003&|l|a|s@1|;+0#0000000&| @30
+| +0#00e0e07&@7|b+0#00e0003&|o@1|l|e|a|n| +0#00e0e07&|r|e|d|u|n|d|a|n|t|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|t+0#e000002&|r|u|e|;+0#0000000&| @33
+| +0#00e0e07&@7|T|e|x|t| |t|e|x|t|(|)| +0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|@+0#e000e06&|T|e|x|t|;+0#0000000&| @40
+| +0#00e0e07&@7|T|a|g| |h|e|a|d|(|)| +0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|@+0#e000e06&|T|a|g|(|)|;+0#0000000&| @40
+| +0#00e0e07&@7|T|a|g| |t|a|i|l|(|)| +0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|@+0#e000e06&|T|a|g|(|v+0#0000000&|a|l|u|e| |=| 
|"+0#e000002&@1|,+0#0000000&| |k|i|n|d| |=| 
|"+0#e000002&@1|)+0#e000e06&|;+0#0000000&| @19
+@4|}+0#00e0e07&| +0#0000000&@69
+@75
+@4|/+0#0000e05&|*| |U|s|e| |i|d|e|n|t|i|t|y| |c|a|s|t| |e|x|p|r|e|s@1|i|o|n|s| 
|t|o| |n|e|s|t| |T|Y|P|E|_|U|S|E| |a|n@1|o|t|a|t|i|o|n|s|.| |*|/| +0#0000000&@5
+@32|@+0#e000e06&|L|a|b|e|l|(| +0#0000000&@35
+@28|(|@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| +0#0000000&@38
+@57|3|7|,|2|-|5| @7|5|2|%| 
diff --git a/runtime/syntax/testdir/dumps/java_annotations_03.dump 
b/runtime/syntax/testdir/dumps/java_annotations_03.dump
new file mode 100644
index 000000000..92fe6672c
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/java_annotations_03.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@27|(|@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| +0#0000000&@38
+@8|(|@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|a|"|,+0#0000000&| |"+0#e000002&|a@1|"|,+0#0000000&| 
|"+0#e000002&|a@2|"|,+0#0000000&| |"+0#e000002&|a@3|"|,+0#0000000&| 
|}+0#00e0e07&|)+0#e000e06&| +0#0000000&|S|t|r|i|n|g|)| 
|"+0#e000002&|a|s|"|,+0#0000000&| @15
+@8|(|@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|b|"|,+0#0000000&| |"+0#e000002&|b@1|"|,+0#0000000&| 
|"+0#e000002&|b@2|"|,+0#0000000&| |"+0#e000002&|b@3|"|,+0#0000000&| 
|}+0#00e0e07&|)+0#e000e06&| +0#0000000&|S|t|r|i|n|g|)| 
|"+0#e000002&|b|s|"|,+0#0000000&| @15
+@8|(|@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|c|"|,+0#0000000&| |"+0#e000002&|c@1|"|,+0#0000000&| 
|"+0#e000002&|c@2|"|,+0#0000000&| |"+0#e000002&|c@3|"|,+0#0000000&| 
|}+0#00e0e07&|)+0#e000e06&| +0#0000000&|S|t|r|i|n|g|)| 
|"+0#e000002&|c|s|"|,+0#0000000&| @15
+@8|(|@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|d|"|,+0#0000000&| |"+0#e000002&|d@1|"|,+0#0000000&| 
|"+0#e000002&|d@2|"|,+0#0000000&| |"+0#e000002&|d@3|"|,+0#0000000&| 
|}+0#00e0e07&|)+0#e000e06&| +0#0000000&|S|t|r|i|n|g|)| 
|"+0#e000002&|d|s|"|,+0#0000000&| @15
+@28>}+0#00e0e07&|)+0#e000e06&| +0#0000000&|S|t|r|i|n|g|)| 
|"+0#e000002&|a|b|c|d|"|)+0#e000e06&| +0#0000000&@28
+@4|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|P|r|i|m|e|r| |{+0#00e0e07&| 
+0#0000000&|}+0#00e0e07&| +0#0000000&@50
+@75
+@4|@+0#e000e06&|L|a|b|e|l| +0#0000000&|@+0#e000e06&|L|a|b|e|l|(|)| 
+0#0000000&|@+0#e000e06&|L|a|b|e|l|(|"+0#0000000&@2| @44
+| +0#e000002&@3|n|\| +0#0000000&@68
+| +0#e000002&@3|o|\| +0#0000000&@68
+| +0#e000002&@3|O|\| +0#0000000&@68
+| +0#e000002&@3|p|"+0#0000000&@2|)+0#e000e06&| +0#0000000&@65
+@4|@+0#e000e06&|L|a|b|e|l|(|h+0#0000000&|e|a|d| |=| 
|@+0#e000e06&|T|a|g|(|v+0#0000000&|a|l|u|e| |=| 
|"+0#e000002&|@|L|a|b|e|l|"|/+0#0000e05&|*|,| |k|i|n|d| |=| 
|"|n|a|m|e|"|*|/|)+0#e000e06&@1| +0#0000000&@14
+@4|@+0#e000e06&|L|a|b|e|l|(|/+0#0000e05&@1| |v|a|l|u|e| |=| 
|"|M|e|t|h|o|d|"|,| +0#0000000&@43
+@8|t|y|p|e| |=| 
|A|n@1|o|t|a|t|i|o|n|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|,+0#0000000&| @36
+@8|r|e|d|u|n|d|a|n|t| |=| |!@2|(|1+0#e000002&| +0#0000000&|!|=| 
|1+0#e000002&|)+0#0000000&|,| @42
+@8|h|e|a|d| |=| |@+0#e000e06&|T|a|g|(|v+0#0000000&|a|l|u|e| |=| 
|"+0#e000002&|@|L|a|b|e|l|"|)+0#e000e06&|,+0#0000000&| @36
+@8|t|e|x|t| |=| |@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|}|)|"|,+0#0000000&| |"+0#e000002&|(|{|"| 
+0#0000000&|}+0#00e0e07&|)+0#e000e06&@1| +0#0000000&@37
+@57|5@1|,|8|-|2|9| @6|8|3|%| 
diff --git a/runtime/syntax/testdir/dumps/java_annotations_04.dump 
b/runtime/syntax/testdir/dumps/java_annotations_04.dump
new file mode 100644
index 000000000..b5661d6b0
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/java_annotations_04.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@7|t|e|x|t| |=| |@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|}|)|"|,+0#0000000&| |"+0#e000002&|(|{|"| 
+0#0000000&|}+0#00e0e07&|)+0#e000e06&@1| +0#0000000&@37
+| +0#00e0e07&@3|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|n|o|O|p|(|@+0#e000e06&|L|a|b|e|l| 
+0#00e0e07&|@+0#e000e06&|L|a|b|e|l|(|)| 
+0#00e0e07&|@+0#e000e06&|L|a|b|e|l|(|"+0#e000002&|d|u|m@1|y|"|)+0#e000e06&| 
+0#0000000&@22
+| +0#00e0e07&@7|@+0#e000e06&|L|a|b|e|l|(|h+0#00e0e07&|e|a|d| |=| 
|@+0#e000e06&|T|a|g|(|/+0#0000e05&|*|v|a|l|u|e| |=| |"|@|L|a|b|e|l|"|,|*|/| 
+0#00e0e07&|k|i|n|d| |=| |"+0#e000002&|n|a|m|e|"|)+0#e000e06&@1| +0#0000000&@10
+| +0#00e0e07&@7|@+0#e000e06&|L|a|b|e|l|(|/+0#0000e05&@1| |v|a|l|u|e| |=| 
|"|P|a|r|a|m|e|t|e|r|"|,| +0#0000000&@36
+| +0#00e0e07&@11|t|y|p|e| |=| 
|A|n@1|o|t|a|t|i|o|n|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|,+0#00e0e07&| 
+0#0000000&@32
+| +0#00e0e07&@11>h|e|a|d| |=| |@+0#e000e06&|T|a|g|(|v+0#00e0e07&|a|l|u|e| |=| 
|"+0#e000002&|@|L|a|b|e|l|"|)+0#e000e06&|,+0#00e0e07&| +0#0000000&@32
+| +0#00e0e07&@11|t|e|x|t| |=| |@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
|"+0#e000002&|)|{|"|,+0#00e0e07&| |"+0#e000002&|}|(|"| 
+0#00e0e07&|}|)+0#e000e06&@1| +0#0000000&@33
+| +0#00e0e07&@7|O|b|j|e|c|t| |d|u|m@1|y|)| +0#0000000&@53
+@4|{+0#00e0e07&| +0#0000000&@69
+@4|}+0#00e0e07&| +0#0000000&@69
+|}+0#00e0e07&| +0#0000000&@73
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|7|3|,|4|-|1|3| @6|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/java_annotations_99.dump 
b/runtime/syntax/testdir/dumps/java_annotations_99.dump
new file mode 100644
index 000000000..c9ad106d1
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/java_annotations_99.dump
@@ -0,0 +1,20 @@
+| +0#e000002#ffffff0@3|o|\| +0#0000000&@68
+| +0#e000002&@3|O|\| +0#0000000&@68
+| +0#e000002&@3|p|"+0#0000000&@2|)+0#e000e06&| +0#0000000&@65
+@4|@+0#e000e06&|L|a|b|e|l|(|h+0#0000000&|e|a|d| |=| 
|@+0#e000e06&|T|a|g|(|v+0#0000000&|a|l|u|e| |=| 
|"+0#e000002&|@|L|a|b|e|l|"|/+0#0000e05&|*|,| |k|i|n|d| |=| 
|"|n|a|m|e|"|*|/|)+0#e000e06&@1| +0#0000000&@14
+@4|@+0#e000e06&|L|a|b|e|l|(|/+0#0000e05&@1| |v|a|l|u|e| |=| 
|"|M|e|t|h|o|d|"|,| +0#0000000&@43
+@8|t|y|p|e| |=| 
|A|n@1|o|t|a|t|i|o|n|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|,+0#0000000&| @36
+@8|r|e|d|u|n|d|a|n|t| |=| |!@2|(|1+0#e000002&| +0#0000000&|!|=| 
|1+0#e000002&|)+0#0000000&|,| @42
+@8|h|e|a|d| |=| |@+0#e000e06&|T|a|g|(|v+0#0000000&|a|l|u|e| |=| 
|"+0#e000002&|@|L|a|b|e|l|"|)+0#e000e06&|,+0#0000000&| @36
+@8|t|e|x|t| |=| |@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
+0#0000000&|"+0#e000002&|}|)|"|,+0#0000000&| |"+0#e000002&|(|{|"| 
+0#0000000&|}+0#00e0e07&|)+0#e000e06&@1| +0#0000000&@37
+| +0#00e0e07&@3|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|n|o|O|p|(|@+0#e000e06&|L|a|b|e|l| 
+0#00e0e07&|@+0#e000e06&|L|a|b|e|l|(|)| 
+0#00e0e07&|@+0#e000e06&|L|a|b|e|l|(|"+0#e000002&|d|u|m@1|y|"|)+0#e000e06&| 
+0#0000000&@22
+| +0#00e0e07&@7|@+0#e000e06&|L|a|b|e|l|(|h+0#00e0e07&|e|a|d| |=| 
|@+0#e000e06&|T|a|g|(|/+0#0000e05&|*|v|a|l|u|e| |=| |"|@|L|a|b|e|l|"|,|*|/| 
+0#00e0e07&|k|i|n|d| |=| |"+0#e000002&|n|a|m|e|"|)+0#e000e06&@1| +0#0000000&@10
+| +0#00e0e07&@7|@+0#e000e06&|L|a|b|e|l|(|/+0#0000e05&@1| |v|a|l|u|e| |=| 
|"|P|a|r|a|m|e|t|e|r|"|,| +0#0000000&@36
+| +0#00e0e07&@11|t|y|p|e| |=| 
|A|n@1|o|t|a|t|i|o|n|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|,+0#00e0e07&| 
+0#0000000&@32
+| +0#00e0e07&@11|h|e|a|d| |=| |@+0#e000e06&|T|a|g|(|v+0#00e0e07&|a|l|u|e| |=| 
|"+0#e000002&|@|L|a|b|e|l|"|)+0#e000e06&|,+0#00e0e07&| +0#0000000&@32
+| +0#00e0e07&@11|t|e|x|t| |=| |@+0#e000e06&|T|e|x|t|(|{+0#00e0e07&| 
|"+0#e000002&|)|{|"|,+0#00e0e07&| |"+0#e000002&|}|(|"| 
+0#00e0e07&|}|)+0#e000e06&@1| +0#0000000&@33
+| +0#00e0e07&@7|O|b|j|e|c|t| |d|u|m@1|y|)| +0#0000000&@53
+@4|{+0#00e0e07&| +0#0000000&@69
+@4|}+0#00e0e07&| +0#0000000&@69
+>}+0#00e0e07&| +0#0000000&@73
+@57|7|8|,|1| @9|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/java_lambda_expressions_04.dump 
b/runtime/syntax/testdir/dumps/java_lambda_expressions_04.dump
index d5b1262fd..0ccd9f668 100644
--- a/runtime/syntax/testdir/dumps/java_lambda_expressions_04.dump
+++ b/runtime/syntax/testdir/dumps/java_lambda_expressions_04.dump
@@ -1,6 +1,6 @@
 | +0&#ffffff0@7|B|i|n|a|r|y|O|p|e|r|a|t|o|r|<|I|1|>| |l|e|f|t|C|o|n|s|t| |=| 
|(+0#00e0e07&|x|,| |y|)| |-|>| +0#0000000&|x|;| @23
 @8|I|<|I|1|>| |i|d|1| |=| |(+0#00e0e07&|x|)| |-|>| +0#0000000&|(|x|)|;| @43
-@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|u|n|c|h|e|c|k|e|d|"|)+0#0000000&|
 |I|<|I|1|>| |i|d|2| |=| @24
+@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|u|n|c|h|e|c|k|e|d|"|)+0#e000e06&|
 +0#0000000&|I|<|I|1|>| |i|d|2| |=| @24
 @16|(@1|I|<|I|<|I|1|>@1|)| |(|I|<|?|>|)| |(|F|u|n|c|t|i|o|n|<|I|1|,| @26
 @20|I|1|>| |x|)| |-|>| |x|)|.|a|p@1|l|y|(|s+0#af5f00255&|w|i|t|c|h| 
+0#0000000&|(|0+0#e000002&|)+0#0000000&| |{+0#00e0e07&| +0#0000000&@23
 @16>c+0#af5f00255&|a|s|e| +0#0000000&|(@1|i+0#00e0003&|n|t|)+0#0000000&| 
|(|b+0#00e0003&|y|t|e|)+0#0000000&| |1+0#e000002&|)+0#0000000&| |-|>| 
|(+0#00e0e07&|I|1| |x|)| |-|>| +0#0000000&|x|;| @21
@@ -15,6 +15,6 @@
 @8|}+0#00e0e07&|;+0#0000000&| @64
 @4|}+0#00e0e07&| +0#0000000&@69
 @75
-@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|(+0#0000000&|E|l|e|m|e|n|t|T|y|p|e|.|P|A|R|A|M|E|T|E|R|)|
 @19
-@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(+0#0000000&|T|a|g@1|a|b|l|e|s|.|c+0#00e0003&|l|a|s@1|)+0#0000000&|
 @21
+@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|(|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|P|A|R|A|M|E|T|E|R|)+0#e000e06&|
 +0#0000000&@19
+@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|T+0#0000000&|a|g@1|a|b|l|e|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@21
 @57|7|3|,|5|-|1|7| @6|4|9|%| 
diff --git a/runtime/syntax/testdir/dumps/java_lambda_expressions_05.dump 
b/runtime/syntax/testdir/dumps/java_lambda_expressions_05.dump
index 496d4c591..aed7418a9 100644
--- a/runtime/syntax/testdir/dumps/java_lambda_expressions_05.dump
+++ b/runtime/syntax/testdir/dumps/java_lambda_expressions_05.dump
@@ -1,7 +1,7 @@
-| 
+0&#ffffff0@3|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(+0#0000000&|T|a|g@1|a|b|l|e|s|.|c+0#00e0003&|l|a|s@1|)+0#0000000&|
 @21
+| 
+0&#ffffff0@3|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|T+0#0000000&|a|g@1|a|b|l|e|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@21
 @4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|a|g@1|a|b|l|e| |{+0#00e0e07&| 
+0#0000000&|S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| |d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|"+0#e000002&@1|;+0#0000000&| |}+0#00e0e07&| +0#0000000&@18
 @75
-@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|(+0#0000000&|E|l|e|m|e|n|t|T|y|p|e|.|P|A|R|A|M|E|T|E|R|)|
 @19
+@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|T|a|r|g|e|t|(|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|P|A|R|A|M|E|T|E|R|)+0#e000e06&|
 +0#0000000&@19
 @4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|a|g@1|a|b|l|e|s| 
|{+0#00e0e07&| +0#0000000&|T|a|g@1|a|b|l|e|[|]| |v|a|l|u|e|(|)|;| 
|}+0#00e0e07&| +0#0000000&@26
 > @74
 @4|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|I|<|A|1|>| 
|e+0#00e0003&|x|t|e|n|d|s| +0#0000000&|F|u|n|c|t|i|o|n|<|A|1|,| |A|1|>| 
|{+0#00e0e07&| +0#0000000&|}+0#00e0e07&| +0#0000000&@26
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent2_01.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent2_01.dump
index 09169e653..bf01fac3b 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent2_01.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent2_01.dump
@@ -4,14 +4,14 @@
 @4|p+0#00e0003&|r|i|v|a|t|e| +0#0000000&|E|(|S|t|r|i|n|g| |s|)| |{+0#00e0e07&| 
+0#0000000&|t+0#00e0003&|h|i|s|.+0#0000000&|s| |=| |s|;| |}+0#00e0e07&| 
+0#0000000&@35
 @2|}+0#00e0e07&| +0#0000000&@71
 > @74
-@2|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @18
-@2|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(+0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#0000000&|
 @23
+@2|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@18
+@2|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|T+0#0000000&|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@23
 @2|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ| @53
 @2|{+0#00e0e07&| +0#0000000&@71
 @4|S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| |d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|"+0#e000002&@1|;+0#0000000&| @42
 @2|}+0#00e0e07&| +0#0000000&@71
 @75
-@2|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @18
+@2|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@18
 @2|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s| @52
 @2|{+0#00e0e07&| +0#0000000&@71
 @4|T|ɐ|g@1|a|b|l|ɘ|[|]| |v|a|l|u|e|(|)|;| @51
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent2_03.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent2_03.dump
index 4999b85e3..73b0396f4 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent2_03.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent2_03.dump
@@ -1,7 +1,7 @@
 | +0#00e0e07#ffffff0@1|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|0|_|(|/+0#0000e05&@15| +0#0000000&@13
 | +0#00e0e07&@63|)|;+0#0000000&| @8
 | +0#00e0e07&@1|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>| 
|μ|ʭ@1|$|0|_|(| +0#0000000&@23
-| +0#00e0e07&@23|/+0#0000e05&|*| 
|T+0#0000001#ffff4012|O|D|O|:+0#0000e05#ffffff0| 
|@|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"|b|e|s|p|o|k|e|"|)|*|/| +0#00e0e07&|β| 
|b|)|;+0#0000000&| @5
+| 
+0#00e0e07&@31|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#00e0e07&|β| |b|)|;+0#0000000&| @8
 @75
 | +0#00e0e07&@1>@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|1|_|(|/+0#0000e05&|*|/@10|/+0#ffffff16#ff404010|*+0#0000e05#ffffff0|/|)+0#00e0e07&|;+0#0000000&|
 @15
 | +0#00e0e07&@1|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|1|_|(| +0#0000000&@25
@@ -14,7 +14,7 @@
 | +0#00e0e07&@1|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]|[|]| |μ|ʭ@1|$|9|8|_|(| +0#0000000&@14
 | +0#00e0e07&@23|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)|;+0#0000000&| @5
 @75
-@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @43
+@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@43
 | +0#00e0e07&@1|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|9@1|_|(|)| +0#0000000&@11
 @2|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| |}+0#00e0e07&| 
+0#0000000&@56
 @57|5@1|,|3| @9|6|7|%| 
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent2_04.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent2_04.dump
index e8e086431..4a298155e 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent2_04.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent2_04.dump
@@ -1,6 +1,6 @@
 | +0&#ffffff0@1|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| 
|}+0#00e0e07&| +0#0000000&@56
 @75
-@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @43
+@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@43
 | +0#00e0e07&@1|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|9@1|_|(| +0#0000000&@4
 | +0#00e0e07&@23|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)| +0#0000000&@6
 @2>{+0#00e0e07&| +0#0000000&@71
@@ -10,11 +10,11 @@
 @75
 | +0#00e0e07&@1|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|I|n|d|e|n|t|2|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|;+0#0000000&|
 |}+0#00e0e07&| +0#0000000&
 @75
-@2|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @37
+@2|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@37
 | +0#00e0e07&@1|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|I|n|d|e|n|t|2|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| 
|}+0#00e0e07&| +0#0000000&@5
 |}+0#00e0e07&| +0#0000000&@73
 @75
 |e+0#00e0003&|n|u|m| +0#0000000&|E|2| @67
 |{+0#00e0e07&| +0#0000000&@73
-@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#0000000&|
 |A|(|"+0#e000002&|a|"|)+0#0000000&|,| @36
+@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#0000000&|A|(|"+0#e000002&|a|"|)+0#0000000&|,| @36
 @57|7|3|,|3| @9|9|1|%| 
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent2_99.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent2_99.dump
index fe2e508fd..73c5a9eab 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent2_99.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent2_99.dump
@@ -4,13 +4,13 @@
 @75
 | +0#00e0e07&@1|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|I|n|d|e|n|t|2|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|;+0#0000000&|
 |}+0#00e0e07&| +0#0000000&
 @75
-@2|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @37
+@2|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@37
 | +0#00e0e07&@1|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|I|n|d|e|n|t|2|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| 
|}+0#00e0e07&| +0#0000000&@5
 |}+0#00e0e07&| +0#0000000&@73
 @75
 |e+0#00e0003&|n|u|m| +0#0000000&|E|2| @67
 |{+0#00e0e07&| +0#0000000&@73
-@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#0000000&|
 |A|(|"+0#e000002&|a|"|)+0#0000000&|,| @36
+@2|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#0000000&|A|(|"+0#e000002&|a|"|)+0#0000000&|,| @36
 @2|B|(|"+0#e000002&|b|"|)+0#0000000&|,| @65
 @2|C|(|"+0#e000002&|c|"|)+0#0000000&|,| |D|(|"+0#e000002&|d|"|)+0#0000000&|,| 
@57
 @2|E|(|"+0#e000002&|e|"|)+0#0000000&|,| |F|(|"+0#e000002&|f|"|)+0#0000000&|,| 
|G|(|"+0#e000002&|g|"|)+0#0000000&|,| |H|(|"+0#e000002&|h|"|)+0#0000000&|;| @41
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent4_01.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent4_01.dump
index d633df758..a3f3ee8d1 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent4_01.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent4_01.dump
@@ -4,14 +4,14 @@
 @8|p+0#00e0003&|r|i|v|a|t|e| +0#0000000&|E|(|S|t|r|i|n|g| |s|)| |{+0#00e0e07&| 
+0#0000000&|t+0#00e0003&|h|i|s|.+0#0000000&|s| |=| |s|;| |}+0#00e0e07&| 
+0#0000000&@31
 @4|}+0#00e0e07&| +0#0000000&@69
 > @74
-@4|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @16
-@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(+0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#0000000&|
 @21
+@4|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@16
+@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|T+0#0000000&|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@21
 @4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ| @51
 @4|{+0#00e0e07&| +0#0000000&@69
 @8|S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| |d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|"+0#e000002&@1|;+0#0000000&| @38
 @4|}+0#00e0e07&| +0#0000000&@69
 @75
-@4|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @16
+@4|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@16
 @4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s| @50
 @4|{+0#00e0e07&| +0#0000000&@69
 @8|T|ɐ|g@1|a|b|l|ɘ|[|]| |v|a|l|u|e|(|)|;| @47
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent4_03.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent4_03.dump
index d26b68c15..ef6f67cf1 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent4_03.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent4_03.dump
@@ -1,7 +1,7 @@
 | +0#00e0e07#ffffff0@3|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|0|_|(|/+0#0000e05&@15| +0#0000000&@11
 | +0#00e0e07&@63|)|;+0#0000000&| @8
 | +0#00e0e07&@3|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>| 
|μ|ʭ@1|$|0|_|(| +0#0000000&@21
-| +0#00e0e07&@23|/+0#0000e05&|*| 
|T+0#0000001#ffff4012|O|D|O|:+0#0000e05#ffffff0| 
|@|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"|b|e|s|p|o|k|e|"|)|*|/| +0#00e0e07&|β| 
|b|)|;+0#0000000&| @5
+| 
+0#00e0e07&@31|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#00e0e07&|β| |b|)|;+0#0000000&| @8
 @75
 | +0#00e0e07&@3>@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|1|_|(|/+0#0000e05&|*|/@10|/+0#ffffff16#ff404010|*+0#0000e05#ffffff0|/|)+0#00e0e07&|;+0#0000000&|
 @13
 | +0#00e0e07&@3|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|1|_|(| +0#0000000&@23
@@ -14,7 +14,7 @@
 | +0#00e0e07&@3|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]|[|]| |μ|ʭ@1|$|9|8|_|(| +0#0000000&@12
 | +0#00e0e07&@23|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)|;+0#0000000&| @5
 @75
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @41
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@41
 | +0#00e0e07&@3|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|9@1|_|(|)| +0#0000000&@9
 @4|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| |}+0#00e0e07&| 
+0#0000000&@54
 @57|5@1|,|5| @9|6|7|%| 
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent4_04.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent4_04.dump
index 2893ca9c4..e6e8263c1 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent4_04.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent4_04.dump
@@ -1,6 +1,6 @@
 | +0&#ffffff0@3|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| 
|}+0#00e0e07&| +0#0000000&@54
 @75
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @41
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@41
 | +0#00e0e07&@3|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|9@1|_|(| +0#0000000&@2
 | +0#00e0e07&@23|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)| +0#0000000&@6
 @4>{+0#00e0e07&| +0#0000000&@69
@@ -11,7 +11,7 @@
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|I|n|d|e|n|t|4|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|;+0#0000000&|
 
 |}+0#00e0e07&| +0#0000000&@73
 @75
-@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @35
+@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@35
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|I|n|d|e|n|t|4|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| 
|}+0#00e0e07&| +0#0000000&@3
 |}+0#00e0e07&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent4_99.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent4_99.dump
index 5c18b9464..b24634ab4 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent4_99.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent4_99.dump
@@ -4,13 +4,13 @@
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|I|n|d|e|n|t|4|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|;+0#0000000&|
 
 |}+0#00e0e07&| +0#0000000&@73
 @75
-@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @35
+@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@35
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|I|n|d|e|n|t|4|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| 
|}+0#00e0e07&| +0#0000000&@3
 |}+0#00e0e07&| +0#0000000&@73
 @75
 |e+0#00e0003&|n|u|m| +0#0000000&|E|4| @67
 |{+0#00e0e07&| +0#0000000&@73
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#0000000&|
 |A|(|"+0#e000002&|a|"|)+0#0000000&|,| @34
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#0000000&|A|(|"+0#e000002&|a|"|)+0#0000000&|,| @34
 @4|B|(|"+0#e000002&|b|"|)+0#0000000&|,| @63
 @4|C|(|"+0#e000002&|c|"|)+0#0000000&|,| |D|(|"+0#e000002&|d|"|)+0#0000000&|,| 
@55
 @4|E|(|"+0#e000002&|e|"|)+0#0000000&|,| |F|(|"+0#e000002&|f|"|)+0#0000000&|,| 
|G|(|"+0#e000002&|g|"|)+0#0000000&|,| |H|(|"+0#e000002&|h|"|)+0#0000000&|;| @39
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent8_01.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent8_01.dump
index 506e120e9..b68b4a2a2 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent8_01.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent8_01.dump
@@ -4,14 +4,14 @@
 @16|p+0#00e0003&|r|i|v|a|t|e| +0#0000000&|E|(|S|t|r|i|n|g| |s|)| 
|{+0#00e0e07&| +0#0000000&|t+0#00e0003&|h|i|s|.+0#0000000&|s| |=| |s|;| 
|}+0#00e0e07&| +0#0000000&@23
 @8|}+0#00e0e07&| +0#0000000&@65
 > @74
-@8|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @12
-@8|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(+0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#0000000&|
 @17
+@8|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@12
+@8|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|T+0#0000000&|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@17
 @8|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ| @47
 @8|{+0#00e0e07&| +0#0000000&@65
 @16|S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| |d+0#4040ff13&|e|f|a|u|l|t| 
+0#0000000&|"+0#e000002&@1|;+0#0000000&| @30
 @8|}+0#00e0e07&| +0#0000000&@65
 @75
-@8|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @12
+@8|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@12
 @8|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s| @46
 @8|{+0#00e0e07&| +0#0000000&@65
 @16|T|ɐ|g@1|a|b|l|ɘ|[|]| |v|a|l|u|e|(|)|;| @39
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent8_03.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent8_03.dump
index 6ec768b46..e00d5fbd6 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent8_03.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent8_03.dump
@@ -1,7 +1,7 @@
 | +0#00e0e07#ffffff0@7|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|0|_|(|/+0#0000e05&@15| +0#0000000&@7
 | +0#00e0e07&@63|)|;+0#0000000&| @8
 | +0#00e0e07&@7|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>| 
|μ|ʭ@1|$|0|_|(| +0#0000000&@17
-| +0#00e0e07&@23|/+0#0000e05&|*| 
|T+0#0000001#ffff4012|O|D|O|:+0#0000e05#ffffff0| 
|@|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"|b|e|s|p|o|k|e|"|)|*|/| +0#00e0e07&|β| 
|b|)|;+0#0000000&| @5
+| 
+0#00e0e07&@31|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#00e0e07&|β| |b|)|;+0#0000000&| @8
 @75
 | +0#00e0e07&@7>@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|1|_|(|/+0#0000e05&|*|/@10|/+0#ffffff16#ff404010|*+0#0000e05#ffffff0|/|)+0#00e0e07&|;+0#0000000&|
 @9
 | +0#00e0e07&@7|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|1|_|(| +0#0000000&@19
@@ -14,7 +14,7 @@
 | +0#00e0e07&@7|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]|[|]| |μ|ʭ@1|$|9|8|_|(| +0#0000000&@8
 | +0#00e0e07&@23|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)|;+0#0000000&| @5
 @75
-@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @37
+@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@37
 | +0#00e0e07&@7|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|9@1|_|(|)| +0#0000000&@5
 @8|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| |}+0#00e0e07&| 
+0#0000000&@50
 @57|5@1|,|9| @9|6|7|%| 
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent8_04.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent8_04.dump
index 1eb5b8e50..bf20b8874 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent8_04.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent8_04.dump
@@ -1,5 +1,5 @@
 | +0&#ffffff0@74
-@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @37
+@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@37
 | +0#00e0e07&@7|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|9@1|_
 |(| +0#0000000&@73
 | +0#00e0e07&@23|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)| +0#0000000&@6
@@ -11,7 +11,7 @@
 | +0#00e0e07&@7|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|I|n|d|e|n|t|8|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a
 |s@1|;+0#0000000&| |}+0#00e0e07&| +0#0000000&@69
 @75
-@8|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @31
+@8|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@31
 | +0#00e0e07&@7|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|I|n|d|e|n|t|8|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| 
|}+0#00e0e07&
 @1| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/java_methods_indent8_99.dump 
b/runtime/syntax/testdir/dumps/java_methods_indent8_99.dump
index 864a3edcf..6a06bc8b5 100644
--- a/runtime/syntax/testdir/dumps/java_methods_indent8_99.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_indent8_99.dump
@@ -4,13 +4,13 @@
 | +0#00e0e07&@7|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|I|n|d|e|n|t|8|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a
 |s@1|;+0#0000000&| |}+0#00e0e07&| +0#0000000&@69
 @75
-@8|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @31
+@8|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@31
 | +0#00e0e07&@7|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|I|n|d|e|n|t|8|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| 
|}+0#00e0e07&
 @1| +0#0000000&@73
 @75
 |e+0#00e0003&|n|u|m| +0#0000000&|E|8| @67
 |{+0#00e0e07&| +0#0000000&@73
-@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#0000000&|
 |A|(|"+0#e000002&|a|"|)+0#0000000&|,| @30
+@8|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#0000000&|A|(|"+0#e000002&|a|"|)+0#0000000&|,| @30
 @8|B|(|"+0#e000002&|b|"|)+0#0000000&|,| @59
 @8|C|(|"+0#e000002&|c|"|)+0#0000000&|,| |D|(|"+0#e000002&|d|"|)+0#0000000&|,| 
@51
 @8|E|(|"+0#e000002&|e|"|)+0#0000000&|,| |F|(|"+0#e000002&|f|"|)+0#0000000&|,| 
|G|(|"+0#e000002&|g|"|)+0#0000000&|,| |H|(|"+0#e000002&|h|"|)+0#0000000&|;| @35
diff --git a/runtime/syntax/testdir/dumps/java_methods_style_01.dump 
b/runtime/syntax/testdir/dumps/java_methods_style_01.dump
index ddd2b1049..134c86962 100644
--- a/runtime/syntax/testdir/dumps/java_methods_style_01.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_style_01.dump
@@ -4,14 +4,14 @@
 @8|p+0#00e0003&|r|i|v|a|t|e| +0#0000000&|E|(|S|t|r|i|n|g| |s|)| |{+0#00e0e07&| 
+0#0000000&|t+0#00e0003&|h|i|s|.+0#0000000&|s| |=| |s|;| |}+0#00e0e07&| 
+0#0000000&@31
 @4|}+0#00e0e07&| +0#0000000&@69
 > @74
-@4|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @16
-@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(+0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#0000000&|
 @21
+@4|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@16
+@4|@+0#e000e06&|j|a|v|a|.|l|a|n|g|.|a|n@1|o|t|a|t|i|o|n|.|R|e|p|e|a|t|a|b|l|e|(|T+0#0000000&|ɐ|g@1|a|b|l|ɘ|s|.|c+0#00e0003&|l|a|s@1|)+0#e000e06&|
 +0#0000000&@21
 @4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ| @51
 @4|{+0#00e0e07&| +0#0000000&@69
 | +0#00e0e07&@7|S|t|r|i|n|g|[|]| |v|a|l|u|e|(|)| 
+0#0000000&|d+0#4040ff13&|e|f|a|u|l|t| +0#0000000&|"+0#e000002&@1|;+0#0000000&| 
@38
 @4|}+0#00e0e07&| +0#0000000&@69
 @75
-@4|@+0#e000e06&|T|a|r|g|e|t|(+0#0000000&|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#0000000&| @16
+@4|@+0#e000e06&|T|a|r|g|e|t|(|{+0#00e0e07&|E+0#0000000&|l|e|m|e|n|t|T|y|p|e|.|M|E|T|H|O|D|,|
 |E|l|e|m|e|n|t|T|y|p|e|.|C|O|N|S|T|R|U|C|T|O|R|}+0#00e0e07&|)+0#e000e06&| 
+0#0000000&@16
 @4|@+0#00e0003&|i|n|t|e|r|f|a|c|e| +0#0000000&|T|ɐ|g@1|a|b|l|ɘ|s| @50
 @4|{+0#00e0e07&| +0#0000000&@69
 | +0#00e0e07&@7|T|ɐ|g@1|a|b|l|ɘ|[|]| |v|a|l|u|e|(|)|;+0#0000000&| @47
diff --git a/runtime/syntax/testdir/dumps/java_methods_style_03.dump 
b/runtime/syntax/testdir/dumps/java_methods_style_03.dump
index 29b82d23e..381e5ba73 100644
--- a/runtime/syntax/testdir/dumps/java_methods_style_03.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_style_03.dump
@@ -1,7 +1,7 @@
 | +0#00e0e07#ffffff0@3|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|0|_|(|/+0#0000e05&@15| +0#0000000&@11
 | +0#00e0e07&@31|)|;+0#0000000&| @40
 | +0#00e0e07&@3|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|a+0#4040ff13&|b|s|t|r|a|c|t| +0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>| 
|μ|ʭ@1|$|0|_|(| +0#0000000&@21
-| +0#00e0e07&@11|/+0#0000e05&|*| 
|T+0#0000001#ffff4012|O|D|O|:+0#0000e05#ffffff0| 
|@|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"|b|e|s|p|o|k|e|"|)|*|/| +0#00e0e07&|β| 
|b|)|;+0#0000000&| @17
+| 
+0#00e0e07&@15|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|b|e|s|p|o|k|e|"|)+0#e000e06&|
 +0#00e0e07&|β| |b|)|;+0#0000000&| @24
 @75
 | +0#00e0e07&@3>@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|1|_|(|/+0#0000e05&|*|/@10|/+0#ffffff16#ff404010|*+0#0000e05#ffffff0|/|)+0#00e0e07&|;+0#0000000&|
 @13
 | +0#00e0e07&@3|@+0#e000e06&|T|ɐ|g@1|a|b|l|ɘ| 
+0#00e0e07&|p+0#00e0003&|r|i|v|a|t|e| +0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|<|α|,| |β|>| |Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|1|_|(| +0#0000000&@23
@@ -14,7 +14,7 @@
 | +0#00e0e07&@3|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|n+0#e000e06&|a|t|i|v|e| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]|[|]| |μ|ʭ@1|$|9|8|_|(| +0#0000000&@12
 | +0#00e0e07&@11|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)|;+0#0000000&| @17
 @75
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @41
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@41
 | +0#00e0e07&@3|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|9@1|_|(|)| +0#0000000&@9
 @4|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| |}+0#00e0e07&| 
+0#0000000&@54
 @57|5@1|,|2|-|5| @7|7@1|%| 
diff --git a/runtime/syntax/testdir/dumps/java_methods_style_04.dump 
b/runtime/syntax/testdir/dumps/java_methods_style_04.dump
index 67389f1d9..2b3c955a2 100644
--- a/runtime/syntax/testdir/dumps/java_methods_style_04.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_style_04.dump
@@ -1,6 +1,6 @@
 | +0&#ffffff0@3|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| 
|}+0#00e0e07&| +0#0000000&@54
 @75
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @41
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@41
 | +0#00e0e07&@3|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|9@1|_|(| +0#0000000&@2
 | +0#00e0e07&@11|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)| +0#0000000&@18
 @4>{+0#00e0e07&| +0#0000000&@69
@@ -10,7 +10,7 @@
 @75
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|S|t|y|l|e|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|;+0#0000000&|
 |}+0#00e0e07&| +0#0000000&
 @75
-@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @35
+@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@35
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|S|t|y|l|e|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| |}+0#00e0e07&| 
+0#0000000&@5
 |}+0#00e0e07&| +0#0000000&@73
 |~+0#4040ff13&| @73
diff --git a/runtime/syntax/testdir/dumps/java_methods_style_99.dump 
b/runtime/syntax/testdir/dumps/java_methods_style_99.dump
index 43e5376dd..92bbaf716 100644
--- a/runtime/syntax/testdir/dumps/java_methods_style_99.dump
+++ b/runtime/syntax/testdir/dumps/java_methods_style_99.dump
@@ -1,10 +1,10 @@
 | 
+0#00e0e07#ffffff0@11|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,|
 |Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)|;+0#0000000&| @17
 @75
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @41
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@41
 | +0#00e0e07&@3|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|v+0#00e0003&|o|i|d| 
+0#00e0e07&|a|s|c|i@1|$|9@1|_|(|)| +0#0000000&@9
 @4|{+0#00e0e07&| +0#0000000&|a|s|c|i@1|$|9|8|_|(|)|;| |}+0#00e0e07&| 
+0#0000000&@54
 @75
-@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#0000000&|
 @41
+@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|s|t|r|i|c|t|f|p|"|)+0#e000e06&|
 +0#0000000&@41
 | +0#00e0e07&@3|p+0#00e0003&|r|o|t|e|c|t|e|d| 
+0#00e0e07&|s+0#00e0003&|t|a|t|i|c| +0#00e0e07&|f+0#4040ff13&|i|n|a|l| 
+0#00e0e07&|s+0#00e0003&|y|n|c|h|r|o|n|i|z|e|d| 
+0#00e0e07&|s+0#00e0003&|t|r|i|c|t|f|p| +0#00e0e07&|<|α|,| |β|>| 
|Τ|ʬ|<|α|>|[|]| |μ|ʭ@1|$|9@1|_|(| +0#0000000&@2
 | +0#00e0e07&@11|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|β|,| 
|Τ|ʬ|<|α|>|[|]|[|]|>| |ƒ|)| +0#0000000&@18
 @4|{+0#00e0e07&| +0#0000000&@69
@@ -14,7 +14,7 @@
 @75
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|s+0#00e0003&|t|a|t|i|c| 
+0#00e0e07&|C|l|a|s@1|<|?|>| |c|l|a|s@1|L|o|c|k|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| 
+0#0000000&|S|t|y|l|e|M|e|t|h|o|d|s|T|e|s|t|s|.|c+0#00e0003&|l|a|s@1|;+0#0000000&|
 |}+0#00e0e07&| +0#0000000&
 @75
-@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(+0#0000000&|"+0#e000002&|c|a|s|t|"|)+0#0000000&|
 @35
+@4|@+0#e000e06&|O|v|e|r@1|i|d|e| 
+0#0000000&|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|"+0#e000002&|c|a|s|t|"|)+0#e000e06&|
 +0#0000000&@35
 | +0#00e0e07&@3|p+0#00e0003&|u|b|l|i|c| +0#00e0e07&|S|t|r|i|n|g| 
|t|o|S|t|r|i|n|g|(|)| +0#0000000&|{+0#00e0e07&| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|(|S|t|r|i|n|g|)| 
|"+0#e000002&|S|t|y|l|e|M|e|t|h|o|d|s|T|e|s|t|s|"|;+0#0000000&| |}+0#00e0e07&| 
+0#0000000&@5
 >}+0#00e0e07&| +0#0000000&@73
 @57|8|2|,|1| @9|B|o|t| 
diff --git a/runtime/syntax/testdir/input/java_annotations.java 
b/runtime/syntax/testdir/input/java_annotations.java
new file mode 100644
index 000000000..c5871c3c8
--- /dev/null
+++ b/runtime/syntax/testdir/input/java_annotations.java
@@ -0,0 +1,78 @@
+// VIM_TEST_SETUP let g:java_highlight_functions = 'style'
+
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+
+class AnnotationsTests
+{
+       @Target(ElementType.TYPE_USE)
+       @interface Tag
+       {
+               String value() default "";
+               String kind() default "";
+       }
+
+       @Target(ElementType.TYPE_USE)
+       @interface Text
+       {
+               String[] value() default {""};
+       }
+
+       @Target({
+               ElementType.METHOD,
+               ElementType.PARAMETER,
+               ElementType.TYPE,
+       })
+       @interface Labels
+       {
+               Label[] value();
+       }
+
+       @java.lang.annotation.Target({
+               java.lang.annotation.ElementType.METHOD,
+               java.lang.annotation.ElementType.PARAMETER,
+               java.lang.annotation.ElementType.TYPE,
+       })
+       @java.lang.annotation.Repeatable(Labels.class)
+       @interface Label
+       {
+               String value() default "";
+               Class<?> type() default Label.class;
+               boolean redundant() default true;
+               Text text() default @Text;
+               Tag head() default @Tag();
+               Tag tail() default @Tag(value = "", kind = "");
+       }
+
+       /* Use identity cast expressions to nest TYPE_USE annotations. */
+                                                               @Label(
+                                                       (@Text({
+               (@Text({ "a", "aa", "aaa", "aaaa", }) String) "as",
+               (@Text({ "b", "bb", "bbb", "bbbb", }) String) "bs",
+               (@Text({ "c", "cc", "ccc", "cccc", }) String) "cs",
+               (@Text({ "d", "dd", "ddd", "dddd", }) String) "ds",
+                                                       }) String) "abcd")
+       interface Primer { }
+
+       @Label @Label() @Label("""
+       n\
+       o\
+       O\
+       p""")
+       @Label(head = @Tag(value = "@Label"/*, kind = "name"*/))
+       @Label(// value = "Method",
+               type = AnnotationsTests.class,
+               redundant = !!!(1 != 1),
+               head = @Tag(value = "@Label"),
+               text = @Text({ "})", "({" }))
+       static void noOp(@Label @Label() @Label("dummy")
+               @Label(head = @Tag(/*value = "@Label",*/ kind = "name"))
+               @Label(// value = "Parameter",
+                       type = AnnotationsTests.class,
+                       head = @Tag(value = "@Label"),
+                       text = @Text({ "){", "}(" }))
+               Object dummy)
+       {
+       }
+}
diff --git a/runtime/syntax/testdir/input/java_methods_indent2.java 
b/runtime/syntax/testdir/input/java_methods_indent2.java
index 7e6d62c60..58a69009d 100644
--- a/runtime/syntax/testdir/input/java_methods_indent2.java
+++ b/runtime/syntax/testdir/input/java_methods_indent2.java
@@ -50,7 +50,7 @@ abstract class Indent2MethodsTests
   @Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
                                                                 );
   @Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
-                        /* TODO: @SuppressWarnings("bespoke")*/ β b);
+                                @SuppressWarnings("bespoke") β b);
 
   @Tɐggablɘ private native void ascii$1_(/*////////////*/);
   @Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(
diff --git a/runtime/syntax/testdir/input/java_methods_indent4.java 
b/runtime/syntax/testdir/input/java_methods_indent4.java
index b3d5db9df..972cdf355 100644
--- a/runtime/syntax/testdir/input/java_methods_indent4.java
+++ b/runtime/syntax/testdir/input/java_methods_indent4.java
@@ -50,7 +50,7 @@ abstract class Indent4MethodsTests
     @Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
                                                                 );
     @Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
-                        /* TODO: @SuppressWarnings("bespoke")*/ β b);
+                                @SuppressWarnings("bespoke") β b);
 
     @Tɐggablɘ private native void ascii$1_(/*////////////*/);
     @Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(
diff --git a/runtime/syntax/testdir/input/java_methods_indent8.java 
b/runtime/syntax/testdir/input/java_methods_indent8.java
index 74114b52b..40fd26b30 100644
--- a/runtime/syntax/testdir/input/java_methods_indent8.java
+++ b/runtime/syntax/testdir/input/java_methods_indent8.java
@@ -50,7 +50,7 @@ abstract class Indent8MethodsTests
         @Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
                                                                 );
         @Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
-                        /* TODO: @SuppressWarnings("bespoke")*/ β b);
+                                @SuppressWarnings("bespoke") β b);
 
         @Tɐggablɘ private native void ascii$1_(/*////////////*/);
         @Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(
diff --git a/runtime/syntax/testdir/input/java_methods_style.java 
b/runtime/syntax/testdir/input/java_methods_style.java
index abb00aac8..e2e7d3877 100644
--- a/runtime/syntax/testdir/input/java_methods_style.java
+++ b/runtime/syntax/testdir/input/java_methods_style.java
@@ -50,7 +50,7 @@ abstract class StyleMethodsTests
        @Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
                                                                );
        @Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
-                       /* TODO: @SuppressWarnings("bespoke")*/ β b);
+                               @SuppressWarnings("bespoke") β b);
 
        @Tɐggablɘ private native void ascii$1_(/*////////////*/);
        @Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1sHmdM-00Ag1X-QT%40256bit.org.

Raspunde prin e-mail lui