@@ -3827,6 +3827,31 @@ void Tokenizer::dump(std::ostream &out) const
38273827 out << " <token id=\" " << tok << " \" file=\" " << toxml (list.file (tok)) << " \" linenr=\" " << tok->linenr () << ' \" ' ;
38283828 out << " str=\" " << toxml (tok->str ()) << ' \" ' ;
38293829 out << " scope=\" " << tok->scope () << ' \" ' ;
3830+ if (tok->isName ())
3831+ out << " type=\" name\" " ;
3832+ else if (tok->isNumber ()) {
3833+ out << " type=\" number\" " ;
3834+ if (MathLib::isInt (tok->str ()))
3835+ out << " isInt=\" True\" " ;
3836+ if (MathLib::isFloat (tok->str ()))
3837+ out << " isFloat=\" True\" " ;
3838+ } else if (tok->type () == Token::eString)
3839+ out << " type=\" string\" strlen=\" " << Token::getStrLength (tok) << ' \" ' ;
3840+ else if (tok->type () == Token::eChar)
3841+ out << " type=\" char\" " ;
3842+ else if (tok->isBoolean ())
3843+ out << " type=\" boolean\" " ;
3844+ else if (tok->isOp ()) {
3845+ out << " type=\" op\" " ;
3846+ if (tok->isArithmeticalOp ())
3847+ out << " isArithmeticalOp=\" True\" " ;
3848+ else if (tok->isAssignmentOp ())
3849+ out << " isAssignmentOp=\" True\" " ;
3850+ else if (tok->isComparisonOp ())
3851+ out << " isComparisonOp=\" True\" " ;
3852+ else if (tok->type () == Token::eLogicalOp)
3853+ out << " isLogicalOp=\" True\" " ;
3854+ }
38303855 if (tok->link ())
38313856 out << " link=\" " << tok->link () << ' \" ' ;
38323857 if (tok->varId () > 0U )
0 commit comments