MCPcopy Create free account
hub / github.com/argotorg/solidity / parseDocTagParam

Method parseDocTagParam

libsolidity/parsing/DocStringParser.cpp:133–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131}
132
133DocStringParser::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
162DocStringParser::iter DocStringParser::parseDocTag(iter _pos, iter _end, std::string const& _tag)
163{

Callers

nothing calls this directly

Calls 5

skipWhitespaceFunction · 0.85
firstNonIdentifierFunction · 0.85
skipLineOrEOSFunction · 0.85
docstringParsingErrorMethod · 0.80
locationMethod · 0.45

Tested by

no test coverage detected