File indexing completed on 2024-04-28 05:38:44
0001 #include <QtCore/QObject> 0002 #include <QtCore/QString> 0003 #include <QtCore/QEvent> 0004 #include <QtGui/QKeyEvent> 0005 0006 void test(QEvent *ev) 0007 { 0008 0009 switch (ev->type()) { 0010 case QEvent::MouseMove: { 0011 auto a = static_cast<QKeyEvent*>(ev); // Warn 0012 auto b = static_cast<QMouseEvent*>(ev); // OK 0013 break; 0014 } 0015 case QEvent::KeyPress: { 0016 auto a = static_cast<QKeyEvent*>(ev); // OK 0017 auto b = static_cast<QMouseEvent*>(ev); // Warn 0018 0019 int val = 0; 0020 switch (val) { // unrelated switch 0021 case 1000: { 0022 auto a = static_cast<QKeyEvent*>(ev); // OK 0023 auto b = static_cast<QMouseEvent*>(ev); // Warn 0024 } 0025 } 0026 break; 0027 } 0028 0029 case QEvent::Paint: 0030 case QEvent::MetaCall: { 0031 if (ev->type() == QEvent::Paint) 0032 auto pe = static_cast<QPaintEvent*>(ev); // OK 0033 break; 0034 } 0035 0036 default: 0037 break; 0038 } 0039 0040 0041 }