1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#include "PHPDocParam.h"
#include <wx/wxcrt.h>
#include <wx/tokenzr.h>
PHPDocParam::PHPDocParam(PHPSourceFile& sourceFile, const wxString& comment)
: m_sourceFile(sourceFile)
, m_comment(comment)
{
}
PHPDocParam::~PHPDocParam() {}
const PHPDocParam::Vec_t& PHPDocParam::Parse()
{
wxString sname;
wxString stype;
m_params.clear();
wxStringTokenizer tokenizer(m_comment, " \n\r", wxTOKEN_STRTOK);
while(tokenizer.HasMoreTokens()) {
wxString word = tokenizer.GetNextToken();
if(word == "@param") {
// Next word should be the type
if(!tokenizer.HasMoreTokens()) {
break;
}
stype = tokenizer.GetNextToken();
stype = m_sourceFile.MakeIdentifierAbsolute(stype);
// Next comes the name
if(!tokenizer.HasMoreTokens()) {
break;
}
sname = tokenizer.GetNextToken();
m_params.push_back(std::make_pair(sname, stype));
}
}
return m_params;
}
|