Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress..

This commit is contained in:
Edoardo Prezioso 2012-01-30 16:18:42 +01:00
parent 187c463475
commit 7c596a2b90
1 changed files with 15 additions and 15 deletions

View File

@ -1287,25 +1287,25 @@ void Tokenizer::simplifyTypedef()
} }
// function returning pointer to function // function returning pointer to function
else if (Token::Match(tok->tokAt(offset), "( * %type% (") && else if (Token::Match(tokOffset, "( * %type% (") &&
Token::simpleMatch(tok->linkAt(offset + 3), ") ) (") && Token::simpleMatch(tokOffset->linkAt(3), ") ) (") &&
Token::Match(tok->linkAt(offset + 3)->linkAt(2), ") ;|,")) { Token::Match(tokOffset->linkAt(3)->linkAt(2), ") ;|,")) {
functionRetFuncPtr = true; functionRetFuncPtr = true;
typeName = tok->tokAt(offset + 2); typeName = tokOffset->tokAt(2);
argStart = tok->tokAt(offset + 3); argStart = tokOffset->tokAt(3);
argEnd = tok->linkAt(offset + 3); argEnd = tokOffset->linkAt(3);
argFuncRetStart = argEnd->tokAt(2); argFuncRetStart = argEnd->tokAt(2);
argFuncRetEnd = argEnd->linkAt(2); argFuncRetEnd = argEnd->linkAt(2);
tok = argFuncRetEnd->next(); tok = argFuncRetEnd->next();
} else if (Token::Match(tok->tokAt(offset), "( * ( %type% ) (")) { } else if (Token::Match(tokOffset, "( * ( %type% ) (")) {
functionRetFuncPtr = true; functionRetFuncPtr = true;
typeName = tok->tokAt(offset + 3); typeName = tokOffset->tokAt(3);
argStart = tok->tokAt(offset + 5); argStart = tokOffset->tokAt(5);
argEnd = tok->linkAt(offset + 5); argEnd = tokOffset->linkAt(5);
argFuncRetStart = argEnd->tokAt(2); argFuncRetStart = argEnd->tokAt(2);
argFuncRetEnd = argEnd->linkAt(2); argFuncRetEnd = argEnd->linkAt(2);
@ -1314,11 +1314,11 @@ void Tokenizer::simplifyTypedef()
} }
// pointer/reference to array // pointer/reference to array
else if (Token::Match(tok->tokAt(offset), "( *|& %type% ) [")) { else if (Token::Match(tokOffset, "( *|& %type% ) [")) {
ptrToArray = (tok->strAt(offset + 1) == "*"); ptrToArray = (tokOffset->next()->str() == "*");
refToArray = (tok->strAt(offset + 1) == "&"); refToArray = (tokOffset->next()->str() == "&");
typeName = tok->tokAt(offset + 2); typeName = tokOffset->tokAt(2);
arrayStart = tok->tokAt(offset + 4); arrayStart = tokOffset->tokAt(4);
arrayEnd = arrayStart->link(); arrayEnd = arrayStart->link();
tok = arrayEnd->next(); tok = arrayEnd->next();
} }