212
212
grammar:
213
213
nested-name "final"[opt] (":" base-specifier-list)[opt]
214
214
base-specifier-list ->
215
- base-specifier
216
- | base-specifier-list, base-specifier
215
+ base-specifier "..."[opt]
216
+ | base-specifier-list, base-specifier "..."[opt]
217
217
base-specifier ->
218
218
base-type-specifier
219
219
| "virtual" access-spe"cifier[opt] base-type-specifier
@@ -1849,10 +1849,11 @@ def describe_signature(self, signode, mode, env, symbol):
1849
1849
1850
1850
1851
1851
class ASTBaseClass (ASTBase ):
1852
- def __init__ (self , name , visibility , virtual ):
1852
+ def __init__ (self , name , visibility , virtual , pack ):
1853
1853
self .name = name
1854
1854
self .visibility = visibility
1855
1855
self .virtual = virtual
1856
+ self .pack = pack
1856
1857
1857
1858
def __unicode__ (self ):
1858
1859
res = []
@@ -1862,6 +1863,8 @@ def __unicode__(self):
1862
1863
if self .virtual :
1863
1864
res .append ('virtual ' )
1864
1865
res .append (text_type (self .name ))
1866
+ if self .pack :
1867
+ res .append ('...' )
1865
1868
return u'' .join (res )
1866
1869
1867
1870
def describe_signature (self , signode , mode , env , symbol ):
@@ -1874,6 +1877,8 @@ def describe_signature(self, signode, mode, env, symbol):
1874
1877
signode += addnodes .desc_annotation ('virtual' , 'virtual' )
1875
1878
signode += nodes .Text (' ' )
1876
1879
self .name .describe_signature (signode , 'markType' , env , symbol = symbol )
1880
+ if self .pack :
1881
+ signode += nodes .Text ('...' )
1877
1882
1878
1883
1879
1884
class ASTClass (ASTBase ):
@@ -3025,6 +3030,7 @@ def _parse_class(self):
3025
3030
self .skip_ws ()
3026
3031
visibility = 'private'
3027
3032
virtual = False
3033
+ pack = False
3028
3034
if self .skip_word_and_ws ('virtual' ):
3029
3035
virtual = True
3030
3036
if self .match (_visibility_re ):
@@ -3033,7 +3039,9 @@ def _parse_class(self):
3033
3039
if not virtual and self .skip_word_and_ws ('virtual' ):
3034
3040
virtual = True
3035
3041
baseName = self ._parse_nested_name ()
3036
- bases .append (ASTBaseClass (baseName , visibility , virtual ))
3042
+ self .skip_ws ()
3043
+ pack = self .skip_string ('...' )
3044
+ bases .append (ASTBaseClass (baseName , visibility , virtual , pack ))
3037
3045
self .skip_ws ()
3038
3046
if self .skip_string (',' ):
3039
3047
continue
0 commit comments