Skip to content
Snippets Groups Projects
Commit 4f0aa9ec authored by Johannes Mey's avatar Johannes Mey
Browse files

Merge branch '24-qualified-generic-token-types' into 'master'

Resolve "Qualified generic token types"

Closes #24

See merge request !11
parents b039bd79 85c97e42
No related branches found
No related tags found
1 merge request!11Resolve "Qualified generic token types"
Pipeline #5156 passed
...@@ -40,13 +40,11 @@ ArrayList inner_type_use ...@@ -40,13 +40,11 @@ ArrayList inner_type_use
; ;
TypeUse type_use = TypeUse type_use =
// s_type_use.u {: return u; :}
// |
parameterized_type_use.p {: return p; :} 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("."))); :} | 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 = 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 = List type_use_list =
type_use.u {: return new List().add(u); :} type_use.u {: return new List().add(u); :}
......
...@@ -50,6 +50,7 @@ D ::= SingleA:A ListOfA:A* [OptionalA:A] /NTAA:A/ ; ...@@ -50,6 +50,7 @@ D ::= SingleA:A ListOfA:A* [OptionalA:A] /NTAA:A/ ;
// production with tokens, nonterminal-tokens, multi-line // production with tokens, nonterminal-tokens, multi-line
E ::= <T1> <T2:String> <T3:boolean> <T4:int> <T5:float> <T6:double> <T7:long> 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>/ ; /<NT2:String>/ /<NT3:boolean>/ /<NT4:int>/ /<NT5:float>/ /<NT6:double>/ /<NT7:long>/ ;
rel E.NT1 -> A ; rel E.NT1 -> A ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment