| 48 | } |
| 49 | |
| 50 | vector<ExpressionPtr> sequenceToList ( Expression * arguments ) { |
| 51 | vector<ExpressionPtr> argList; |
| 52 | if (arguments == nullptr) { |
| 53 | return argList; |
| 54 | } |
| 55 | |
| 56 | ExpressionPtr arg = arguments; // `arguments` will be freed by smart ptr destructor |
| 57 | while ( arg->rtti_isSequence() ) { |
| 58 | auto pSeq = static_cast<ExprSequence*>(arg); |
| 59 | DAS_ASSERT(!pSeq->right->rtti_isSequence()); |
| 60 | argList.push_back(pSeq->right); |
| 61 | arg = pSeq->left; |
| 62 | } |
| 63 | argList.emplace_back(arg); |
| 64 | reverse(argList.begin(),argList.end()); |
| 65 | return argList; |
| 66 | } |
| 67 | |
| 68 | vector<ExpressionPtr> typesAndSequenceToList ( vector<Expression *> * declL, Expression * arguments ) { |
| 69 | vector<ExpressionPtr> args; |
no test coverage detected