| 131 | } |
| 132 | |
| 133 | DocStringParser::iter DocStringParser::parseDocTagParam(iter _pos, iter _end) |
| 134 | { |
| 135 | // find param name start |
| 136 | auto nameStartPos = skipWhitespace(_pos, _end); |
| 137 | if (nameStartPos == _end) |
| 138 | { |
| 139 | m_errorReporter.docstringParsingError(3335_error, m_node.location(), "No param name given"); |
| 140 | return _end; |
| 141 | } |
| 142 | auto nameEndPos = firstNonIdentifier(nameStartPos, _end); |
| 143 | auto paramName = std::string(nameStartPos, nameEndPos); |
| 144 | |
| 145 | auto descStartPos = skipWhitespace(nameEndPos, _end); |
| 146 | auto nlPos = find(descStartPos, _end, '\n'); |
| 147 | |
| 148 | if (descStartPos == nlPos) |
| 149 | { |
| 150 | m_errorReporter.docstringParsingError(9942_error, m_node.location(), "No description given for param " + paramName); |
| 151 | return _end; |
| 152 | } |
| 153 | |
| 154 | auto paramDesc = std::string(descStartPos, nlPos); |
| 155 | newTag("param"); |
| 156 | m_lastTag->paramName = paramName; |
| 157 | m_lastTag->content = paramDesc; |
| 158 | |
| 159 | return skipLineOrEOS(nlPos, _end); |
| 160 | } |
| 161 | |
| 162 | DocStringParser::iter DocStringParser::parseDocTag(iter _pos, iter _end, std::string const& _tag) |
| 163 | { |
nothing calls this directly
no test coverage detected