| 102 | } |
| 103 | |
| 104 | static const Token* getContainerIndex(const Library::Container* container, const Token* parent) |
| 105 | { |
| 106 | if (Token::Match(parent, ". %name% (")) { |
| 107 | const Library::Container::Yield yield = container->getYield(parent->strAt(1)); |
| 108 | if (yield == Library::Container::Yield::AT_INDEX && !Token::simpleMatch(parent->tokAt(2), "( )")) |
| 109 | return parent->tokAt(2)->astOperand2(); |
| 110 | } |
| 111 | if (!container->arrayLike_indexOp && !container->stdStringLike) |
| 112 | return nullptr; |
| 113 | if (Token::simpleMatch(parent, "[")) |
| 114 | return parent->astOperand2(); |
| 115 | return nullptr; |
| 116 | } |
| 117 | |
| 118 | static const Token* getContainerFromSize(const Library::Container* container, const Token* tok) |
| 119 | { |
no test coverage detected