Skip to content

Commit c9e9898

Browse files
committed
Desugar type information in variable declaration array initialiser assignments.
1 parent 980aea5 commit c9e9898

File tree

1 file changed

+8
-2
lines changed
  • java-front/languages/Java-1.5/statements/trans

1 file changed

+8
-2
lines changed

java-front/languages/Java-1.5/statements/trans/desugar.str

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,18 @@ imports
88
rules
99

1010
desugar:
11-
LocalVarDecStm(LocalVarDec(m*, t, vardec*)) -> <map(desugar-localvardec(|m*, t))> vardec*
11+
LocalVarDecStm(LocalVarDec(m*, t, vardec*)) -> <map(desugar-localvardec(|m*, t); try(desugar-localvardec-array))> vardec*
1212

1313
desugar-localvardec(|m*, t):
1414
v -> LocalVarDec(m*, t, <try(desugar-vardec-arrayinit(|t))> v)
1515

1616
desugar-vardec-arrayinit(|type):
1717
VarDec(v, ArrayInit(init*)) -> VarDec(v, NewArrayInit(ty, [Dim()], ArrayInit(init*)))
1818
where
19-
ArrayType(ty) := type
19+
ArrayType(ty) := type
20+
21+
desugar-localvardec-array:
22+
LocalVarDec(m*, t, VarDec(ArrayVarDecId(v, dim), init)) -> LocalVarDec(m*, ArrayType(t), VarDec(v, init))
23+
24+
desugar-localvardec-array:
25+
LocalVarDec(m*, t, VarDec(ArrayVarDecId(v, dim))) -> LocalVarDec(m*, ArrayType(t), VarDec(v))

0 commit comments

Comments
 (0)