static bool parseTokenIntoIntegerLiteral(const Token& t, const Args& args, int& result){ if ((t.extendedType() == Token::INTEGER_TYPE) || (t.extendedType() == Token::HEX_INTEGER_TYPE)) { result = (int)t.number(); return true; } else { if (t.extendedType() == Token::SYMBOL_TYPE) { String macroValue; if (args.getMacro(t.string(), macroValue)) { TextInput ti(TextInput::FROM_STRING, macroValue); const Token& intToken = ti.read(); if ((intToken.extendedType() == Token::INTEGER_TYPE) || (intToken.extendedType() == Token::HEX_INTEGER_TYPE)) { result = (int)intToken.number(); return true; } } } } return false; }