diff --git a/src/main/jastadd/RelAst.parser b/src/main/jastadd/RelAst.parser index 32236a483b646c518fd69c9fc383c9ec594bc09c..12a7044e722f07ebce04c83fb4f37dc0a3f15c13 100644 --- a/src/main/jastadd/RelAst.parser +++ b/src/main/jastadd/RelAst.parser @@ -40,13 +40,11 @@ ArrayList inner_type_use ; TypeUse type_use = -// s_type_use.u {: return u; :} -// | parameterized_type_use.p {: return p; :} | inner_type_use.p {: return new SimpleTypeUse((String)p.stream().map( x -> ((Symbol)x).value.toString()).collect(java.util.stream.Collectors.joining("."))); :} ; ParameterizedTypeUse parameterized_type_use = - ID LT type_use_list.l GT {: return new ParameterizedTypeUse(ID, l); :} + inner_type_use.i LT type_use_list.l GT {: return new ParameterizedTypeUse((String)i.stream().map( x -> ((Symbol)x).value.toString()).collect(java.util.stream.Collectors.joining(".")), l); :} ; List type_use_list = type_use.u {: return new List().add(u); :} diff --git a/src/test/jastadd/relations/Relations.relast b/src/test/jastadd/relations/Relations.relast index 498e4fcf2553c37020ae9b53e64b3cd0f5703fb7..12f132e5e58968baff38120d79fde1090151acf8 100644 --- a/src/test/jastadd/relations/Relations.relast +++ b/src/test/jastadd/relations/Relations.relast @@ -50,6 +50,7 @@ D ::= SingleA:A ListOfA:A* [OptionalA:A] /NTAA:A/ ; // production with tokens, nonterminal-tokens, multi-line E ::= <T1> <T2:String> <T3:boolean> <T4:int> <T5:float> <T6:double> <T7:long> + <T8:java.lang.Object> <T9:ArrayList<String>> <T10:java.util.ArrayList<java.lang.String>> /<NT2:String>/ /<NT3:boolean>/ /<NT4:int>/ /<NT5:float>/ /<NT6:double>/ /<NT7:long>/ ; rel E.NT1 -> A ;