File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -3170,6 +3170,10 @@ def _evaluate_stack(self, token=None):
3170
3170
elif self .nameStack [0 ] == "namespace" :
3171
3171
# Taken care of outside of here
3172
3172
pass
3173
+ elif len (self .nameStack ) == 2 and self .nameStack [0 ] == "extern" :
3174
+ debug_print ("trace extern" )
3175
+ self .stack = []
3176
+ self .stmtTokens = []
3173
3177
elif (
3174
3178
len (self .nameStack ) == 2 and self .nameStack [0 ] == "friend"
3175
3179
): # friend class declaration
Original file line number Diff line number Diff line change @@ -3545,5 +3545,39 @@ def test_nothing(self):
3545
3545
pass
3546
3546
3547
3547
3548
+ class ExternInline_TestCase (unittest .TestCase ):
3549
+ def setUp (self ):
3550
+ self .cppHeader = CppHeaderParser .CppHeader (
3551
+ """
3552
+ extern "C++" {
3553
+ inline HAL_Value HAL_GetSimValue(HAL_SimValueHandle handle) {
3554
+ HAL_Value v;
3555
+ return v;
3556
+ }
3557
+ } // extern "C++"
3558
+
3559
+ """ ,
3560
+ "string" ,
3561
+ )
3562
+
3563
+ def test_fn (self ):
3564
+ self .assertEqual (self .cppHeader .variables , [])
3565
+ self .assertEqual (len (self .cppHeader .functions ), 1 )
3566
+ fn = self .cppHeader .functions [0 ]
3567
+ self .assertEqual (fn ["name" ], "HAL_GetSimValue" )
3568
+ self .assertEqual (
3569
+ filter_pameters (fn ["parameters" ], ["namespace" , "raw_type" ]),
3570
+ [
3571
+ {
3572
+ "type" : "HAL_SimValueHandle" ,
3573
+ "name" : "handle" ,
3574
+ "desc" : None ,
3575
+ "namespace" : "" ,
3576
+ "raw_type" : "HAL_SimValueHandle" ,
3577
+ },
3578
+ ],
3579
+ )
3580
+
3581
+
3548
3582
if __name__ == "__main__" :
3549
3583
unittest .main ()
You can’t perform that action at this time.
0 commit comments