126
126
(* ------------------------------------------------------------------------- *)
129
| (Ident (_) | Constant _ | FunCall (_,_) | CondExpr (_,_,_)
129
| (Ident (_) | Constant _ | FunCall (_,_) | CondExpr (_,_,_)
132
132
| Postfix (_,_) | Infix (_,_) | Unary (_,_) | Binary (_,_,_)
133
133
| ArrayAccess (_,_) | RecordAccess (_,_) | RecordPtAccess (_,_)
134
| SizeOfExpr (_) | SizeOfType (_) | Cast (_,_)
135
| StatementExpr (_) | Constructor
134
| SizeOfExpr (_) | SizeOfType (_) | Cast (_,_)
135
| StatementExpr (_) | Constructor
136
136
| ParenExpr (_) | MacroCall (_) | MacroCall2 (_)
139
| ( Labeled (Label (_,_)) | Labeled (Case (_,_))
139
| ( Labeled (Label (_,_)) | Labeled (Case (_,_))
140
140
| Labeled (CaseRange (_,_,_)) | Labeled (Default _)
141
| Compound _ | ExprStatement _
141
| Compound _ | ExprStatement _
142
142
| Selection (If (_, _, _)) | Selection (Switch (_, _))
143
| Iteration (While (_, _)) | Iteration (DoWhile (_, _))
143
| Iteration (While (_, _)) | Iteration (DoWhile (_, _))
144
144
| Iteration (For ((_,_), (_,_), (_, _), _))
145
145
| Jump (Goto _) | Jump ((Continue|Break|Return)) | Jump (ReturnExpr _)
146
146
| Decl _ | Asm | Selection (IfCpp (_,_))
150
(* for control flow nodes
150
(* for control flow nodes
152
| ( F.ExprStatement (_, _)
152
| ( F.ExprStatement (_, _)
153
153
| F.IfHeader (_, _) | F.SwitchHeader (_, _)
154
| F.WhileHeader (_, _) | (* F.DoHeader (_, _) | *) F.DoWhileTail (_, _)
154
| F.WhileHeader (_, _) | (* F.DoHeader (_, _) | *) F.DoWhileTail (_, _)
155
155
| F.ForHeader (_, _)
156
156
| F.Return (_, _) | F.ReturnExpr (_, _)
157
157
(* no counter part in cocci *)
159
159
| F.Case (_,_) | (* F.CaseRange (_, _) | *) F.Default (_, _)
160
160
| F.Goto (_, _) | F.Continue (_, _) | F.Break (_, _)
161
161
) -> raise Impossible