From 85c97e42b19b1d555cedc5abd2bdff90e5ee26b1 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Thu, 16 Jan 2020 09:36:35 +0000
Subject: [PATCH] Resolve "Qualified generic token types"

---
 src/main/jastadd/RelAst.parser              | 4 +---
 src/test/jastadd/relations/Relations.relast | 1 +
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/main/jastadd/RelAst.parser b/src/main/jastadd/RelAst.parser
index 32236a4..12a7044 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 498e4fc..12f132e 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 ;
-- 
GitLab