diff --git a/addons/cppcheckdata.py b/addons/cppcheckdata.py index d5097937f..4e067fc92 100755 --- a/addons/cppcheckdata.py +++ b/addons/cppcheckdata.py @@ -757,6 +757,25 @@ class CppcheckData: self.configurations.append(Configuration(cfgnode)) +# Get function arguments +def getArgumentsRecursive(tok, arguments): + if tok is None: + return + if tok.str == ',': + getArgumentsRecursive(tok.astOperand1, arguments) + getArgumentsRecursive(tok.astOperand2, arguments) + else: + arguments.append(tok) + + +def getArguments(ftok): + if (not ftok.isName) or (ftok.next is None) or ftok.next.str != '(': + return None + args = [] + getArgumentsRecursive(ftok.next.astOperand2, args) + return args + + def parsedump(filename): """ parse a cppcheck dump file