aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-08-08 18:35:16 +0200
committerSven Gothel <[email protected]>2023-08-08 18:35:16 +0200
commit33ffd1240a8d4f2cb4032ca2d111142e0f87beac (patch)
treef0d21c2af4e73f5f4989d187189e213043463610
parent4024bdaddd42580d02665b1b1655e7ce51fb28d5 (diff)
parent496df9c41332a0d606017f0df5ba08b02af0c992 (diff)
Merge remote-tracking branch 'Mathieu_Fery/1447-java-wildcard-parsing'
-rw-r--r--src/antlr/com/jogamp/gluegen/jgram/JavaParser.g8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g b/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g
index a4d8c72..85f24d3 100644
--- a/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g
+++ b/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g
@@ -266,7 +266,13 @@ typeSpec[boolean addImagNode]
// A class type specification is a class type with possible brackets afterwards
// (which would make it an array type).
classTypeSpec[boolean addImagNode]
- : identifier (LT gen:classTypeSpec[false] GT)? (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)*
+ : identifier (LT
+ (
+ classTypeSpec[false]
+ |
+ QUESTION ("extends" classTypeSpec[false] (BAND classTypeSpec[false])*)?
+ ) GT
+ )? (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)*
{
if ( addImagNode ) {
#classTypeSpec = #(#[TYPE,"TYPE"], #classTypeSpec);